To: vim_dev@googlegroups.com Subject: Patch 7.4.370 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 7.4.370 Problem: Linebreak test fails when encoding is not utf-8. (Danek Duvall) Solution: Split the test in a single byte one and a utf-8 one. (Christian Brabandt) Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, src/testdir/Makefile, src/testdir/test_listlbr.in, src/testdir/test_listlbr.ok, src/testdir/test_listlbr_utf8.in, src/testdir/test_listlbr_utf8.ok *** ../vim-7.4.369/src/testdir/Make_amiga.mak 2014-07-02 19:59:35.454375136 +0200 --- src/testdir/Make_amiga.mak 2014-07-16 16:55:15.311578352 +0200 *************** *** 39,44 **** --- 39,45 ---- test_autoformat_join.out \ test_breakindent.out \ test_listlbr.out \ + test_listlbr_utf8.out \ test_eval.out \ test_options.out *************** *** 167,171 **** --- 168,173 ---- test_autoformat_join.out: test_autoformat_join.in test_breakindent.out: test_breakindent.in test_listlbr.out: test_listlbr.in + test_listlbr_utf8.out: test_listlbr_utf8.in test_eval.out: test_eval.in test_options.out: test_options.in *** ../vim-7.4.369/src/testdir/Make_dos.mak 2014-07-16 14:20:38.255766903 +0200 --- src/testdir/Make_dos.mak 2014-07-16 16:56:02.423577394 +0200 *************** *** 38,43 **** --- 38,44 ---- test_autoformat_join.out \ test_breakindent.out \ test_listlbr.out \ + test_listlbr_utf8.out \ test_eval.out \ test_options.out *** ../vim-7.4.369/src/testdir/Make_ming.mak 2014-07-02 19:59:35.454375136 +0200 --- src/testdir/Make_ming.mak 2014-07-16 16:55:15.311578352 +0200 *************** *** 58,63 **** --- 58,64 ---- test_autoformat_join.out \ test_breakindent.out \ test_listlbr.out \ + test_listlbr_utf8.out \ test_eval.out \ test_options.out *** ../vim-7.4.369/src/testdir/Make_os2.mak 2014-07-02 19:59:35.454375136 +0200 --- src/testdir/Make_os2.mak 2014-07-16 16:55:15.311578352 +0200 *************** *** 40,45 **** --- 40,46 ---- test_autoformat_join.out \ test_eval.out \ test_breakindent.out \ + test_listlbr_utf8.out \ test_listlbr.out \ test_options.out *** ../vim-7.4.369/src/testdir/Make_vms.mms 2014-07-02 19:59:35.454375136 +0200 --- src/testdir/Make_vms.mms 2014-07-16 16:55:15.311578352 +0200 *************** *** 99,104 **** --- 99,105 ---- test_autoformat_join.out \ test_breakindent.out \ test_listlbr.out \ + test_listlbr_utf8.out \ test_eval.out \ test_options.out *** ../vim-7.4.369/src/testdir/Makefile 2014-07-02 19:59:35.454375136 +0200 --- src/testdir/Makefile 2014-07-16 16:55:15.311578352 +0200 *************** *** 36,41 **** --- 36,42 ---- test_autoformat_join.out \ test_breakindent.out \ test_listlbr.out \ + test_listlbr_utf8.out \ test_eval.out \ test_options.out *** ../vim-7.4.369/src/testdir/test_listlbr.in 2014-07-02 19:59:35.454375136 +0200 --- src/testdir/test_listlbr.in 2014-07-16 16:55:15.311578352 +0200 *************** *** 1,10 **** ! Test for linebreak and list option STARTTEST :so small.vim :if !exists("+linebreak") | e! test.ok | w! test.out | qa! | endif :10new|:vsp|:vert resize 20 ! :put =\"\tabcdef hijklmn\tpqrstuvwxyz\u00a01060ABCDEFGHIJKLMNOP \" :norm! zt :set ts=4 sw=4 sts=4 linebreak sbr=+ wrap :fu! ScreenChar(width) --- 1,10 ---- ! Test for linebreak and list option (non-utf8) STARTTEST :so small.vim :if !exists("+linebreak") | e! test.ok | w! test.out | qa! | endif :10new|:vsp|:vert resize 20 ! :put =\"\tabcdef hijklmn\tpqrstuvwxyz_1060ABCDEFGHIJKLMNOP \" :norm! zt :set ts=4 sw=4 sts=4 linebreak sbr=+ wrap :fu! ScreenChar(width) *************** *** 32,53 **** :redraw! :let line=ScreenChar(winwidth(0)) :call DoRecordScreen() ! :let g:test ="Test 3: set linebreak + set list + fancy listchars" ! :exe "set linebreak list listchars=nbsp:\u2423,tab:\u2595\u2014,trail:\u02d1,eol:\ub6" ! :redraw! ! :let line=ScreenChar(winwidth(0)) ! :call DoRecordScreen() ! :let g:test ="Test 4: set linebreak nolist" :set nolist linebreak :redraw! :let line=ScreenChar(winwidth(0)) :call DoRecordScreen() ! :let g:test ="Test 5: set nolinebreak list" ! :set list nolinebreak ! :redraw! ! :let line=ScreenChar(winwidth(0)) ! :call DoRecordScreen() ! :let g:test ="Test 6: 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) :$put =line --- 32,43 ---- :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) :$put =line *** ../vim-7.4.369/src/testdir/test_listlbr.ok 2014-07-02 19:59:35.454375136 +0200 --- src/testdir/test_listlbr.ok 2014-07-16 16:55:15.315578352 +0200 *************** *** 1,38 **** ! abcdef hijklmn pqrstuvwxyz 1060ABCDEFGHIJKLMNOP Test 1: set linebreak abcdef +hijklmn ! +pqrstuvwxyz 1060ABC +DEFGHIJKLMNOP Test 2: set linebreak + set list ^Iabcdef hijklmn^I ! +pqrstuvwxyz 1060ABC +DEFGHIJKLMNOP ! Test 3: set linebreak + set list + fancy listchars ! ▕———abcdef ! +hijklmn▕——— ! +pqrstuvwxyz␣1060ABC ! +DEFGHIJKLMNOPˑ¶ ! ! Test 4: set linebreak nolist abcdef +hijklmn ! +pqrstuvwxyz 1060ABC +DEFGHIJKLMNOP - - Test 5: set nolinebreak list - ▕———abcdef hijklmn▕— - +pqrstuvwxyz␣1060ABC - +DEFGHIJKLMNOPˑ¶ - ¶ 1 aaaaaaaaaaaaaaaaaa ! Test 6: set linebreak with tab and 1 line as long as screen: should break! 1 +aaaaaaaaaaaaaaaaaa ~ --- 1,26 ---- ! abcdef hijklmn pqrstuvwxyz_1060ABCDEFGHIJKLMNOP Test 1: set linebreak abcdef +hijklmn ! +pqrstuvwxyz_1060ABC +DEFGHIJKLMNOP Test 2: set linebreak + set list ^Iabcdef hijklmn^I ! +pqrstuvwxyz_1060ABC +DEFGHIJKLMNOP ! Test 3: set linebreak nolist abcdef +hijklmn ! +pqrstuvwxyz_1060ABC +DEFGHIJKLMNOP 1 aaaaaaaaaaaaaaaaaa ! Test 4: set linebreak with tab and 1 line as long as screen: should break! 1 +aaaaaaaaaaaaaaaaaa ~ *** ../vim-7.4.369/src/testdir/test_listlbr_utf8.in 2014-07-16 17:01:25.415570829 +0200 --- src/testdir/test_listlbr_utf8.in 2014-07-16 16:55:15.315578352 +0200 *************** *** 0 **** --- 1,41 ---- + Test for linebreak and list option in utf-8 mode + + STARTTEST + :so small.vim + :if !exists("+linebreak") | e! test.ok | w! test.out | qa! | endif + :so mbyte.vim + :if &enc !=? 'utf-8'|:e! test.ok|:w! test.out|qa!|endif + :10new|:vsp|:vert resize 20 + :put =\"\tabcdef hijklmn\tpqrstuvwxyz\u00a01060ABCDEFGHIJKLMNOP \" + :norm! zt + :set ts=4 sw=4 sts=4 linebreak sbr=+ wrap + :fu! ScreenChar(width) + : let c='' + : for j in range(1,4) + : for i in range(1,a:width) + : let c.=nr2char(screenchar(j, i)) + : endfor + : let c.="\n" + : endfor + : return c + :endfu + :fu! DoRecordScreen() + : wincmd l + : $put =printf(\"\n%s\", g:test) + : $put =g:line + : wincmd p + :endfu + :let g:test ="Test 1: set linebreak + set list + fancy listchars" + :exe "set linebreak list listchars=nbsp:\u2423,tab:\u2595\u2014,trail:\u02d1,eol:\ub6" + :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() + :%w! test.out + :qa! + ENDTEST + dummy text *** ../vim-7.4.369/src/testdir/test_listlbr_utf8.ok 2014-07-16 17:01:25.419570829 +0200 --- src/testdir/test_listlbr_utf8.ok 2014-07-16 16:55:15.315578352 +0200 *************** *** 0 **** --- 1,14 ---- + + abcdef hijklmn pqrstuvwxyz 1060ABCDEFGHIJKLMNOP + + Test 1: set linebreak + set list + fancy listchars + ▕———abcdef + +hijklmn▕——— + +pqrstuvwxyz␣1060ABC + +DEFGHIJKLMNOPˑ¶ + + Test 2: set nolinebreak list + ▕———abcdef hijklmn▕— + +pqrstuvwxyz␣1060ABC + +DEFGHIJKLMNOPˑ¶ + ¶ *** ../vim-7.4.369/src/version.c 2014-07-16 16:30:21.647608710 +0200 --- src/version.c 2014-07-16 16:56:38.755576656 +0200 *************** *** 736,737 **** --- 736,739 ---- { /* Add new patch number below this line */ + /**/ + 370, /**/ -- Another bucket of what can only be described as human ordure hits ARTHUR. ARTHUR: ... Right! (to the KNIGHTS) That settles it! "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///