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)
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index f58bad7..36d7bd1 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -4372,7 +4372,7 @@
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 @@
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;