0
0
mirror of https://github.com/vim/vim.git synced 2025-09-29 04:34:16 -04:00

patch 7.4.779

Problem:    Using CTRL-A in a line without a number moves the cursor. May
            cause a crash when at the start of the line. (Urtica Dioica)
Solution:   Do not move the cursor if no number was changed.
This commit is contained in:
Bram Moolenaar
2015-07-12 15:02:38 +02:00
parent ae2fe73abc
commit 3ec3261980
2 changed files with 7 additions and 1 deletions

View File

@@ -5404,6 +5404,7 @@ do_addsub(command, Prenum1, g_cmd)
int lnum = curwin->w_cursor.lnum;
int lnume = curwin->w_cursor.lnum;
int startcol;
int did_change = FALSE;
dohex = (vim_strchr(curbuf->b_p_nf, 'x') != NULL); /* "heX" */
dooct = (vim_strchr(curbuf->b_p_nf, 'o') != NULL); /* "Octal" */
@@ -5547,6 +5548,7 @@ do_addsub(command, Prenum1, g_cmd)
#endif
}
curwin->w_cursor.col = col;
did_change = TRUE;
(void)del_char(FALSE);
ins_char(firstdigit);
}
@@ -5619,6 +5621,7 @@ do_addsub(command, Prenum1, g_cmd)
* Delete the old number.
*/
curwin->w_cursor.col = col;
did_change = TRUE;
todel = length;
c = gchar_cursor();
@@ -5713,7 +5716,8 @@ do_addsub(command, Prenum1, g_cmd)
RLADDSUBFIX(ptr);
#endif
}
--curwin->w_cursor.col;
if (did_change && curwin->w_cursor.col > 0)
--curwin->w_cursor.col;
return OK;
}

View File

@@ -741,6 +741,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
779,
/**/
778,
/**/