summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2014-11-19 13:21:57 +0100
committerBram Moolenaar <Bram@vim.org>2014-11-19 13:21:57 +0100
commita365091dbb94e0daea5ea58d1facb1102868cca5 (patch)
tree81319f55769f23e667291bbd3bf29c708789e73a
parent1ba903fb921b0ebf2e3343a4fdc85fd4803d270c (diff)
updated for version 7.4.517v7.4.517
Problem: With a wrapping line the cursor may not end up in the right place. (Nazri Ramliy) Solution: Adjust n_extra for a Tab that wraps. (Christian Brabandt)
-rw-r--r--src/screen.c4
-rw-r--r--src/version.c2
2 files changed, 6 insertions, 0 deletions
diff --git a/src/screen.c b/src/screen.c
index 36afc2dcda..e11bdc3775 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -4456,6 +4456,10 @@ win_line(wp, lnum, startrow, endrow, nochange)
/* TODO: is passing p for start of the line OK? */
n_extra = win_lbr_chartabsize(wp, line, p, (colnr_T)vcol,
NULL) - 1;
+ if (c == TAB && n_extra + col > W_WIDTH(wp))
+ n_extra = (int)wp->w_buffer->b_p_ts
+ - vcol % (int)wp->w_buffer->b_p_ts - 1;
+
c_extra = ' ';
if (vim_iswhite(c))
{
diff --git a/src/version.c b/src/version.c
index 826679ef38..ae9fbad89d 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 517,
+/**/
516,
/**/
515,