aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nvim/screen.c2
-rw-r--r--src/nvim/testdir/test_listlbr_utf8.in11
-rw-r--r--src/nvim/testdir/test_listlbr_utf8.ok7
-rw-r--r--src/nvim/version.c2
4 files changed, 20 insertions, 2 deletions
diff --git a/src/nvim/screen.c b/src/nvim/screen.c
index 5eaebfbf7c..811f265902 100644
--- a/src/nvim/screen.c
+++ b/src/nvim/screen.c
@@ -3461,7 +3461,7 @@ win_line (
/* tab amount depends on current column */
tab_len = (int)wp->w_buffer->b_p_ts
- vcol % (int)wp->w_buffer->b_p_ts - 1;
- if (!wp->w_p_lbr) {
+ if (!wp->w_p_lbr || !wp->w_p_list) {
n_extra = tab_len;
} else {
char_u *p;
diff --git a/src/nvim/testdir/test_listlbr_utf8.in b/src/nvim/testdir/test_listlbr_utf8.in
index f8888d5332..ba12adae05 100644
--- a/src/nvim/testdir/test_listlbr_utf8.in
+++ b/src/nvim/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/nvim/testdir/test_listlbr_utf8.ok b/src/nvim/testdir/test_listlbr_utf8.ok
index 576ccfb401..634cf3906d 100644
--- a/src/nvim/testdir/test_listlbr_utf8.ok
+++ b/src/nvim/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/nvim/version.c b/src/nvim/version.c
index f72c4d6de4..6a008c1787 100644
--- a/src/nvim/version.c
+++ b/src/nvim/version.c
@@ -207,7 +207,7 @@ static int included_patches[] = {
//391,
//390,
//389,
- //388,
+ 388,
//387,
//386,
//385,