# HG changeset patch # User Bram Moolenaar # Date 1416399717 -3600 # Node ID 93560d4bca68e9086539c273c4e3f7e792fc1739 # Parent 10a119b05204330961dce6a2f306164b4a78fde8 updated for version 7.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) diff --git a/src/screen.c b/src/screen.c --- a/src/screen.c +++ b/src/screen.c @@ -4456,6 +4456,10 @@ win_line(wp, lnum, startrow, endrow, noc /* 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 --- 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,