diff options
-rw-r--r-- | src/nvim/ex_cmds.c | 4 | ||||
-rw-r--r-- | src/nvim/testdir/test_alot.vim | 1 | ||||
-rw-r--r-- | src/nvim/testdir/test_jumps.vim | 11 | ||||
-rw-r--r-- | src/nvim/version.c | 2 |
4 files changed, 15 insertions, 3 deletions
diff --git a/src/nvim/ex_cmds.c b/src/nvim/ex_cmds.c index 42af5989a1..73a1ab7723 100644 --- a/src/nvim/ex_cmds.c +++ b/src/nvim/ex_cmds.c @@ -2632,7 +2632,7 @@ void 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; @@ -2704,7 +2704,7 @@ void 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); xfree(theline); ++lnum; diff --git a/src/nvim/testdir/test_alot.vim b/src/nvim/testdir/test_alot.vim index 5da122c45d..818ff7cf54 100644 --- a/src/nvim/testdir/test_alot.vim +++ b/src/nvim/testdir/test_alot.vim @@ -9,6 +9,7 @@ source test_expr.vim source test_expr_utf8.vim source test_feedkeys.vim source test_goto.vim +source test_jumps.vim source test_match.vim source test_matchadd_conceal_utf8.vim source test_menu.vim diff --git a/src/nvim/testdir/test_jumps.vim b/src/nvim/testdir/test_jumps.vim new file mode 100644 index 0000000000..5a3717d165 --- /dev/null +++ b/src/nvim/testdir/test_jumps.vim @@ -0,0 +1,11 @@ +func Test_empty_buffer() + new + insert +a +b +c +d +. + call assert_equal(1, line("''")) + bwipe! +endfunc diff --git a/src/nvim/version.c b/src/nvim/version.c index ff77e29404..0921749eb5 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -470,7 +470,7 @@ static int included_patches[] = { 1973, // 1972, 1971, - // 1970, + 1970, // 1969 NA // 1968, 1967, |