Karsten Hopp 604c76
To: vim_dev@googlegroups.com
Karsten Hopp 604c76
Subject: Patch 7.4.529
Karsten Hopp 604c76
Fcc: outbox
Karsten Hopp 604c76
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp 604c76
Mime-Version: 1.0
Karsten Hopp 604c76
Content-Type: text/plain; charset=UTF-8
Karsten Hopp 604c76
Content-Transfer-Encoding: 8bit
Karsten Hopp 604c76
------------
Karsten Hopp 604c76
Karsten Hopp 604c76
Patch 7.4.529
Karsten Hopp 604c76
Problem:    No test for what 7.4.517 fixes.
Karsten Hopp 604c76
Solution:   Adjust the tests for breakindent. (Christian Brabandt)
Karsten Hopp 604c76
Files:	    src/testdir/test_breakindent.in, src/testdir/test_breakindent.ok
Karsten Hopp 604c76
Karsten Hopp 604c76
Karsten Hopp 604c76
*** ../vim-7.4.528/src/testdir/test_breakindent.in	2014-08-24 21:39:45.488526954 +0200
Karsten Hopp 604c76
--- src/testdir/test_breakindent.in	2014-11-27 14:04:39.349335102 +0100
Karsten Hopp 604c76
***************
Karsten Hopp 604c76
*** 6,23 ****
Karsten Hopp 604c76
  :10new|:vsp|:vert resize 20
Karsten Hopp 604c76
  :put =\"\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP\"
Karsten Hopp 604c76
  :set ts=4 sw=4 sts=4 breakindent
Karsten Hopp 604c76
! :fu! ScreenChar(width)
Karsten Hopp 604c76
  :	let c=''
Karsten Hopp 604c76
  :	for i in range(1,a:width)
Karsten Hopp 604c76
! :		let c.=nr2char(screenchar(line('.'), i))
Karsten Hopp 604c76
  :	endfor
Karsten Hopp 604c76
  :       let c.="\n"
Karsten Hopp 604c76
  :	for i in range(1,a:width)
Karsten Hopp 604c76
! :		let c.=nr2char(screenchar(line('.')+1, i))
Karsten Hopp 604c76
  :	endfor
Karsten Hopp 604c76
  :       let c.="\n"
Karsten Hopp 604c76
  :	for i in range(1,a:width)
Karsten Hopp 604c76
! :		let c.=nr2char(screenchar(line('.')+2, i))
Karsten Hopp 604c76
  :	endfor
Karsten Hopp 604c76
  :	return c
Karsten Hopp 604c76
  :endfu
Karsten Hopp 604c76
--- 6,23 ----
Karsten Hopp 604c76
  :10new|:vsp|:vert resize 20
Karsten Hopp 604c76
  :put =\"\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP\"
Karsten Hopp 604c76
  :set ts=4 sw=4 sts=4 breakindent
Karsten Hopp 604c76
! :fu! ScreenChar(line, width)
Karsten Hopp 604c76
  :	let c=''
Karsten Hopp 604c76
  :	for i in range(1,a:width)
Karsten Hopp 604c76
! :		let c.=nr2char(screenchar(a:line, i))
Karsten Hopp 604c76
  :	endfor
Karsten Hopp 604c76
  :       let c.="\n"
Karsten Hopp 604c76
  :	for i in range(1,a:width)
Karsten Hopp 604c76
! :		let c.=nr2char(screenchar(a:line+1, i))
Karsten Hopp 604c76
  :	endfor
Karsten Hopp 604c76
  :       let c.="\n"
Karsten Hopp 604c76
  :	for i in range(1,a:width)
Karsten Hopp 604c76
! :		let c.=nr2char(screenchar(a:line+2, i))
Karsten Hopp 604c76
  :	endfor
Karsten Hopp 604c76
  :	return c
Karsten Hopp 604c76
  :endfu
Karsten Hopp 604c76
***************
Karsten Hopp 604c76
*** 29,71 ****
Karsten Hopp 604c76
  :endfu
Karsten Hopp 604c76
  :set briopt=min:0
Karsten Hopp 604c76
  :let g:test="Test 1: Simple breakindent"
Karsten Hopp 604c76
! :let line1=ScreenChar(8)
Karsten Hopp 604c76
  :call DoRecordScreen()
Karsten Hopp 604c76
  :let g:test="Test 2: Simple breakindent + sbr=>>"
Karsten Hopp 604c76
  :set sbr=>>
Karsten Hopp 604c76
! :let line1=ScreenChar(8)
Karsten Hopp 604c76
  :call DoRecordScreen()
Karsten Hopp 604c76
  :let g:test ="Test 3: Simple breakindent + briopt:sbr"
Karsten Hopp 604c76
  :set briopt=sbr,min:0 sbr=++
Karsten Hopp 604c76
! :let line1=ScreenChar(8)
Karsten Hopp 604c76
  :call DoRecordScreen()
Karsten Hopp 604c76
  :let g:test ="Test 4: Simple breakindent + min width: 18"
Karsten Hopp 604c76
  :set sbr= briopt=min:18
Karsten Hopp 604c76
! :let line1=ScreenChar(8)
Karsten Hopp 604c76
  :call DoRecordScreen()
Karsten Hopp 604c76
  :let g:test =" Test 5: Simple breakindent + shift by 2"
Karsten Hopp 604c76
  :set briopt=shift:2,min:0
Karsten Hopp 604c76
! :let line1=ScreenChar(8)
Karsten Hopp 604c76
  :call DoRecordScreen()
Karsten Hopp 604c76
  :let g:test=" Test 6: Simple breakindent + shift by -1"
Karsten Hopp 604c76
  :set briopt=shift:-1,min:0
Karsten Hopp 604c76
! :let line1=ScreenChar(8)
Karsten Hopp 604c76
  :call DoRecordScreen()
Karsten Hopp 604c76
  :let g:test=" Test 7: breakindent + shift by +1 + nu + sbr=? briopt:sbr"
Karsten Hopp 604c76
  :set briopt=shift:1,sbr,min:0 nu sbr=? nuw=4
Karsten Hopp 604c76
! :let line1=ScreenChar(10)
Karsten Hopp 604c76
  :call DoRecordScreen()
Karsten Hopp 604c76
  :let g:test=" Test 8: breakindent + shift:1 + nu + sbr=# list briopt:sbr"
Karsten Hopp 604c76
  :set briopt=shift:1,sbr,min:0 nu sbr=# list
Karsten Hopp 604c76
! :let line1=ScreenChar(10)
Karsten Hopp 604c76
  :call DoRecordScreen()
Karsten Hopp 604c76
  :let g:test=" Test 9: breakindent + shift by +1 + 'nu' + sbr=# list"
Karsten Hopp 604c76
  :set briopt-=sbr
Karsten Hopp 604c76
! :let line1=ScreenChar(10)
Karsten Hopp 604c76
  :call DoRecordScreen()
Karsten Hopp 604c76
  :let g:test=" Test 10: breakindent + shift by +1 + 'nu' + sbr=~ cpo+=n"
Karsten Hopp 604c76
  :set cpo+=n sbr=~ nu nuw=4 nolist briopt=sbr,min:0
Karsten Hopp 604c76
! :let line1=ScreenChar(10)
Karsten Hopp 604c76
  :call DoRecordScreen()
Karsten Hopp 604c76
  :wincmd p
Karsten Hopp 604c76
  :let g:test="\n Test 11: strdisplaywidth when breakindent is on"
Karsten Hopp 604c76
--- 29,71 ----
Karsten Hopp 604c76
  :endfu
Karsten Hopp 604c76
  :set briopt=min:0
Karsten Hopp 604c76
  :let g:test="Test 1: Simple breakindent"
Karsten Hopp 604c76
! :let line1=ScreenChar(line('.'),8)
Karsten Hopp 604c76
  :call DoRecordScreen()
Karsten Hopp 604c76
  :let g:test="Test 2: Simple breakindent + sbr=>>"
Karsten Hopp 604c76
  :set sbr=>>
Karsten Hopp 604c76
! :let line1=ScreenChar(line('.'),8)
Karsten Hopp 604c76
  :call DoRecordScreen()
Karsten Hopp 604c76
  :let g:test ="Test 3: Simple breakindent + briopt:sbr"
Karsten Hopp 604c76
  :set briopt=sbr,min:0 sbr=++
Karsten Hopp 604c76
! :let line1=ScreenChar(line('.'),8)
Karsten Hopp 604c76
  :call DoRecordScreen()
Karsten Hopp 604c76
  :let g:test ="Test 4: Simple breakindent + min width: 18"
Karsten Hopp 604c76
  :set sbr= briopt=min:18
Karsten Hopp 604c76
! :let line1=ScreenChar(line('.'),8)
Karsten Hopp 604c76
  :call DoRecordScreen()
Karsten Hopp 604c76
  :let g:test =" Test 5: Simple breakindent + shift by 2"
Karsten Hopp 604c76
  :set briopt=shift:2,min:0
Karsten Hopp 604c76
! :let line1=ScreenChar(line('.'),8)
Karsten Hopp 604c76
  :call DoRecordScreen()
Karsten Hopp 604c76
  :let g:test=" Test 6: Simple breakindent + shift by -1"
Karsten Hopp 604c76
  :set briopt=shift:-1,min:0
Karsten Hopp 604c76
! :let line1=ScreenChar(line('.'),8)
Karsten Hopp 604c76
  :call DoRecordScreen()
Karsten Hopp 604c76
  :let g:test=" Test 7: breakindent + shift by +1 + nu + sbr=? briopt:sbr"
Karsten Hopp 604c76
  :set briopt=shift:1,sbr,min:0 nu sbr=? nuw=4
Karsten Hopp 604c76
! :let line1=ScreenChar(line('.'),10)
Karsten Hopp 604c76
  :call DoRecordScreen()
Karsten Hopp 604c76
  :let g:test=" Test 8: breakindent + shift:1 + nu + sbr=# list briopt:sbr"
Karsten Hopp 604c76
  :set briopt=shift:1,sbr,min:0 nu sbr=# list
Karsten Hopp 604c76
! :let line1=ScreenChar(line('.'),10)
Karsten Hopp 604c76
  :call DoRecordScreen()
Karsten Hopp 604c76
  :let g:test=" Test 9: breakindent + shift by +1 + 'nu' + sbr=# list"
Karsten Hopp 604c76
  :set briopt-=sbr
Karsten Hopp 604c76
! :let line1=ScreenChar(line('.'),10)
Karsten Hopp 604c76
  :call DoRecordScreen()
Karsten Hopp 604c76
  :let g:test=" Test 10: breakindent + shift by +1 + 'nu' + sbr=~ cpo+=n"
Karsten Hopp 604c76
  :set cpo+=n sbr=~ nu nuw=4 nolist briopt=sbr,min:0
Karsten Hopp 604c76
! :let line1=ScreenChar(line('.'),10)
Karsten Hopp 604c76
  :call DoRecordScreen()
Karsten Hopp 604c76
  :wincmd p
Karsten Hopp 604c76
  :let g:test="\n Test 11: strdisplaywidth when breakindent is on"
Karsten Hopp 604c76
***************
Karsten Hopp 604c76
*** 74,79 ****
Karsten Hopp 604c76
--- 74,87 ----
Karsten Hopp 604c76
  :let width = strlen(text[1:])+indent(2)*4+strlen(&sbr)*3 " text wraps 3 times
Karsten Hopp 604c76
  :$put =g:test
Karsten Hopp 604c76
  :$put =printf(\"strdisplaywidth: %d == calculated: %d\", strdisplaywidth(text), width)
Karsten Hopp 604c76
+ :let g:str="\t\t\t\t\t{"
Karsten Hopp 604c76
+ :let g:test=" Test 12: breakindent + long indent"
Karsten Hopp 604c76
+ :wincmd p
Karsten Hopp 604c76
+ :set all& breakindent linebreak briopt=min:10 nu numberwidth=3 ts=4
Karsten Hopp 604c76
+ :$put =g:str
Karsten Hopp 604c76
+ zt:let line1=ScreenChar(1,10)
Karsten Hopp 604c76
+ :wincmd p
Karsten Hopp 604c76
+ :call DoRecordScreen()
Karsten Hopp 604c76
  :"
Karsten Hopp 604c76
  :" Test, that the string "    a\tb\tc\td\te" is correctly
Karsten Hopp 604c76
  :" displayed in a 20 column wide window (see bug report
Karsten Hopp 604c76
***************
Karsten Hopp 604c76
*** 87,93 ****
Karsten Hopp 604c76
  :?^\s*z
Karsten Hopp 604c76
  fygjyl:let line2 = @0
Karsten Hopp 604c76
  :quit!
Karsten Hopp 604c76
! :$put ='Test 12: breakindent with wrapping Tab'
Karsten Hopp 604c76
  :$put =line1
Karsten Hopp 604c76
  :$put =line2
Karsten Hopp 604c76
  :"
Karsten Hopp 604c76
--- 95,101 ----
Karsten Hopp 604c76
  :?^\s*z
Karsten Hopp 604c76
  fygjyl:let line2 = @0
Karsten Hopp 604c76
  :quit!
Karsten Hopp 604c76
! :$put ='Test 13: breakindent with wrapping Tab'
Karsten Hopp 604c76
  :$put =line1
Karsten Hopp 604c76
  :$put =line2
Karsten Hopp 604c76
  :"
Karsten Hopp 604c76
*** ../vim-7.4.528/src/testdir/test_breakindent.ok	2014-08-24 21:19:22.220571318 +0200
Karsten Hopp 604c76
--- src/testdir/test_breakindent.ok	2014-11-27 14:04:39.349335102 +0100
Karsten Hopp 604c76
***************
Karsten Hopp 604c76
*** 53,58 ****
Karsten Hopp 604c76
  
Karsten Hopp 604c76
   Test 11: strdisplaywidth when breakindent is on
Karsten Hopp 604c76
  strdisplaywidth: 46 == calculated: 64
Karsten Hopp 604c76
! Test 12: breakindent with wrapping Tab
Karsten Hopp 604c76
  d
Karsten Hopp 604c76
  w
Karsten Hopp 604c76
--- 53,64 ----
Karsten Hopp 604c76
  
Karsten Hopp 604c76
   Test 11: strdisplaywidth when breakindent is on
Karsten Hopp 604c76
  strdisplaywidth: 46 == calculated: 64
Karsten Hopp 604c76
! 					{
Karsten Hopp 604c76
! 
Karsten Hopp 604c76
!  Test 12: breakindent + long indent
Karsten Hopp 604c76
! 56        
Karsten Hopp 604c76
!           
Karsten Hopp 604c76
! ~         
Karsten Hopp 604c76
! Test 13: breakindent with wrapping Tab
Karsten Hopp 604c76
  d
Karsten Hopp 604c76
  w
Karsten Hopp 604c76
*** ../vim-7.4.528/src/version.c	2014-11-27 13:37:07.403539956 +0100
Karsten Hopp 604c76
--- src/version.c	2014-11-27 14:05:44.240619187 +0100
Karsten Hopp 604c76
***************
Karsten Hopp 604c76
*** 743,744 ****
Karsten Hopp 604c76
--- 743,746 ----
Karsten Hopp 604c76
  {   /* Add new patch number below this line */
Karsten Hopp 604c76
+ /**/
Karsten Hopp 604c76
+     529,
Karsten Hopp 604c76
  /**/
Karsten Hopp 604c76
Karsten Hopp 604c76
-- 
Karsten Hopp 604c76
(letter from Mark to Mike, about the film's probable certificate)
Karsten Hopp 604c76
      I would like to get back to the Censor and agree to lose the shits, take
Karsten Hopp 604c76
      the odd Jesus Christ out and lose Oh fuck off, but to retain 'fart in
Karsten Hopp 604c76
      your general direction', 'castanets of your testicles' and 'oral sex'
Karsten Hopp 604c76
      and ask him for an 'A' rating on that basis.
Karsten Hopp 604c76
                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
Karsten Hopp 604c76
Karsten Hopp 604c76
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp 604c76
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp 604c76
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
Karsten Hopp 604c76
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///