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