mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
vim-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.
3ec3261980
This commit is contained in:
parent
b3dbc9d90b
commit
d050d6390d
@ -4231,6 +4231,7 @@ int do_addsub(int command, linenr_T Prenum1, bool g_cmd)
|
||||
int lnum = curwin->w_cursor.lnum;
|
||||
int lnume = curwin->w_cursor.lnum;
|
||||
int startcol;
|
||||
bool did_change = false;
|
||||
|
||||
dohex = (vim_strchr(curbuf->b_p_nf, 'x') != NULL); // "heX"
|
||||
dooct = (vim_strchr(curbuf->b_p_nf, 'o') != NULL); // "Octal"
|
||||
@ -4383,6 +4384,7 @@ int do_addsub(int command, linenr_T Prenum1, bool g_cmd)
|
||||
}
|
||||
}
|
||||
curwin->w_cursor.col = col;
|
||||
did_change = true;
|
||||
(void)del_char(false);
|
||||
ins_char(firstdigit);
|
||||
} else {
|
||||
@ -4443,6 +4445,7 @@ int do_addsub(int command, linenr_T Prenum1, bool g_cmd)
|
||||
|
||||
// Delete the old number.
|
||||
curwin->w_cursor.col = col;
|
||||
did_change = true;
|
||||
todel = length;
|
||||
c = gchar_cursor();
|
||||
|
||||
@ -4541,7 +4544,9 @@ int do_addsub(int command, linenr_T Prenum1, bool g_cmd)
|
||||
ptr = ml_get_buf(curbuf, curwin->w_cursor.lnum, true);
|
||||
RLADDSUBFIX(ptr);
|
||||
}
|
||||
curwin->w_cursor.col--;
|
||||
if (did_change && curwin->w_cursor.col > 0) {
|
||||
curwin->w_cursor.col--;
|
||||
}
|
||||
return OK;
|
||||
}
|
||||
|
||||
|
@ -355,7 +355,7 @@ static int included_patches[] = {
|
||||
// 782,
|
||||
781,
|
||||
// 780 NA
|
||||
// 779,
|
||||
779,
|
||||
778,
|
||||
// 777 NA
|
||||
776,
|
||||
|
Loading…
Reference in New Issue
Block a user