patch 7.4.977
Problem:    'linebreak' does not work properly when using "space" in
            'listchars'.
Solution:   (Hirohito Higashi, Christian Brabandt)
diff --git a/src/testdir/test_listlbr.in b/src/testdir/test_listlbr.in
index 52cbc10..d51b2f9 100644
--- a/src/testdir/test_listlbr.in
+++ b/src/testdir/test_listlbr.in
@@ -23,20 +23,24 @@
 :	$put =g:line
 :	wincmd p
 :endfu
+:"
 :let g:test="Test 1: set linebreak"
 :redraw!
 :let line=ScreenChar(winwidth(0))
 :call DoRecordScreen()
+:"
 :let g:test="Test 2: set linebreak + set list"
 :set linebreak list listchars=
 :redraw!
 :let line=ScreenChar(winwidth(0))
 :call DoRecordScreen()
+:"
 :let g:test ="Test 3: set linebreak nolist"
 :set nolist linebreak
 :redraw!
 :let line=ScreenChar(winwidth(0))
 :call DoRecordScreen()
+:"
 :let g:test ="Test 4: set linebreak with tab and 1 line as long as screen: should break!"
 :set nolist linebreak ts=8
 :let line="1\t".repeat('a', winwidth(0)-2)
@@ -50,6 +54,7 @@
 :$put =line
 :$
 :norm! zt
+:"
 :let g:test ="Test 5: set linebreak with conceal and set list and tab displayed by different char (line may not be truncated)"
 :set cpo&vim list linebreak conceallevel=2 concealcursor=nv listchars=tab:ab
 :syn match ConcealVar contained /_/ conceal
@@ -57,6 +62,7 @@
 :let line=ScreenChar(winwidth(0))
 :call DoRecordScreen()
 :set cpo&vim linebreak
+:"
 :let g:test ="Test 6: set linebreak with visual block mode"
 :let line="REMOVE: this not"
 :$put =g:test
@@ -66,20 +72,24 @@
 :1/^REMOVE:
 0jf x:$put
 :set cpo&vim linebreak
+:"
 :let g:test ="Test 7: set linebreak with visual block mode and v_b_A"
 :$put =g:test
 Golong line: 40afoobar aTARGET at end
 :exe "norm! $3B\<C-v>eAx\<Esc>"
 :set cpo&vim linebreak sbr=
+:"
 :let g:test ="Test 8: set linebreak with visual char mode and changing block"
 :$put =g:test
 Go1111-1111-1111-11-1111-1111-11110f-lv3lc2222bgj.
+:"
 :let g:test ="Test 9: using redo after block visual mode"
 :$put =g:test
 Go
 aaa
 aaa
 a2k2j~e.
+:"
 :let g:test ="Test 10: using normal commands after block-visual"
 :$put =g:test
 :set linebreak
@@ -87,10 +97,22 @@
 abcd{ef
 ghijklm
 no}pqrs2k0f{c%
+:"
 :let g:test ="Test 11: using block replace mode after wrapping"
 :$put =g:test
 :set linebreak wrap
 Go150aayypk147|jr0
+:"
+:let g:test ="Test 12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$"
+:set list listchars=space:_,trail:-,tab:>-,eol:$
+:$put =g:test
+:let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
+:$put =line
+:$
+:norm! zt
+:redraw!
+:let line=ScreenChar(winwidth(0))
+:call DoRecordScreen()
 :%w! test.out
 :qa!
 ENDTEST