On Mi, 30 Jul 2014, Christian Brabandt wrote:

> Hi John!
> 
> On Mi, 30 Jul 2014, John Little wrote:
> 
> > On Wednesday, July 30, 2014 3:12:05 AM UTC+12, Kent Sibilev wrote:
> > > I've found that some C code is incorrectly rendered when I use 'nolist' 
> > > option. 
> > 
> > Yes, I see it.  7.4.383.  The problem is not seen with 7.4.0, and not with 
> > -u NONE -N.  I will try later to bisect my .vimrc to find minimal settings 
> > that show the problem.
> 
> Probably 7.4.353 which changed the way 'list' and 'linebreak' worked 
> together. I couldn't however reproduce it. I'll look into it.

Attached patch fixes it for me and includes a test.

I am not entirely sure, why I put the test for linebreak in there at 
all, but without it, test_listlbr_utf8 fails, so it should probably 
stay.

Best,
Christian
-- 
Jemanden zu sagen Idiot - das ist keine Beleidigung, sondern Diagnose.
                -- Julian Tuwim

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
diff --git a/src/screen.c b/src/screen.c
--- a/src/screen.c
+++ b/src/screen.c
@@ -4494,7 +4494,7 @@ win_line(wp, lnum, startrow, endrow, noc
 		    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
--- a/src/testdir/test_listlbr_utf8.in
+++ b/src/testdir/test_listlbr_utf8.in
@@ -35,6 +35,14 @@ STARTTEST
 :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
--- 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;    
+~                   
+~                   
+~                   

Raspunde prin e-mail lui