summaryrefslogtreecommitdiff
path: root/src/move.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2008-07-13 17:41:49 +0000
committerBram Moolenaar <Bram@vim.org>2008-07-13 17:41:49 +0000
commitc236c16d0884c7d6cdc4dbaddb8cb3992085f83e (patch)
tree7d87344cdf07b6b9234abe26ccef39fbbee54f63 /src/move.c
parentb316376b4893ac3ae62f7f33c483b28b7fc147c0 (diff)
downloadvim-git-c236c16d0884c7d6cdc4dbaddb8cb3992085f83e.tar.gz
updated for version 7.2b-000v7.2b.000
Diffstat (limited to 'src/move.c')
-rw-r--r--src/move.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/move.c b/src/move.c
index f21f5e9f6..c547d9b0e 100644
--- a/src/move.c
+++ b/src/move.c
@@ -876,7 +876,7 @@ validate_cheight()
}
/*
- * validate w_wcol and w_virtcol only. Only correct when 'wrap' on!
+ * Validate w_wcol and w_virtcol only.
*/
void
validate_cursor_col()
@@ -892,13 +892,19 @@ validate_cursor_col()
col += off;
/* long line wrapping, adjust curwin->w_wrow */
- if (curwin->w_p_wrap && col >= (colnr_T)W_WIDTH(curwin)
+ if (curwin->w_p_wrap
+ && col >= (colnr_T)W_WIDTH(curwin)
&& W_WIDTH(curwin) - off + curwin_col_off2() > 0)
{
col -= W_WIDTH(curwin);
col = col % (W_WIDTH(curwin) - off + curwin_col_off2());
}
+ if (col > (int)curwin->w_leftcol)
+ col -= curwin->w_leftcol;
+ else
+ col = 0;
curwin->w_wcol = col;
+
curwin->w_valid |= VALID_WCOL;
}
}