summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2014-07-30 16:44:22 +0200
committerBram Moolenaar <Bram@vim.org>2014-07-30 16:44:22 +0200
commitb81c85d8f35850ee8f377a2672c506131549f53c (patch)
tree662062b5da3017d7056c25a1f8b61ac94faa9fc1
parent4f5ce33d415a0eeedd7f04baa6715431e72652e1 (diff)
downloadvim-git-b81c85d8f35850ee8f377a2672c506131549f53c.tar.gz
updated for version 7.4.388v7.4.388
Problem: With 'linebreak' set and 'list' unset a Tab is not counted properly. (Kent Sibilev) Solution: Check the 'list' option. (Christian Brabandt)
-rw-r--r--src/screen.c2
-rw-r--r--src/testdir/test_listlbr_utf8.in11
-rw-r--r--src/testdir/test_listlbr_utf8.ok7
-rw-r--r--src/version.c2
4 files changed, 21 insertions, 1 deletions
diff --git a/src/screen.c b/src/screen.c
index abbd9112d..188b36f9c 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -4494,7 +4494,7 @@ win_line(wp, lnum, startrow, endrow, nochange)
tab_len = (int)wp->w_buffer->b_p_ts
- vcol % (int)wp->w_buffer->b_p_ts - 1;
#ifdef FEAT_LINEBREAK
- if (!wp->w_p_lbr)
+ if (!wp->w_p_lbr || !wp->w_p_list)
#endif
/* tab amount depends on current column */
n_extra = tab_len;
diff --git a/src/testdir/test_listlbr_utf8.in b/src/testdir/test_listlbr_utf8.in
index f8888d533..ba12adae0 100644
--- a/src/testdir/test_listlbr_utf8.in
+++ b/src/testdir/test_listlbr_utf8.in
@@ -30,11 +30,22 @@ STARTTEST
:redraw!
:let line=ScreenChar(winwidth(0))
:call DoRecordScreen()
+:"
:let g:test ="Test 2: set nolinebreak list"
:set list nolinebreak
:redraw!
:let line=ScreenChar(winwidth(0))
:call DoRecordScreen()
+:"
+:let g:test ="Test 3: set linebreak nolist"
+:$put =\"\t*mask = nil;\"
+:$
+:norm! zt
+:set nolist linebreak
+:redraw!
+:let line=ScreenChar(winwidth(0))
+:call DoRecordScreen()
+:"
:%w! test.out
:qa!
ENDTEST
diff --git a/src/testdir/test_listlbr_utf8.ok b/src/testdir/test_listlbr_utf8.ok
index 576ccfb40..634cf3906 100644
--- a/src/testdir/test_listlbr_utf8.ok
+++ b/src/testdir/test_listlbr_utf8.ok
@@ -12,3 +12,10 @@ Test 2: set nolinebreak list
+pqrstuvwxyz␣1060ABC
+DEFGHIJKLMNOPˑ¶
+ *mask = nil;
+
+Test 3: set linebreak nolist
+ *mask = nil;
+~
+~
+~
diff --git a/src/version.c b/src/version.c
index 33bcfbabd..d80a08aa6 100644
--- a/src/version.c
+++ b/src/version.c
@@ -735,6 +735,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 388,
+/**/
387,
/**/
386,