changeset 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 e182a0753d74
children 8fa7167b26d7
files src/mark.c src/version.c
diffstat 2 files changed, 8 insertions(+), 0 deletions(-) [+]
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)
--- a/src/version.c
+++ b/src/version.c
@@ -726,6 +726,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    800,
+/**/
     799,
 /**/
     798,