To: vim_dev@googlegroups.com
Subject: Patch 7.4.370
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
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    ///
