patch 7.4.1970
Problem: Using ":insert" in an empty buffer sets the jump mark. (Ingo
Karkat)
Solution: Don't adjust marks when replacing the empty line in an empty
buffer. (closes #892)
This commit is contained in:
@ -4372,7 +4372,7 @@ ex_append(exarg_T *eap)
|
||||
if (eap->cmdidx != CMD_append)
|
||||
--lnum;
|
||||
|
||||
/* when the buffer is empty append to line 0 and delete the dummy line */
|
||||
/* when the buffer is empty need to delete the dummy line */
|
||||
if (empty && lnum == 1)
|
||||
lnum = 0;
|
||||
|
||||
@ -4456,7 +4456,7 @@ ex_append(exarg_T *eap)
|
||||
|
||||
did_undo = TRUE;
|
||||
ml_append(lnum, theline, (colnr_T)0, FALSE);
|
||||
appended_lines_mark(lnum, 1L);
|
||||
appended_lines_mark(lnum + (empty ? 1 : 0), 1L);
|
||||
|
||||
vim_free(theline);
|
||||
++lnum;
|
||||
|
||||
@ -16,6 +16,7 @@ source test_glob2regpat.vim
|
||||
source test_goto.vim
|
||||
source test_help_tagjump.vim
|
||||
source test_join.vim
|
||||
source test_jumps.vim
|
||||
source test_lispwords.vim
|
||||
source test_matchstrpos.vim
|
||||
source test_menu.vim
|
||||
|
||||
11
src/testdir/test_jumps.vim
Normal file
11
src/testdir/test_jumps.vim
Normal file
@ -0,0 +1,11 @@
|
||||
func Test_empty_buffer()
|
||||
new
|
||||
insert
|
||||
a
|
||||
b
|
||||
c
|
||||
d
|
||||
.
|
||||
call assert_equal(1, line("''"))
|
||||
bwipe!
|
||||
endfunc
|
||||
@ -753,6 +753,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1970,
|
||||
/**/
|
||||
1969,
|
||||
/**/
|
||||
|
||||
Reference in New Issue
Block a user