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