changeset 3415:7f1bce9c9b79 v7.3.473

updated for version 7.3.473 Problem: 'cursorbind' does not work correctly in combination with 'virtualedit' set to "all". Solution: Copy coladd. (Gary Johnson)
author Bram Moolenaar <bram@vim.org>
date Fri, 16 Mar 2012 19:24:26 +0100
parents 7494fd72b91b
children 2d2eca5f8a8d
files src/move.c src/version.c
diffstat 2 files changed, 9 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/move.c
+++ b/src/move.c
@@ -2843,7 +2843,10 @@ halfpage(flag, Prenum)
 do_check_cursorbind()
 {
     linenr_T	line = curwin->w_cursor.lnum;
-    colnr_T	col =  curwin->w_cursor.col;
+    colnr_T	col = curwin->w_cursor.col;
+# ifdef FEAT_VIRTUALEDIT
+    colnr_T	coladd = curwin->w_cursor.coladd;
+# endif
     win_T	*old_curwin = curwin;
     buf_T	*old_curbuf = curbuf;
     int		restart_edit_save;
@@ -2875,6 +2878,9 @@ do_check_cursorbind()
 # endif
 		curwin->w_cursor.lnum = line;
 	    curwin->w_cursor.col = col;
+# ifdef FEAT_VIRTUALEDIT
+	    curwin->w_cursor.coladd = coladd;
+# endif
 
 	    /* Make sure the cursor is in a valid position.  Temporarily set
 	     * "restart_edit" to allow the cursor to be beyond the EOL. */
--- a/src/version.c
+++ b/src/version.c
@@ -715,6 +715,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    473,
+/**/
     472,
 /**/
     471,