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; +~ +~ +~