summaryrefslogtreecommitdiff
path: root/src/move.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2012-03-28 14:19:50 +0200
committerBram Moolenaar <Bram@vim.org>2012-03-28 14:19:50 +0200
commit524780d69f4be69caad73a429665d0bfd9aa5ca7 (patch)
tree1c994c7356f2144df4c5949509d312704985bfcc /src/move.c
parent61d281a4c088db09ff82bfd7178216b0c0c31536 (diff)
downloadvim-524780d69f4be69caad73a429665d0bfd9aa5ca7.zip
updated for version 7.3.482
Problem: With 'cursorbind' set moving up/down does not always keep the same column. Solution: Set curswant appropriately. (Gary Johnson)
Diffstat (limited to 'src/move.c')
-rw-r--r--src/move.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/move.c b/src/move.c
index fb033933c..21a74b8ad 100644
--- a/src/move.c
+++ b/src/move.c
@@ -2847,6 +2847,8 @@ do_check_cursorbind()
# ifdef FEAT_VIRTUALEDIT
colnr_T coladd = curwin->w_cursor.coladd;
# endif
+ colnr_T curswant = curwin->w_curswant;
+ int set_curswant = curwin->w_set_curswant;
win_T *old_curwin = curwin;
buf_T *old_curbuf = curbuf;
int restart_edit_save;
@@ -2881,6 +2883,8 @@ do_check_cursorbind()
# ifdef FEAT_VIRTUALEDIT
curwin->w_cursor.coladd = coladd;
# endif
+ curwin->w_curswant = curswant;
+ curwin->w_set_curswant = set_curswant;
/* Make sure the cursor is in a valid position. Temporarily set
* "restart_edit" to allow the cursor to be beyond the EOL. */