diff src/mark.c @ 4092:c0cc0e0620dd v7.3.800

updated for version 7.3.800 Problem: The " mark is not adjusted when inserting lines. (Roland Eggner) Solution: Adjust the line number. (Christian Brabandt)
author Bram Moolenaar <bram@vim.org>
date Wed, 06 Feb 2013 12:33:21 +0100
parents 80b041b994d1
children cd971e951b06
line wrap: on
line diff
--- a/src/mark.c
+++ b/src/mark.c
@@ -1047,6 +1047,7 @@ mark_adjust(line1, line2, amount, amount
 #ifdef FEAT_WINDOWS
     tabpage_T	*tab;
 #endif
+    static pos_T initpos = INIT_POS_T(1, 0, 0);
 
     if (line2 < line1 && amount_after == 0L)	    /* nothing to do */
 	return;
@@ -1072,6 +1073,11 @@ mark_adjust(line1, line2, amount, amount
 	/* last change position */
 	one_adjust(&(curbuf->b_last_change.lnum));
 
+	/* last cursor position, if it was set */
+	if (!equalpos(curbuf->b_last_cursor, initpos))
+	    one_adjust(&(curbuf->b_last_cursor.lnum));
+
+
 #ifdef FEAT_JUMPLIST
 	/* list of change positions */
 	for (i = 0; i < curbuf->b_changelistlen; ++i)