
Sun Jul 16 12:44:28 PDT 2006

Starting make in the src directory.
If there are problems, cd to the src directory and run make there
cd src && make test
make[1]: Entering directory `/sources/vim70/src'
make -f Makefile vim
make[2]: Entering directory `/sources/vim70/src'
make[2]: `vim' is up to date.
make[2]: Leaving directory `/sources/vim70/src'
if test -n "yes" -a -f po/Makefile; then \
	cd po; make -f Makefile check VIM=../vim; \
fi
make[2]: Entering directory `/sources/vim70/src/po'
../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq af.po
[?1049h[?1h=[1;36r[34l[34h[?25h[?25l[36;1H"af.po" "af.po" 5409 lines, 133799 characters
search hit BOTTOM, continuing at TOPOK[36;3H[K[36;1H
[?1l>[34h[?25h[?1049ltouch af.ck
../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq ca.po
[?1049h[?1h=[1;36r[34l[34h[?25h[?25l[36;1H"ca.po" "ca.po" 4947 lines, 129501 characters
search hit BOTTOM, continuing at TOPOK[36;3H[K[36;1H
[?1l>[34h[?25h[?1049ltouch ca.ck
../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq cs.po
[?1049h[?1h=[1;36r[34l[34h[?25h[?25l[36;1H"cs.po" "cs.po" 4664 lines, 111009 characters
search hit BOTTOM, continuing at TOPOK[36;3H[K[36;1H
[?1l>[34h[?25h[?1049ltouch cs.ck
../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq de.po
[?1049h[?1h=[1;36r[34l[34h[?25h[?25l[36;1H"de.po" "de.po" 6133 lines, 157017 characters
search hit BOTTOM, continuing at TOPOK[36;3H[K[36;1H
[?1l>[34h[?25h[?1049ltouch de.ck
../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq en_GB.po
[?1049h[?1h=[1;36r[34l[34h[?25h[?25l[36;1H"en_GB.po" "en_GB.po" 292 lines, 8821 characters
search hit BOTTOM, continuing at TOPOK[36;3H[K[36;1H
[?1l>[34h[?25h[?1049ltouch en_GB.ck
../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq es.po
[?1049h[?1h=[1;36r[34l[34h[?25h[?25l[36;1H"es.po" "es.po" 5453 lines, 139991 characters
search hit BOTTOM, continuing at TOPOK[36;3H[K[36;1H
[?1l>[34h[?25h[?1049ltouch es.ck
../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq fr.po
[?1049h[?1h=[1;36r[34l[34h[?25h[?25l[36;1H"fr.po" "fr.po" 6543 lines, 176361 characters
search hit BOTTOM, continuing at TOPOK[36;3H[K[36;1H
[?1l>[34h[?25h[?1049ltouch fr.ck
../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq ga.po
[?1049h[?1h=[1;36r[34l[34h[?25h[?25l[36;1H"ga.po" "ga.po" 5626 lines, 140933 characters
search hit BOTTOM, continuing at TOPOK[36;3H[K[36;1H
[?1l>[34h[?25h[?1049ltouch ga.ck
../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq it.po
[?1049h[?1h=[1;36r[34l[34h[?25h[?25l[36;1H"it.po" "it.po" 6136 lines, 154029 characters
search hit BOTTOM, continuing at TOPOK[36;3H[K[36;1H
[?1l>[34h[?25h[?1049ltouch it.ck
../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq ja.po
[?1049h[?1h=[1;36r[34l[34h[?25h[?25l[36;1H"ja.po" "ja.po" 6097 lines, 151279 characters
search hit BOTTOM, continuing at TOPOK[36;3H[K[36;1H
[?1l>[34h[?25h[?1049ltouch ja.ck
../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq ko.po
[?1049h[?1h=[1;36r[34l[34h[?25h[?25l[36;1H"ko.po" "ko.po" 5154 lines, 122328 characters
search hit BOTTOM, continuing at TOPOK[36;3H[K[36;1H
[?1l>[34h[?25h[?1049ltouch ko.ck
../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq no.po
[?1049h[?1h=[1;36r[34l[34h[?25h[?25l[36;1H"no.po" "no.po" 5202 lines, 126100 characters
search hit BOTTOM, continuing at TOPOK[36;3H[K[36;1H
[?1l>[34h[?25h[?1049ltouch no.ck
../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq pl.po
[?1049h[?1h=[1;36r[34l[34h[?25h[?25l[36;1H"pl.po" "pl.po" 6119 lines, 152011 characters
search hit BOTTOM, continuing at TOPOK[36;3H[K[36;1H
[?1l>[34h[?25h[?1049ltouch pl.ck
../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq ru.po
[?1049h[?1h=[1;36r[34l[34h[?25h[?25l[36;1H"ru.po" "ru.po" 5237 lines, 166173 characters
search hit BOTTOM, continuing at TOPOK[36;3H[K[36;1H
[?1l>[34h[?25h[?1049ltouch ru.ck
../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq sk.po
[?1049h[?1h=[1;36r[34l[34h[?25h[?25l[36;1H"sk.po" "sk.po" 5837 lines, 147784 characters
search hit BOTTOM, continuing at TOPOK[36;3H[K[36;1H
[?1l>[34h[?25h[?1049ltouch sk.ck
../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq sv.po
[?1049h[?1h=[1;36r[34l[34h[?25h[?25l[36;1H"sv.po" "sv.po" 6063 lines, 146904 characters
search hit BOTTOM, continuing at TOPOK[36;3H[K[36;1H
[?1l>[34h[?25h[?1049ltouch sv.ck
../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq uk.po
[?1049h[?1h=[1;36r[34l[34h[?25h[?25l[36;1H"uk.po" "uk.po" 4926 lines, 116555 characters
search hit BOTTOM, continuing at TOPOK[36;3H[K[36;1H
[?1l>[34h[?25h[?1049ltouch uk.ck
../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq vi.po
[?1049h[?1h=[1;36r[34l[34h[?25h[?25l[36;1H"vi.po" "vi.po" 5214 lines, 144437 characters
search hit BOTTOM, continuing at TOPOK[36;3H[K[36;1H
[?1l>[34h[?25h[?1049ltouch vi.ck
../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq zh_CN.UTF-8.po
[?1049h[?1h=[1;36r[34l[34h[?25h[?25l[36;1H"zh_CN.UTF-8.po" "zh_CN.UTF-8.po" 6158 lines, 147881 characters
search hit BOTTOM, continuing at TOPOK[36;3H[K[36;1H
[?1l>[34h[?25h[?1049ltouch zh_CN.UTF-8.ck
../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq zh_CN.po
[?1049h[?1h=[1;36r[34l[34h[?25h[?25l[36;1H"zh_CN.po" "zh_CN.po" 6158 lines, 136858 characters
search hit BOTTOM, continuing at TOPOK[36;3H[K[36;1H
[?1l>[34h[?25h[?1049ltouch zh_CN.ck
../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq zh_TW.UTF-8.po
[?1049h[?1h=[1;36r[34l[34h[?25h[?25l[36;1H"zh_TW.UTF-8.po" "zh_TW.UTF-8.po" 5300 lines, 127697 characters
search hit BOTTOM, continuing at TOPOK[36;3H[K[36;1H
[?1l>[34h[?25h[?1049ltouch zh_TW.UTF-8.ck
../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq zh_TW.po
[?1049h[?1h=[1;36r[34l[34h[?25h[?25l[36;1H"zh_TW.po" "zh_TW.po" 5293 lines, 117728 characters
search hit BOTTOM, continuing at TOPOK[36;3H[K[36;1H
[?1l>[34h[?25h[?1049ltouch zh_TW.ck
../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq cs.cp1250.po
[?1049h[?1h=[1;36r[34l[34h[?25h[?25l[36;1H"cs.cp1250.po" "cs.cp1250.po" 4664 lines, 111017 characters
search hit BOTTOM, continuing at TOPOK[36;3H[K[36;1H
[?1l>[34h[?25h[?1049ltouch cs.cp1250.ck
../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq ja.sjis.po
[?1049h[?1h=[1;36r[34l[34h[?25h[?25l[36;1H"ja.sjis.po" "ja.sjis.po" 6097 lines, 151373 characters
search hit BOTTOM, continuing at TOPOK[36;3H[K[36;1H
[?1l>[34h[?25h[?1049ltouch ja.sjis.ck
../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq pl.cp1250.po
[?1049h[?1h=[1;36r[34l[34h[?25h[?25l[36;1H"pl.cp1250.po" "pl.cp1250.po" 6119 lines, 152007 characters
search hit BOTTOM, continuing at TOPOK[36;3H[K[36;1H
[?1l>[34h[?25h[?1049ltouch pl.cp1250.ck
../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq pl.UTF-8.po
[?1049h[?1h=[1;36r[34l[34h[?25h[?25l[36;1H"pl.UTF-8.po" "pl.UTF-8.po" 6119 lines, 154316 characters
search hit BOTTOM, continuing at TOPOK[36;3H[K[36;1H
[?1l>[34h[?25h[?1049ltouch pl.UTF-8.ck
../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq ru.cp1251.po
[?1049h[?1h=[1;36r[34l[34h[?25h[?25l[36;1H"ru.cp1251.po" "ru.cp1251.po" 5237 lines, 131462 characters
search hit BOTTOM, continuing at TOPOK[36;3H[K[36;1H
[?1l>[34h[?25h[?1049ltouch ru.cp1251.ck
../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq sk.cp1250.po
[?1049h[?1h=[1;36r[34l[34h[?25h[?25l[36;1H"sk.cp1250.po" "sk.cp1250.po" 5837 lines, 147780 characters
search hit BOTTOM, continuing at TOPOK[36;3H[K[36;1H
[?1l>[34h[?25h[?1049ltouch sk.cp1250.ck
../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq uk.cp1251.po
[?1049h[?1h=[1;36r[34l[34h[?25h[?25l[36;1H"uk.cp1251.po" "uk.cp1251.po" 4926 lines, 116555 characters
search hit BOTTOM, continuing at TOPOK[36;3H[K[36;1H
[?1l>[34h[?25h[?1049ltouch uk.cp1251.ck
../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq zh_CN.cp936.po
[?1049h[?1h=[1;36r[34l[34h[?25h[?25l[36;1H"zh_CN.cp936.po" "zh_CN.cp936.po" 6158 lines, 136870 characters
search hit BOTTOM, continuing at TOPOK[36;3H[K[36;1H
[?1l>[34h[?25h[?1049ltouch zh_CN.cp936.ck
make[2]: Leaving directory `/sources/vim70/src/po'
if test vim != vim -a ! -e vim; then \
	ln -s vim vim; \
fi
cd testdir; make -f Makefile  VIMPROG=../vim 
make[2]: Entering directory `/sources/vim70/src/testdir'
echo Test results: >test.log
rm -f test1.failed tiny.vim small.vim mbyte.vim test.ok X* viminfo
../vim -u unix.vim -U NONE --noplugin -s dotest.in test1.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test1.in" 40 lines, 1465 characters[2;1HFirst a simple test to check if the test script works.

If Vim was not compiled with the +eval feature, the small.vim script will be
set to copy the test.ok file to test.out, so that it looks like the test
succeeded.  Otherwise an empty small.vim is written.  small.vim is sourced by
tests that require the +eval feature or other features that are missing in the
small version.

If Vim was not compiled with the +windows feature, the tiny.vim script will be
set like small.vim above.  tiny.vim is sourced by tests that require the
+windows feature or other features that are missing in the tiny version.

If Vim was not compiled with the +multi_byte feature, the mbyte.vim script will be set like small.vii[15;1Hm above.  mbyte.vim is sourced by tests that require the
+multi_byte feature.

STARTTEST
:" Write a single line to test.out to check if testing works at all.
:%d
athis is a test[1m[34m^[[0m:w! test.out
:" Create small.vim and tiny.vim empty, create mbyte.vim to skip the test.
0D:w! small.vim
:w! tiny.vim
ae! test.ok
w! test.out
qa!
[1m[34m^[[0m:w! mbyte.vim
:" If +multi_byte feature supported, make mbyte.vim empty.
:if has("multi_byte") | sp another | w! mbyte.vim | q | endif
:" If +eval feature supported quit here, leaving tiny.vim and small.vim empty.
:" Otherwise write small.vim to skip the test.
:if 1 | q! | endif
:w! small.vim
:" If +windows feature not supported :sp will fail and tiny.vim will be[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[18;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[19;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 21 lines, 661 characters written[19;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[19;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[1;35r[1;1H[5M[1;36r[31;1H:" written to skip the test.
:sp another
:wq! tiny.vim
:qa!
ENDTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" Write a single line to test.out to check if testing works at all.[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h%d[?25l[1;1H[K[2;1H[1m[34m~                                                                                                   [3;1H~                                                                                                   [4;1H~                                                                                                   [5;1H~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [0m[36;1H--No lines in buffer--[1;1H[34h[?25h[?25lthis is a test[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw! test.out[?25l"test.out" [36;12H[K[36;12H[New File] 1 line, 15 characters written[1;14H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" Create small.vim and tiny.vim empty, create mbyte.vim to skip the test.[?25l[1;14H[34h[?25h[?25l[1;1H[K[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw! small.vim[?25l"small.vim" [36;13H[K[36;13H[New File] 1 line, 1 character written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw! tiny.vim[?25l"tiny.vim" [36;12H[K[36;12H[New File] 1 line, 1 character written[1;1H[34h[?25h[?25le! test.ok
w! test.out[2;12H[K[3;1Hqa![3;4H[K[4;1H[K[4;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw! mbyte.vim[?25l"mbyte.vim" [36;13H[K[36;13H[New File] 4 lines, 28 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" If +multi_byte feature supported, make mbyte.vim empty.[?25l[4;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hif has("multi_byte") | sp another | w! mbyte.vim | q | endif[?25l"another" [New File][36;21H[K[36;1H
"mbyte.vim" 0 lines, 0 characters written[1;1H[L[1;1He! test.ok[36;1H[K[4;1H[34h[?25h[?25l[36;1H:[34h[?25h" If +eval feature supported quit here, leaving tiny.vim and small.vim empty.[?25l[4;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" Otherwise write small.vim to skip the test.[?25l[4;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hif 1 | q! | endif[?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* viminfo
rm -rf test2.failed test.ok test.out X* viminfo
cp test2.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test2.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test2.in" 29 lines, 717 characters[2;1HThis is a test if a URL is recognized by "gf", with the cursor before and
after the "://".  Also test ":\\".

STARTTEST
:so small.vim
/^first
/tmp
:call append(0, expand("<cfile>"))
/^second
/URL
:call append(1, expand("<cfile>"))
:if has("ebcdic")
: set isf=@,240-249,/,.,-,_,+,,,$,:,~,\
:else
: set isf=@,48-57,/,.,-,_,+,,,$,:,~,\
:endif
/^third
/name
:call append(2, expand("<cfile>"))
/^fourth
/URL
:call append(3, expand("<cfile>"))
5GdG:wq! test.out
ENDTEST
first test for URL://machine.name/tmp/vimtest2a and other text
second test for URL://machine.name/tmp/vimtest2b. And other text
third test for URL:\\machine.name\vimtest2c and other text
fourth test for URL:\\machine.name\tmp\vimtest2d, and other text
[1m[34m~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[5;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[6;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 19 lines, 336 characters written[6;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[6;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[25;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[26;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[26;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h^first[?25l[1m[31msearch hit BOTTOM, continuing at TOP[26;1H[34h[?25h[?25l[0m[36;1H[K[36;1H/[34h[?25htmp[?25l[26;35H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hcall append(0, expand("<cfile>"))[?25l[1;35r[1;1H[L[1;36r[1;1HURL://machine.name/tmp/vimtest2a[36;1H[K[27;35H[34h[?25h[?25l[36;1H/[34h[?25h^second[?25l[28;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25hURL[?25l[28;17H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hcall append(1, expand("<cfile>"))[?25l[2;35r[2;1H[L[1;36r[2;1HURL://machine.name/tmp/vimtest2b[36;1H[K[29;17H[34h[?25h[?25l[36;1H:[34h[?25hif has("ebcdic")[?25l
:  [34h[?25h: set isf=@,240-249,/,.,-,_,+,,,$,:,~,\
[?25l:  [34h[?25h:else
[?25l:  [34h[?25h: set isf=@,48-57,/,.,-,_,+,,,$,:,~,\
[?25l:  [34h[?25h:endif[1;1H[4L[?25l[1;1HURL://machine.name/tmp/vimtest2a
URL://machine.name/tmp/vimtest2b

This is a test if a URL is recognized by "gf", with the cursor before and[36;1H[K[29;17H[34h[?25h[?25l[36;1H/[34h[?25h^third[?25l[30;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25hname[?25l[30;30H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hcall append(2, expand("<cfile>"))[?25l[3;35r[3;1H[L[1;36r[3;1HURL:\\machine.name\vimtest2c[36;1H[K[31;30H[34h[?25h[?25l[36;1H/[34h[?25h^fourth[?25l[32;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25hURL[?25l[32;17H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hcall append(3, expand("<cfile>"))[?25l[4;35r[4;1H[L[1;36r[4;1HURL:\\machine.name\tmp\vimtest2d[36;1H[K[33;17H[34h[?25h[5;1H[?25l[36;1H29 fewer lines[5;1H[1m[34m~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [4;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hwq! test.out[?25l"test.out" [36;12H[K[36;12H[New File] 4 lines, 128 characters written
[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test3.failed test.ok test.out X* viminfo
cp test3.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test3.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test3.in" 1320 lines, 13734 characters[1;1H/* vim: set cin ts=4 sw=4 : */

Test for 'cindent'

STARTTEST
:so small.vim
:set nocompatible viminfo+=nviminfo
:edit[16C" read modeline
/start of AUTO
=/end of AUTO
ENDTEST

/* start of AUTO matically checked vim: set ts=4 : */
{[15;9Hif (test)[16;17Hcmd1;[17;9Hcmd2;
}

{[21;9Hif (test)[22;17Hcmd1;[23;9Helse[24;17Hcmd2;
}

{[28;9Hif (test)[29;9H{[30;17Hcmd1;[31;17Hcmd2;[32;9H}
}

{[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1H/* vim: set cin ts=4 sw=4 : */[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[5;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[6;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 5 lines, 116 characters written[6;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[6;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[11;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[12;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[12;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset nocompatible viminfo+=nviminfo[?25l[12;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hedit                " read modeline[?25l"test3.in"[36;22H[K[36;12H1320L, 13734C[15;5Hif (test)[15;14H[K[16;9Hcmd1;[16;17H[K[17;5Hcmd2;[17;10H[K[21;5Hif (test)[21;14H[K[22;9Hcmd1;[22;17H[K[23;5Helse[23;9H[K[24;9Hcmd2;[24;17H[K[28;5Hif (test)[28;14H[K[29;5H{[29;9H[K[30;9Hcmd1;[30;17H[K[31;9Hcmd2;[31;17H[K[32;5H}[32;9H[K[12;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25hstart of AUTO[?25l[13;4H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25hend of AUTO[?25l789 lines to indent...750065055045035025015050 lines to indent... 790 lines indented [36;20H[K[13;1H[34h[?25h[?25l[36;1H[K[36;1H/^STARTTEST[23m[24m[0m[H[J[1;1H}

main()
{
    (void) MyFancyFuasdfadsfnction([6;13Hargument);
}

main()
{
    char    foo[] = "/*";
    /* as[13;8Hdf */
    hello
}
/* end of AUTO */

STARTTEST
:set tw=0 wm=60 columns=80 noai fo=croq
/serious/e
a about life, the universe, and the rest[1m[34m^[[0m
ENDTEST

{

/* this is
 * a real serious important big
 * comment
 */
    /* insert " about life, the universe, and the rest" after "serious" */
}

STARTTEST
:set nocin
/comments[18;1H[34h[?25h
[?25l[36;1H:set ff=unix cpo-=A[19;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H3L, 93C written[19;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[19;1H[34h[?25h[?25l[36;1H/ENDTEST/+-1[36;13H[K[36;1H[21;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[22;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset tw=0 wm=60 columns=80 noai fo=croq[?25l[23m[24m[0m[H[J[34h[?25h[23m[24m[0m[H[J[?25l[1;1H}

main()
{
    (void) MyFancyFuasdfadsfnction([6;13Hargument);
}

main()
{
    char    foo[] = "/*";
    /* as[13;8Hdf */
    hello
}
/* end of AUTO */

STARTTEST
:set tw=0 wm=60 columns=80 noai fo=croq
/serious/e
a about life, the universe, and the rest[1m[34m^[[0m
ENDTEST

{

/* this is
 * a real serious important big
 * comment
 */
    /* insert " about life, the universe, and the rest" after "serious" */
}

STARTTEST
:set nocin
/comments[22;1H[34h[?25h[?25l[36;1H/[34h[?25hserious/e[?25l[27;17H[34h[?25h[?25l[36;1H[1m-- INSERT --[0m[36;1H[K[28;35r[28;1H[3L[1;36r[27;19H[K[28;2H* about life, the
 * universe, and the
 * rest important big[30;7H[34h[?25h[31;7H[?25l[36;1H/^STARTTEST[1;35r[35;1H
[1;36r[35;1HSTARTTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H:set nocin[34h[?25h[?25l
:set ff=unix cpo-=A[35;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H6L, 78C written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[35;1H[34h[?25h[?25l
/ENDTEST/+-1[36;13H[K[36;1H[1;35r[1;1H[5M[1;36r[31;1H/comments
joabout life[1m[34m^[[0m/happens
jothere[1m[34m^[[0m/below
oline[1m[34m^[[0m/this
Ohello[1m[34m^[[0m[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1HENDTEST[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset nocin[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25hcomments[?25l[1;35r[1;1H[4M[1;36r[33;1H{
    /*[35;6H* Testing for comments, without 'cin' set[36;1H[K[35;20H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;6H*/[34h[?25h[?25l
[1m-- INSERT --[0m[36;1H[K[1;35r[35;1H
[1;36r[35;1Habout life[34h[?25h[?25l
/[34h[?25hhappens[?25l[1;35r[1;1H[3M[1;36r[34;1H/*
* what happens here?[36;1H[K[35;8H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H*/[34h[?25h[?25l
[1m-- INSERT --[0m[36;1H[K[1;35r[35;1H
[1;36r[35;1Hthere[34h[?25h[?25l
/[34h[?25hbelow[?25l[1;35r[1;1H[3M[1;36r[34;5H/*[35;8Hthe end of the comment, try inserting a line below */[36;1H[K[35;53H[34h[?25h[?25l
[1m-- INSERT --[0m[36;1H[K[1;35r[35;1H
[1;36r[35;1Hline[34h[?25h[?25l
/[34h[?25hthis[?25l[1;35r[1;1H[3M[1;36r[34;9H/* how about[35;25Hthis one */[36;1H[K[35;25H[34h[?25h[?25l
[1m-- INSERT --[0m[36;1H[K[35;1Hhello[35;25H[K[35;5H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;25Hthis one */[35;8H[34h[?25h[?25l
/^STARTTEST[1;35r[1;1H[3M[1;36r[33;1H}

STARTTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H:set cin[34h[?25h[?25l
:set ff=unix cpo-=A[35;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H3L, 18C written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[35;1H[34h[?25h[?25l
/ENDTEST/+-1[36;13H[K[36;1H[1;35r[1;1H[2M[1;36r[34;1H/vec2
==[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1HENDTEST[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cin[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25hvec2[?25l[1;35r[1;1H[5M[1;36r[32;1H{
    var = this + that + vec[0] * vec[0][34;23H+ vec[1] * vec[1][35;23H+ vec2[2] * vec[2];[36;1H[K[35;25H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H}[34h[?25h[?25l
/^STARTTEST[1;35r[1;1H[2M[1;36r[35;1HSTARTTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H:set cin[34h[?25h[?25l
:set ff=unix cpo-=A[35;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H5L, 51C written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[35;1H[34h[?25h[?25l
/ENDTEST/+-1[36;13H[K[36;1H[1;35r[1;1H[4M[1;36r[32;1H:set cino=}4
/testing1
k2==/testing2
k2==[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1HENDTEST[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cin[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cino=}4[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25htesting1[?25l[1;35r[1;1H[8M[1;36r[29;1H{[30;9Hasdf asdflkajds f;
    if (tes & ting) {[32;9Hasdf asdf asdf ;[33;9Hasdfa sdf asdf;[34;9H}
    testing1;[36;1H[K[35;5H[34h[?25h[34;8H [?25l

/[34h[?25htesting2[?25l[1;35r[1;1H[6M[1;36r[30;5Hif (tes & ting)
    {[32;9Hasdf asdf asdf ;[33;9Hasdfa sdf asdf;[34;9H}
    testing2;[36;1H[K[35;5H[34h[?25h[34;8H [35;9H[?25l
/^STARTTEST[1;35r[1;1H[3M[1;36r[33;1H}

STARTTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H:set cin[34h[?25h[?25l
:set ff=unix cpo-=A[35;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H4L, 36C written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[35;1H[34h[?25h[?25l
/ENDTEST/+-1[36;13H[K[36;1H[1;35r[1;1H[3M[1;36r[33;1H:set cino=(0,)20
/main
=][[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1HENDTEST[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cin[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cino=(0,)20[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25hmain[?25l[1;35r[1;1H[2M[1;36r[35;1Hmain ( int first_par, /*[36;1H[K[35;1H[34h[?25h[?25l
19 lines to indent...20[7Cindented [36;19H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;24H* Comment for[36;1H[K[35;4H[34h[?25h[?25l
/^STARTTEST[23m[24m[0m[H[J[1;24H* Comment for[2;24H* second par[3;24H*/[4;6H)
{
    func( first_par, /*[7;23H* Comment for[8;23H* first par[9;23H*/[10;11Hsecond_par /*[11;23H* Comment for[12;23H* second par[13;23H*/[14;9H);

}

STARTTEST
:set cin
:set cino=
]]=][
ENDTEST

{
    do
    {[27;9Hif ()[28;9H{[29;13Hif ()[30;17Hasdf;[31;13Helse[32;17Hasdf;[33;9H}
    } while ();[35;13Hcmd;[8C/* this should go under the } */[18;1H[34h[?25h
[?25l[36;1H:set ff=unix cpo-=A[19;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H3L, 26C written[19;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[19;1H[34h[?25h[?25l[36;1H/ENDTEST/+-1[36;13H[K[36;1H[21;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[22;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cin[?25l[22;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cino=[?25l[22;1H[34h[?25h

[?25l[36;1H11 lines to indent...12[7Cindented [36;19H[K[35;5Hcmd;        /* this should go under the } */[35;49H[K[24;1H[34h[?25h
   [?25l[36;1H[K[36;1H/^STARTTEST[1;35r[1;1H[3M[1;36r[33;1H}

STARTTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H]]=][[34h[?25h[?25l
:set ff=unix cpo-=A[35;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H1L, 6C written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[35;1H[34h[?25h[?25l
/ENDTEST/+-1[36;13H[K[36;1H[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1HENDTEST[36;1H[K[35;1H[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[1;35r[1;1H[3M[1;36r[34;1Hvoid f()
{[36;1H[K[35;1H[34h[?25h[?25l
8 lines to indent...9[7Cindented [36;18H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;5Hif ( k() ) {[36;1H[K[35;4H[34h[?25h[?25l
/^STARTTEST[1;35r[1;1H[10M[1;36r[26;9Hl();[28;5H} else { /* Start (two words) end */[29;9Hm();
    }[32;5Hn();
}

STARTTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H:set cino={s,e-s[34h[?25h[?25l
:set ff=unix cpo-=A[35;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H2L, 23C written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[35;1H[34h[?25h[?25l
/ENDTEST/+-1[36;13H[K[36;1H[1;35r[35;1H
[1;36r[35;1H]]=][[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1HENDTEST[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cino={s,e-s[?25l[35;1H[34h[?25h[?25l[1;35r[1;1H[3M[1;36r[34;1Hvoid f()
{[36;1H[K[35;1H[34h[?25h[?25l
7 lines to indent...8[7Cindented [36;18H[K[35;1H    {[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;5Hif ( k() )[36;1H[K[35;5H[34h[?25h[?25l
/^STARTTEST[1;35r[1;1H[9M[1;36r[27;9H{[28;9Hl();[29;9H} else { /* Start (two words) end */[30;9Hm();[31;9H}
    n();    /* should be under the if () */
}

STARTTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H:set cino={s,fs[34h[?25h[?25l
:set ff=unix cpo-=A[35;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H2L, 25C written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[35;1H[34h[?25h[?25l
/ENDTEST/+-1[36;13H[K[36;1H[1;35r[35;1H
[1;36r[35;1H]]=/ foo[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1HENDTEST[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cino={s,fs[?25l[35;1H[34h[?25h[?25l[1;35r[1;1H[3M[1;36r[34;1Hvoid bar(void)
{[36;1H[K[35;1H[34h[?25h[?25l
/[34h[?25h foo[?25l30 lines to indent...31[7Cindented [36;19H[K[35;1H    {[34h[?25h[?25l[36;1H[K[36;1H/^STARTTEST[23m[24m[0m[H[J[1;13Ha = a + 1;[2;13H}[3;9H}
    b = a;
    }

void func(void)
    {
    a = 1;[10;9H{[11;9Hb = 2;[12;9H}
    c = 3;
    d = 4;
    }
/* foo */

STARTTEST
:set cino=
/while
ohere[1m[34m^[[0m
ENDTEST

a()
{
  do {
    a = a +[28;7Ha;
  } while ( a );[8C/* add text under this line */
    if ( a )[31;7Ha;
}

STARTTEST
:set cino= com=[18;1H[34h[?25h
[?25l[36;1H:set ff=unix cpo-=A[19;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H3L, 25C written[19;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[19;1H[34h[?25h[?25l[36;1H/ENDTEST/+-1[36;13H[K[36;1H[21;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[22;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cino=[?25l[22;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25hwhile[?25l[29;5H[34h[?25h[?25l[36;1H[1m-- INSERT --[0m[36;1H[K[30;35r[30;1H[L[1;36r[30;3Hhere[34h[?25h[31;6H[?25l[36;1H/^STARTTEST[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H:set cino= com=[36;1H[K[35;1H[34h[?25h[?25l
:set ff=unix cpo-=A[35;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H3L, 109C written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[35;1H[34h[?25h[?25l
/ENDTEST/+-1[36;13H[K[36;1H[1;35r[1;1H[3M[1;36r[33;1H/comment
olabel2: b();[1m[34m^M[0mlabel3 /* post */:[1m[34m^M[0m/* pre */ label4:[1m[34m^M[0mf(/*com*/);[1m[34m^M[0mif (/*com*/)[1m[34m^^[35;1HM[0mcmd();[1m[34m^[[0m[36;1H[K[34;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1HENDTEST[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cino= com=[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25hcomment[?25l[1;35r[1;1H[6M[1;36r[31;1Ha()
{
label1:[34;13H/* hmm */[35;13H// comment[36;1H[K[35;16H[34h[?25h[?25l
[1m-- INSERT --[0m[36;1H[K[1;35r[1;1H[6M[1;36r[30;1Hlabel2: b();
label3 /* post */:
/* pre */ label4:[33;9Hf(/*com*/);[34;9Hif (/*com*/)[35;13Hcmd();[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H}[34h[?25h[?25l
/^STARTTEST[1;35r[1;1H[2M[1;36r[35;1HSTARTTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H:set comments& comments^=s:/*,m:**,ex:*/[34h[?25h[?25l
:set ff=unix cpo-=A[35;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H3L, 53C written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[35;1H[34h[?25h[?25l
/ENDTEST/+-1[36;13H[K[36;1H[1;35r[1;1H[2M[1;36r[34;1H/simple
=5j[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1HENDTEST[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset comments& comments^=s:/*,m:**,ex:*/[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25hsimple[?25l[1;35r[1;1H[3M[1;36r[34;1H/*
  * A simple comment[36;1H[K[35;7H[34h[?25h[?25l
5 lines to indent...6[7Cindented [36;18H[K[35;2H* A simple comment[35;20H[K[35;2H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;2H*/[36;1H[K[35;2H[34h[?25h[?25l
/^STARTTEST[1;35r[1;1H[6M[1;36r[31;1H/*
** A different comment
*/

STARTTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H:set cino=c0[34h[?25h[?25l
:set ff=unix cpo-=A[35;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H3L, 70C written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[35;1H[34h[?25h[?25l
/ENDTEST/+-1[36;13H[K[36;1H[1;35r[1;1H[2M[1;36r[34;1H:set comments& comments-=s1:/* comments^=s0:/*
2kdd]]=][[36;1H[K[35;1H[34h[?25h[?25l[1;35r[1;1H[2M[1;36r[34;1HENDTEST[34h[?25h[?25l

:so! Xdotest[34;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cino=c0[?25l[34;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset comments& comments-=s1:/* comments^=s0:/*[?25l[34;1H[34h[?25h[32;1H[?25l[32;35r[35;1H
[1;36r[35;1Hvoid f()[36;1H[K[32;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H{[34h[?25h[?25l
4 lines to indent...5[7Cindented [36;18H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[36;1H[K[35;1H[34h[?25h[?25l
/^STARTTEST[1;35r[1;1H[6M[1;36r[30;5H/*********[31;7HA comment.
    *********/
}

STARTTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H:set cino=c0,C1[34h[?25h[?25l
:set ff=unix cpo-=A[35;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H3L, 73C written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[35;1H[34h[?25h[?25l
/ENDTEST/+-1[36;13H[K[36;1H[1;35r[1;1H[2M[1;36r[34;1H:set comments& comments-=s1:/* comments^=s0:/*
2kdd]]=][[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1HENDTEST[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cino=c0,C1[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset comments& comments-=s1:/* comments^=s0:/*[?25l[35;1H[34h[?25h[33;1H[?25l2kdd]]=][[33;10H[K[34;1HENDTEST[34;8H[K[35;1H[K[33;1H[34h[?25h[?25l[1;35r[1;1H[2M[1;36r[34;1Hvoid f()
{[36;1H[K[35;1H[34h[?25h[?25l
4 lines to indent...5[7Cindented [36;18H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[36;1H[K[35;1H[34h[?25h[?25l
/^STARTTEST[1;35r[1;1H[6M[1;36r[30;5H/*********
    A comment.
    *********/
}

STARTTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H:set cino=[34h[?25h[?25l
:set ff=unix cpo-=A[35;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H2L, 17C written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[35;1H[34h[?25h[?25l
/ENDTEST/+-1[36;13H[K[36;1H[1;35r[35;1H
[1;36r[35;1H]]=][[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1HENDTEST[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cino=[?25l[35;1H[34h[?25h[?25l[1;35r[1;1H[3M[1;36r[34;1Hvoid f()
{[36;1H[K[35;1H[34h[?25h[?25l
5 lines to indent...6[7Cindented [36;18H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;5Hc = c1 &&[36;1H[K[35;4H[34h[?25h[?25l
/^STARTTEST[1;35r[1;1H[7M[1;36r[29;9H([30;10Hc2 ||[31;10Hc3[32;9H) && c4;
}

STARTTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H:set cino=(s[34h[?25h[?25l
:set ff=unix cpo-=A[35;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H2L, 23C written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[35;1H[34h[?25h[?25l
/ENDTEST/+-1[36;13H[K[36;1H[1;35r[35;1H
[1;36r[35;1H2kdd]]=][[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1HENDTEST[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cino=(s[?25l[35;1H[34h[?25h[33;1H[?25l2kdd]]=][[33;10H[K[34;1HENDTEST[34;8H[K[35;1H[K[33;1H[34h[?25h[?25l[1;35r[1;1H[2M[1;36r[34;1Hvoid f()
{[36;1H[K[35;1H[34h[?25h[?25l
5 lines to indent...6[7Cindented [36;18H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;5Hc = c1 &&[36;1H[K[35;4H[34h[?25h[?25l
/^STARTTEST[1;35r[1;1H[7M[1;36r[29;9H([30;10Hc2 ||[31;10Hc3[32;9H) && c4;
}

STARTTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H:set cino=(s,U1[34h[?25h[?25l
:set ff=unix cpo-=A[35;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H2L, 28C written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[35;1H[34h[?25h[?25l
/ENDTEST/+-1[36;13H[K[36;1H[1;35r[35;1H
[1;36r[35;1H2kdd]]=][[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1HENDTEST[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cino=(s,U1  [?25l[35;1H[34h[?25h[33;1H[?25l2kdd]]=][[33;10H[K[34;1HENDTEST[34;8H[K[35;1H[K[33;1H[34h[?25h[?25l[1;35r[1;1H[2M[1;36r[34;1Hvoid f()
{[36;1H[K[35;1H[34h[?25h[?25l
5 lines to indent...6[7Cindented [36;18H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;5Hc = c1 &&[36;1H[K[35;4H[34h[?25h[?25l
/^STARTTEST[1;35r[1;1H[7M[1;36r[29;9H([30;13Hc2 ||[31;13Hc3[32;9H) && c4;
}

STARTTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H:set cino=(0[34h[?25h[?25l
:set ff=unix cpo-=A[35;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H2L, 23C written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[35;1H[34h[?25h[?25l
/ENDTEST/+-1[36;13H[K[36;1H[1;35r[35;1H
[1;36r[35;1H2kdd]]=][[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1HENDTEST[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cino=(0[?25l[35;1H[34h[?25h[33;1H[?25l2kdd]]=][[33;10H[K[34;1HENDTEST[34;8H[K[35;1H[K[33;1H[34h[?25h[?25l[1;35r[1;1H[2M[1;36r[34;1Hvoid f()
{[36;1H[K[35;1H[34h[?25h[?25l
4 lines to indent...5[7Cindented [36;18H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;5Hif (   c1[36;1H[K[35;4H[34h[?25h[?25l
/^STARTTEST[1;35r[1;1H[6M[1;36r[30;12H&& (   c2[31;19H|| c3))[32;9Hfoo;
}

STARTTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H:set cino=(0,w1[34h[?25h[?25l
:set ff=unix cpo-=A[35;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H2L, 28C written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[35;1H[34h[?25h[?25l
/ENDTEST/+-1[36;13H[K[36;1H[1;35r[35;1H
[1;36r[35;1H2kdd]]=][[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1HENDTEST[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cino=(0,w1  [?25l[35;1H[34h[?25h[33;1H[?25l2kdd]]=][[33;10H[K[34;1HENDTEST[34;8H[K[35;1H[K[33;1H[34h[?25h[?25l[1;35r[1;1H[2M[1;36r[34;1Hvoid f()
{[36;1H[K[35;1H[34h[?25h[?25l
4 lines to indent...5[7Cindented [36;18H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;5Hif (   c1[36;1H[K[35;4H[34h[?25h[?25l
/^STARTTEST[1;35r[1;1H[6M[1;36r[30;9H&& (   c2[31;13H|| c3))[32;9Hfoo;
}

STARTTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H:set cino=(s[34h[?25h[?25l
:set ff=unix cpo-=A[35;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H2L, 23C written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[35;1H[34h[?25h[?25l
/ENDTEST/+-1[36;13H[K[36;1H[1;35r[35;1H
[1;36r[35;1H2kdd]]=][[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1HENDTEST[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cino=(s[?25l[35;1H[34h[?25h[33;1H[?25l2kdd]]=][[33;10H[K[34;1HENDTEST[34;8H[K[35;1H[K[33;1H[34h[?25h[?25l[1;35r[1;1H[2M[1;36r[34;1Hvoid f()
{[36;1H[K[35;1H[34h[?25h[?25l
8 lines to indent...9[7Cindented [36;18H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;5Hc = c1 && ([36;1H[K[35;4H[34h[?25h[?25l
/^STARTTEST[1;35r[1;1H[10M[1;36r[26;9Hc2 ||[27;9Hc3[28;9H) && c4;
    if ([30;9Hc1 && c2[31;8H)[32;9Hfoo;
}

STARTTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H:set cino=(s,m1[34h[?25h[?25l
:set ff=unix cpo-=A[35;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H2L, 28C written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[35;1H[34h[?25h[?25l
/ENDTEST/+-1[36;13H[K[36;1H[1;35r[35;1H
[1;36r[35;1H2kdd]]=][[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1HENDTEST[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cino=(s,m1  [?25l[35;1H[34h[?25h[33;1H[?25l2kdd]]=][[33;10H[K[34;1HENDTEST[34;8H[K[35;1H[K[33;1H[34h[?25h[?25l[1;35r[1;1H[2M[1;36r[34;1Hvoid f()
{[36;1H[K[35;1H[34h[?25h[?25l
8 lines to indent...9[7Cindented [36;18H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;5Hc = c1 && ([36;1H[K[35;4H[34h[?25h[?25l
/^STARTTEST[1;35r[1;1H[10M[1;36r[26;9Hc2 ||[27;9Hc3
    ) && c4;
    if ([30;9Hc1 && c2
    )[32;9Hfoo;
}

STARTTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H:set cino=b1[34h[?25h[?25l
:set ff=unix cpo-=A[35;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H2L, 23C written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[35;1H[34h[?25h[?25l
/ENDTEST/+-1[36;13H[K[36;1H[1;35r[35;1H
[1;36r[35;1H2kdd]]=][[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1HENDTEST[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cino=b1[?25l[35;1H[34h[?25h[33;1H[?25l2kdd]]=][[33;10H[K[34;1HENDTEST[34;8H[K[35;1H[K[33;1H[34h[?25h[?25l[1;35r[1;1H[2M[1;36r[34;1Hvoid f()
{[36;1H[K[35;1H[34h[?25h[?25l
9 lines to indent...10 lines indented [36;19H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;5Hswitch (x)[36;1H[K[35;4H[34h[?25h[?25l
/^STARTTEST[1;35r[1;1H[11M[1;36r[25;5H{[26;9Hcase 1:[27;13Ha = b;[28;9Hbreak;[29;9Hdefault:[30;13Ha = 0;[31;9Hbreak;
    }
}

STARTTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H:set cino=(0,W5[34h[?25h[?25l
:set ff=unix cpo-=A[35;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H2L, 26C written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[35;1H[34h[?25h[?25l
/ENDTEST/+-1[36;13H[K[36;1H[1;35r[35;1H
[1;36r[35;1H2kdd]]=][[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1HENDTEST[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cino=(0,W5[?25l[35;1H[34h[?25h[33;1H[?25l2kdd]]=][[33;10H[K[34;1HENDTEST[34;8H[K[35;1H[K[33;1H[34h[?25h[?25l[1;35r[1;1H[2M[1;36r[34;1Hvoid f()
{[36;1H[K[35;1H[34h[?25h[?25l
10 lines to indent...11[7Cindented [36;19H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;5Hinvokeme([36;1H[K[35;4H[34h[?25h[?25l
/^STARTTEST[1;35r[1;1H[12M[1;36r[24;10Hargu,[25;10Hment);
    invokeme([27;10Hargu,[28;10Hment[29;10H);
    invokeme(argu,[31;14Hment[32;13H);
}

STARTTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H:set cino=/6[34h[?25h[?25l
:set ff=unix cpo-=A[35;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H2L, 23C written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[35;1H[34h[?25h[?25l
/ENDTEST/+-1[36;13H[K[36;1H[1;35r[35;1H
[1;36r[35;1H2kdd]]=][[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1HENDTEST[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cino=/6[?25l[35;1H[34h[?25h[33;1H[?25l2kdd]]=][[33;10H[K[34;1HENDTEST[34;8H[K[35;1H[K[33;1H[34h[?25h[?25l[1;35r[1;1H[2M[1;36r[34;1Hvoid f()
{[36;1H[K[35;1H[34h[?25h[?25l
3 lines to indent...4[7Cindented [36;18H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;5Hstatement;[36;1H[K[35;4H[34h[?25h[?25l
/^STARTTEST[1;35r[1;1H[5M[1;36r[31;11H// comment 1[32;11H// comment 2
}

STARTTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H:set cino=[34h[?25h[?25l
:set ff=unix cpo-=A[35;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H3L, 34C written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[35;1H[34h[?25h[?25l
/ENDTEST/+-1[36;13H[K[36;1H[1;35r[1;1H[2M[1;36r[34;1H2kdd]]/comment 1/+1
==[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1HENDTEST[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cino=[?25l[35;1H[34h[?25h[33;1H[?25l==[33;3H[K[34;1HENDTEST[35;1H[K[33;1H[34h[?25h[?25l[1;35r[1;1H[2M[1;36r[34;1Hvoid f()
{[36;1H[K[35;1H[34h[?25h[?25l
/[34h[?25hcomment 1/+1[?25l[1;35r[1;1H[3M[1;36r[33;5Hstatement;[34;8H// comment 1
    // comment 2[36;1H[K[35;4H[34h[?25h[?25l    // comment 2[35;8H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H}[34h[?25h[?25l
/^STARTTEST[1;35r[1;1H[2M[1;36r[35;1HSTARTTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H:set cino=g0[34h[?25h[?25l
:set ff=unix cpo-=A[35;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H2L, 23C written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[35;1H[34h[?25h[?25l
/ENDTEST/+-1[36;13H[K[36;1H[1;35r[35;1H
[1;36r[35;1H2kdd]]=][[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1HENDTEST[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cino=g0[?25l[35;1H[34h[?25h[33;1H[?25l2kdd]]=][[33;10H[K[34;1HENDTEST[34;8H[K[35;1H[K[33;1H[34h[?25h[?25l[1;35r[1;1H[2M[1;36r[34;1Hclass CAbc
{[36;1H[K[35;1H[34h[?25h[?25l
6 lines to indent...7[7Cindented [36;18H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;5Hint Test() { return FALSE; }[36;1H[K[35;4H[34h[?25h[?25l
/^STARTTEST[1;35r[1;1H[8M[1;36r[29;1Hpublic: // comment
    void testfall();
protected:
    void testfall();
};

STARTTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H:set cino=+20[34h[?25h[?25l
:set ff=unix cpo-=A[35;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H2L, 24C written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[35;1H[34h[?25h[?25l
/ENDTEST/+-1[36;13H[K[36;1H[1;35r[35;1H
[1;36r[35;1H2kdd]]=][[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1HENDTEST[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cino=+20[?25l[35;1H[34h[?25h[33;1H[?25l2kdd]]=][[33;10H[K[34;1HENDTEST[34;8H[K[35;1H[K[33;1H[34h[?25h[?25l[1;35r[1;1H[3M[1;36r[33;5Hvoid
foo()
{[36;1H[K[35;1H[34h[?25h[?25l
4 lines to indent...5[7Cindented [36;18H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;5Hif (a)[36;1H[K[35;4H[34h[?25h[?25l
/^STARTTEST[1;35r[1;1H[6M[1;36r[30;5H{
    } else[32;9Hasdf;
}

STARTTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H:set cino=(0,W2s[34h[?25h[?25l
:set ff=unix cpo-=A[35;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H2L, 27C written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[35;1H[34h[?25h[?25l
/ENDTEST/+-1[36;13H[K[36;1H[1;35r[35;1H
[1;36r[35;1H2kdd]]=][[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1HENDTEST[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cino=(0,W2s[?25l[35;1H[34h[?25h[33;1H[?25l2kdd]]=][[33;10H[K[34;1HENDTEST[34;8H[K[35;1H[K[33;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H{[36;1H[K[35;1H[34h[?25h[?25l
34 lines to indent...35[7Cindented [36;19H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;5Haverylongfunctionnamelongfunctionnameaverylongfunctionname()->asd([36;1H[K[35;4H[34h[?25h[?25l
/^STARTTEST[23m[24m[0m[H[J[1;22Hasdfasdf[2;21H),[3;17Hasdasdf[4;16H);[6;5Haverylongfunctionnameaverylongfunctionnameavery()->asd(fasdf([7;21Habc,[8;21Hdec)->asdfasdfasdf([9;29Hasdfadsf,[10;29Hasdfasdf,[11;29Hasdfasdf,[12;29H),[13;13Hfunc(asdfadf,[14;18Hasdfasdf),[15;13Hasdasdf[16;13H);
}

STARTTEST
:set cino=M1
2kdd]]=][
ENDTEST

int main ()
{
    if (cond1 &&[27;13Hcond2[28;13H)[29;9Hfoo;
}

STARTTEST
:g/^STARTTEST/.,/^ENDTEST/d
:1;/start of AUTO/,$wq! test.out
ENDTEST[19;1H[34h[?25h
[?25l[36;1H:set ff=unix cpo-=A[20;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H2L, 23C written[20;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[20;1H[34h[?25h[?25l[36;1H/ENDTEST/+-1[36;13H[K[36;1H[21;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[22;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cino=M1[?25l[22;1H[34h[?25h[20;1H[?25l[20;35r[35;1H
[1;36r[35;1H[1m[34m~                                                                               [0m[36;1H[K[20;1H[34h[?25h[24;1H[?25l[36;1H4 lines to indent...5[7Cindented [36;18H[K[24;1H[34h[?25h
   [?25l[36;1H[K[36;1H/^STARTTEST[31;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[32;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H2L, 61C written[32;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[32;1H[34h[?25h[?25l[36;1H/ENDTEST/+-1[36;13H[K[36;1H[31;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[32;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hg/^STARTTEST/.,/^ENDTEST/d[?25l128 fewer lines[36;16H[K[1;17Haverylongfunctionname([2;21H    abc,[3;17H        dec)->averylongfunctionname([4;16H  [15Casdfadsf,[5;33Hasdfasdf,
                                asdfasdf,[6;42H[K[7;21H    [8C),[8;17Hfunc(asdfadf,[8;30H[K[9;22Hasdfasdf[9;30H[K[10;21H),[10;29H[K[11;17Hasdasdf[11;29H[K[12;16H);[12;29H[K[13;13H[K[14;5Haverylongfunctionnameaverylongfunctionnameavery()->asd(fasdf([15;13H        abc,[16;13H        dec)->asdfasdfasdf(
 [27Casdfadsf,[18;29Hasdfasdf,
         [19Casdfasdf,
         [19C),
            func(asdfadf,[22;18Hasdfasdf),
            asdasdf
 [11C);
}[25;5H[K[26;13H[K[27;13H[K[28;1Hint main ()[28;12H[K[29;1H{
    if (cond1 &&
            cond2
            )[32;14H[K[33;1H        foo;[33;14H[K[34;1H}[34;2H[K[35;1H[K[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h1;/start of AUTO/,$wq! test.out[?25l"test.out" [36;12H[K[36;12H[New] 1185L, 11362C written
[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test4.failed test.ok test.out X* viminfo
cp test4.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test4.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test4.in" 31 lines, 839 characters[1;1HTest for autocommand that changes current buffer on BufEnter event.
Check if modelines are interpreted for the correct buffer.

STARTTEST
:so small.vim
:set nocompatible viminfo+=nviminfo
:au BufEnter Xxx brew
/start of
:.,/end of/w! Xxx   " write test file Xxx
:set ai modeline modelines=3
:sp Xxx[13C" split to Xxx, autocmd will do :brew
G?this is a
othis should be auto-indented[1m[34m^[[0m
:[19C" Append text with autoindent to this file
:au! BufEnter Xxx
:buf Xxx[12C" go to Xxx, no autocmd anymore
G?this is a
othis should be in column 1[1m[34m^[[0m:wq " append text without autoindent to Xxx
G:r Xxx[13C" include Xxx in the current file
:?startstart?,$w! test.out
:qa!
ENDTEST

startstart
start of test file Xxx
vim: set noai :[27;9Hthis is a test[28;9Hthis is a test[29;9Hthis is a test[30;9Hthis is a test
end of test file Xxx
[1m[34m~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTest for autocommand that changes current buffer on BufEnter event.[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[4;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[5;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 17 lines, 557 characters written[5;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[5;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[22;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[23;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[23;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset nocompatible viminfo+=nviminfo[?25l[23;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hau BufEnter Xxx brew[?25l[23;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25hstart of[?25l[25;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.,/end of/w! Xxx   " write test file Xxx[?25l"Xxx" [36;7H[K[36;7H[New] 7L, 124C written[25;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset ai modeline modelines=3[?25l[25;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hsp Xxx             " split to Xxx, autocmd will do :brew[?25l"Xxx" [36;7H[K[36;7H7L, 124C[1;1H:au! BufEnter Xxx[1;18H[K[2;1H:buf Xxx            " go to Xxx, no autocmd anymore[2;52H[K[3;1HG?this is a
othis should be in column 1[1m[34m^[[0m:wq " append text without autoindent to Xxx
G:r Xxx      [7C" include Xxx in the current file
:?startstart?,$w! test.out[6;27H[K[7;2Hqa![7;5H[K[8;1HENDTEST[8;8H[K[9;1H[K[10;1Hstartstart[10;11H[K[11;1Hstart of test file Xxx[11;23H[K[12;1Hvim: set noai :
        this is a test[13;23H[K[14;1H [7Cthis is a test[14;23H[K[15;1H        this is a test
        this is a test[16;23H[K[17;1Hend of test file Xxx
[1m[7mtest4.in                                                                                            [0m[19;1H:      [15CAppend text with autoindent to this file
:au! BufEnter Xxx[20;19H[K[21;2Hbuf Xxx[12C" go to Xxx, no autocmd anymore
G?this is a
othis should be in column 1[1m[34m^[[0m:wq " append text without autoindent to Xxx
G:r Xxx   [10C" include Xxx in the current file
:?startstart?,$w! test.out
:qa![26;6H[K[27;1HENDTEST[27;9H[K[28;9H[K[29;1Hstartstart[29;11H[K[30;1Hstart of test file Xxx
vim: set noai :[31;16H[K[32;1H        this is a test[32;23H[K[33;1H        this is a test[33;23H[K[34;1H        this is a test[34;23H[K[35;1H[7mtest4.in                                                                                            [0m[36;2Htest4.in" line 25 of 31 --80%-- col 1[11;1H[34h[?25h[17;1H[?25l[36;1H[K[36;1H?[34h[?25hthis is a[?25l[16;9H[34h[?25h[?25l[36;1H[1m-- INSERT --[0m[36;1H[K[17;1H        this should be auto-indented[18;10H[1m[7m[+][0m[35;10H[7m[+][17;36H[34h[?25h[?25l[1;17r[0m[17;1H
[1;36r[17;1Hend of test file Xxx[34h[?25h[?25l[36;1H:[34h[?25h                   " Append text with autoindent to this file[?25l[17;20H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hau! BufEnter Xxx[?25l[17;20H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hbuf Xxx            " go to Xxx, no autocmd anymore[?25l"Xxx" [36;7H[K[36;7H7L, 124C[1;1Hstart of test file Xxx[1;23H[K[2;1Hvim: set noai :
        this is a test[3;23H[K[4;1H        this is a test[4;23H[K[5;1H        this is a[5;23H[K[6;1H        this is a test
end of test file Xxx
[1m[34m~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [0m[18;1H[1m[7mXxx         [1;1H[34h[?25h[7;1H[?25l[0m[36;1H[K[36;1H?[34h[?25hthis is a[?25l[6;9H[34h[?25h[?25l[36;1H[1m-- INSERT --[0m[36;1H[K[7;17r[7;1H[L[1;36r[7;1Hthis should be in column 1[18;5H[1m[7m[+][7;26H[34h[?25h[?25l[36;1H[0m:[34h[?25hwq " append text without autoindent to Xxx[?25l"Xxx[36;7H[K[36;7H8L, 151C written[1;1HTest for autocommand that changes current buffer on BufEnter event.
Check if modelines are interpreted for the correct buffer.[3;9H[K[4;1HSTARTTEST[4;10H[K[5;1H:so small.vim[5;14H[K[6;1H:set nocompatible viminfo+=nviminfo
:au BufEnter Xxx brew[7;22H[K[8;1H/start of[8;10H[K[9;1H:.,/end of/w! Xxx   " write test file Xxx[9;42H[K[10;1H:set ai modeline modelines=3[10;29H[K[11;1H:sp Xxx             " split to Xxx, autocmd will do :brew[11;58H[K[12;1HG?this is a[12;12H[K[13;1Hothis should be auto-indented[1m[34m^[[0m[13;32H[K[14;1H:                   " Append text with autoindent to this file[14;63H[K[15;1H:au! BufEnter Xxx[15;18H[K[16;1H:buf Xxx            " go to Xxx, no autocmd anymore[16;52H[K[17;1HG?this is a[17;12H[K[18;1Hothis should be in column 1[1m[34m^[[0m:wq " append text without autoindent to Xxx[18;73H[K[19;1HG:r Xxx[15Cinclude Xxx in the current file[19;54H[K[20;2H?startstart?,$w! test.out
:qa![21;6H[K[22;1HENDTEST[22;8H[K[23;1H[K[24;1Hstartstart[24;21H[K[25;1Hstart of test file Xxx[25;23H[K[26;1Hvim: set noai :
        this is a test[28;9Hthis is a test
        this is a test
        this is a test
        this should be auto-indented
end of test file Xxx[32;21H[K[33;1H[1m[34m~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [25;1H[34h[?25h[32;1H[?25l[0m[36;1H[K[36;1H:[34h[?25hr Xxx             " include Xxx in the current file[?25l"Xxx" [36;20H[K[36;7H8L, 151C[33;1Hstart of test file Xxx[33;23H[K[34;1Hvim: set noai :[34;16H[K[35;1H        this is a test[35;23H[K[33;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h?startstart?,$w! test.out[?25l"test.out" [36;12H[K[36;12H[New] 17L, 316C written[33;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test5.failed test.ok test.out X* viminfo
cp test5.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test5.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test5.in" 29 lines, 949 characters[1;1HTest for autocommand that deletes the current buffer on BufLeave event.
Also test deleting the last buffer, should give a new, empty buffer.

STARTTEST
:so small.vim
:au BufLeave Xxx bwipe
/start of
:.,/end of/w! Xxx[15C" write test file Xxx
:sp Xxx[25C" split to Xxx
:bwipe[26C" delete buffer Xxx, now we're back here
G?this is a
othis is some more text[1m[34m^[[0m
:[31C" Append some text to this file
:?start?,$w! test.out[11C" Write current file contents
:bwipe test.out[17C" delete alternate buffer
:au bufleave test5.in bwipe
:bwipe![25C" delete current buffer, get an empty one
ithis is another test line[1m[34m^[[0m:w >>test.out
:[31C" append an extra line to the output file
:qa!
ENDTEST

start of test file Xxx
vim: set noai :[25;9Hthis is a test[26;9Hthis is a test[27;9Hthis is a test[28;9Hthis is a test
end of test file Xxx
[1m[34m~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTest for autocommand that deletes the current buffer on BufLeave event.[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[4;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[5;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 16 lines, 664 characters written[5;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[5;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[21;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[22;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[22;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hau BufLeave Xxx bwipe[?25l[22;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25hstart of[?25l[23;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.,/end of/w! Xxx               " write test file Xxx[?25l"Xxx" [36;7H[K[36;7H[New File] 7 lines, 124 characters written[23;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hsp Xxx                         " split to Xxx[?25l"Xxx" [36;7H[K[36;7H7 lines, 124 characters[1;1Hstart of test file Xxx[1;23H[K[2;1Hvim: set noai :[2;16H[K[3;9Hthis is a test
        this is a test
        this is a test
        this is a test
end of test file Xxx
[1m[34m~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [0m[18;1H[1m[7mXxx                                                                                                 [0m[19;35HAppend some text to this file[19;64H[K[20;2H?start?,$w! test.out[11C" Write current file contents
:bwipe test.out[17C" delete alternate buffer
:au bufleave test5.in bwipe
:bwipe!               [10C" delete current buffer, get an empty one
ithis is another test line[1m[34m^[[0m:w >>test.out
:[7C              [10C" append an extra line to the output file
:qa![26;9H[K[27;1HENDTEST[27;9H[K[28;9H[K[29;1Hstart of test file Xxx
vim: set noai :[30;16H[K[31;1H        this is a test[31;23H[K[32;1H        this is a test[32;23H[K[33;1H        this is a test[33;23H[K[34;1H        this is a test[34;23H[K[35;1H[7mtest5.in                                                                                            [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hbwipe                          " delete buffer Xxx, now we're back here[?25l[1;1HTest for autocommand that deletes the current buffer on BufLeave event.
Also test deleting the last buffer, should give a new, empty buffer.[3;9H[K[4;1HSTARTTEST[4;10H[K[5;1H:so small.vim[5;14H[K[6;1H:au BufLeave Xxx bwipe
/start of[7;10H[K[8;1H:.,/end of/w! Xxx               " write test file Xxx[8;54H[K[9;1H:sp Xxx                         " split to Xxx[9;47H[K[10;1H:bwipe                          " delete buffer Xxx, now we're back here[10;73H[K[11;1HG?this is a[11;12H[K[12;1Hothis is some more text[1m[34m^[[0m[12;26H[K[13;1H:                               " Append some text to this file[13;64H[K[14;1H:?start?,$w! test.out           " Write current file contents[14;62H[K[15;1H:bwipe test.out                 " delete alternate buffer[15;58H[K[16;1H:au bufleave test5.in bwipe[16;28H[K[17;1H:bwipe!                         " delete current buffer, get an empty one[17;74H[K[18;1Hithis is another test line[1m[34m^[[0m:w >>test.out[18;42H[K[19;35Happend an extra line to the output file
:qa![20;5H[K[21;1HENDTEST[21;8H[K[22;1H[K[23;1Hstart of test file Xxx[23;33H[K[24;1Hvim: set noai :[24;16H[K[25;1H [7Cthis is a test[25;33H[K[26;1H        this is a test
        this is a test[28;9Hthis is a test
end of test file Xxx[29;21H[K[30;1H[1m[34m~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [23;1H[34h[?25h[29;1H[?25l[0m[36;1H[K[36;1H?[34h[?25hthis is a[?25l[28;9H[34h[?25h[?25l[29;35r[29;1H[L[1;36r[29;1Hthis is some more text[36;1H[K[29;22H[34h[?25h[30;20H[?25l[36;1H:[34h[?25h                               " Append some text to this file[?25l[30;20H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h?start?,$w! test.out           " Write current file contents[?25l"test.out" [36;12H[K[36;12H[New File] 8 lines, 147 characters written[30;20H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hbwipe test.out                 " delete alternate buffer[?25l[30;20H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hau bufleave test5.in bwipe[?25l[30;20H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hbwipe!                         " delete current buffer, get an empty one[?25l[1m[37m[41mError detected while processing BufLeave Auto commands for "test5.in":[0m[36;71H[K[36;1H
[1m[37m[41mE89: No write since last change for buffer 1 (add ! to override)[0m
[1m[32mPress ENTER or type command to continue[34h[?25h[0m[1;1H[2L[?25l[2;1H[1m[34m~                                                                                                   [3;1H~                                                                                                   [4;1H~                                                                                                   [5;1H~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [0m[36;1H[K[1;1H[34h[?25h[?25lthis is another test line[34h[?25h[?25l[36;1H:[34h[?25hw >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 26 characters appended[1;25H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h                               " append an extra line to the output file[?25l[1;25H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test6.failed test.ok test.out X* viminfo
cp test6.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test6.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test6.in" 24 lines, 739 characters[1;1HTest for autocommand that redefines the argument list, when doing ":all".

STARTTEST
:so small.vim
:au BufReadPost Xxx2 next Xxx2 Xxx1
/^start of
A1[1m[34m^[[0m:.,/end of/w! Xxx1    " write test file Xxx1
$r2:.,/end of/w! Xxx2     " write test file Xxx2
$r3:.,/end of/w! Xxx3     " write test file Xxx3
:next! Xxx1 Xxx2 Xxx3     " redefine arglist; go to Xxx1
:all[22C" open window for all args
:w! test.out[14C" Write contents of Xxx1
[1m[34m^W^W^W^W[0m:w >>test.out     " Append contents of last window (Xxx1)
:rew[22C" should now be in Xxx2
:w >>test.out[13C" Append contents of Xxx2
:qa!
ENDTEST

start of test file Xxx[20;9Hthis is a test[21;9Hthis is a test[22;9Hthis is a test[23;9Hthis is a test
end of test file Xxx
[1m[34m~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTest for autocommand that redefines the argument list, when doing ":all".[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[3;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[4;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 13 lines, 537 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[4;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[17;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[18;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[18;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hau BufReadPost Xxx2 next Xxx2 Xxx1[?25l[18;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h^start of[?25l[19;1H[34h[?25h[?25l[22C1[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.,/end of/w! Xxx1    " write test file Xxx1[?25l"Xxx1" [36;9H[K[36;8H[New File] 6 lines, 109 characters written[19;23H[34h[?25h[?25l2[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.,/end of/w! Xxx2     " write test file Xxx2[?25l"Xxx2" [36;9H[K[36;8H[New File] 6 lines, 109 characters written[19;23H[34h[?25h[?25l3[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.,/end of/w! Xxx3     " write test file Xxx3[?25l"Xxx3" [36;9H[K[36;8H[New File] 6 lines, 109 characters written[19;23H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hnext! Xxx1 Xxx2 Xxx3     " redefine arglist; go to Xxx1[?25l"Xxx1"[36;8H[K[36;8H6 lines, 109 characters[1;1Hstart of test file Xxx1[1;24H[K[2;9Hthis is a test
        this is a test
        this is a test
        this is a test[5;23H[K[6;1Hend of test file Xxx
[1m[34m~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hall                      " open window for all args[?25l"Xxx2"[36;27H[K[36;8H6 lines, 109 characters
"Xxx2" 6 lines, 109 characters
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw! test.out              " Write contents of Xxx1[?25l"test.out" [36;12H[K[36;12H[New File] 6 lines, 109 characters written
[1m[32mPress ENTER or type command to continue[34h[?25h[0m[1;1H[3L[?25l[1;1Hstart of test file Xxx1[2;9Hthis is a test[3;9Hthis is a test[17;1H[1m[7mXxx1                                                                                                [0m[18;1Hstart of test file Xxx2[18;24H[K[19;1H        this is a test[19;23H[K[20;1H        this is a test[20;23H[K[21;1H        this is a test[21;23H[K[22;1H        this is a test[22;23H[K[23;1Hend of test file Xxx[23;21H[K[35;1H[7mXxx2                                                                                                [0m[36;1H[K[1;1H[34h[?25h[17;1H[7mXxx1                                                                                                [0m[35;1H[1m[7mXxx2                                                                                                [18;1H[17;1HXxx1                                                                                                [0m[35;1H[7mXxx2                                                                                                [1;1H[?25l[36;1H[0m:[34h[?25hw >>test.out     " Append contents of last window (Xxx1)[?25l"test.out" [36;12H[K[36;12H6 lines, 109 characters appended[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hrew                      " should now be in Xxx2[?25l"Xxx2" line 1 of 6 --16%-- col 1 (file 1 of 2)[36;47H[K[1;23H2[17;4H[1m[7m2[1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw >>test.out             " Append contents of Xxx2[?25l"test.out" [36;12H[K[36;12H6 lines, 109 characters appended[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test7.failed test.ok test.out X* viminfo
cp test7.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test7.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test7.in" 26 lines, 675 characters[1;1HTest for autocommand that changes the buffer list, when doing ":ball".

STARTTEST
:so small.vim
/^start of
A1[1m[34m^[[0m:.,/end of/w! Xxx1   " write test file Xxx1
:sp Xxx1
:close
$r2:.,/end of/w! Xxx2    " write test file Xxx2
:sp Xxx2
:close
$r3:.,/end of/w! Xxx3    " write test file Xxx3
:sp Xxx3
:close
:au BufReadPost Xxx2 bwipe
$r4:ball[17C" open window for all args, close Xxx2
:.,$w! test.out[10C" Write contents of this file
[1m[34m^W^W[0m:w >>test.out[8C" Append contents of second window (Xxx1)
[1m[34m^W^W[0m:/^start of/,$w >>test.out   " Append contents of last window (this file)
:qa!
ENDTEST

start of test file Xxx[24;9Hthis is a test[25;9Hthis is a test
end of test file Xxx
[1m[34m~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTest for autocommand that changes the buffer list, when doing ":ball".[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[3;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[4;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 17 lines, 508 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[4;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[21;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[22;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[22;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h^start of[?25l[23;1H[34h[?25h[?25l[22C1[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.,/end of/w! Xxx1   " write test file Xxx1[?25l"Xxx1" [36;9H[K[36;8H[New File] 4 lines, 77 characters written[23;23H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hsp Xxx1[?25l"Xxx1" [36;8H[K[36;8H4 lines, 77 characters[1;1Hstart of test file Xxx1[1;24H[K[2;9Hthis is a test
        this is a test
end of test file Xxx
[1m[34m~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [0m[18;1H[1m[7mXxx1                                                                                                [0m[19;1H:close[19;7H[K[20;1H$r3:.,/end of/w! Xxx3    " write test file Xxx3
:sp Xxx3
:close
:au BufReadPost Xxx2 bwipe
$r4:ball                 " open window for all args, close Xxx2
:.,$w! test.out          " Write contents of this file
[1m[34m^W^W[0m:w >>test.out        " Append contents of second window (Xxx1)
[1m[34m^W^W[0m:/^start of/,$w >>test.out   " Append contents of last window (this file)[27;78H[K[28;1H:qa![28;5H[K[29;1HENDTEST[29;8H[K[30;1H[K[31;1Hstart of test file Xxx1[31;24H[K[32;1H        this is a test[32;23H[K[33;1H        this is a test[33;23H[K[34;1Hend of test file Xxx[34;21H[K[35;1H[7mtest7.in [+]                                                                                        [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hclose[?25l[1;1HTest for autocommand that changes the buffer list, when doing ":ball".[2;9H[K[3;1HSTARTTEST[3;10H[K[4;1H:so small.vim[4;14H[K[5;1H/^start of[5;11H[K[6;1HA1[1m[34m^[[0m:.,/end of/w! Xxx1   " write test file Xxx1[6;48H[K[7;1H:sp Xxx1[7;9H[K[8;1H:close[8;7H[K[9;1H$r2:.,/end of/w! Xxx2    " write test file Xxx2[9;48H[K[10;1H:sp Xxx2[10;9H[K[11;1H:close[11;7H[K[12;1H$r3:.,/end of/w! Xxx3    " write test file Xxx3[12;48H[K[13;1H:sp Xxx3[13;9H[K[14;1H:close[14;7H[K[15;1H:au BufReadPost Xxx2 bwipe[15;27H[K[16;1H$r4:ball                 " open window for all args, close Xxx2[16;64H[K[17;1H:.,$w! test.out          " Write contents of this file[17;55H[K[18;1H[1m[34m^W^W[0m:w >>test.out        " Append contents of second window (Xxx1)[18;67H[K[19;1H[1m[34m^W^W[0m:/^start of/,$w >>test.out   " Append contents of last window (this file)
:qa![20;5H[K[21;1HENDTEST[21;8H[K[22;1H[K[23;1Hstart of test file Xxx1[23;24H[K[24;1H        this is a test[24;26H[K[25;1H        this is a test[25;26H[K[26;1Hend of test file Xxx[26;26H[K[27;1H[1m[34m~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [23;23H[34h[?25h[?25l[0m2[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.,/end of/w! Xxx2    " write test file Xxx2[?25l"Xxx2" [36;9H[K[36;8H[New File] 4 lines, 77 characters written[23;23H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hsp Xxx2[?25l"Xxx2" [36;8H[K[36;8H4 lines, 77 characters[1;1Hstart of test file Xxx2[1;24H[K[2;9Hthis is a test
        this is a test
end of test file Xxx
[1m[34m~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [0m[18;1H[1m[7mXxx2                                                                                                [0m[19;1H:close[19;7H[K[20;1H$r3:.,/end of/w! Xxx3    " write test file Xxx3
:sp Xxx3
:close
:au BufReadPost Xxx2 bwipe
$r4:ball                 " open window for all args, close Xxx2
:.,$w! test.out          " Write contents of this file
[1m[34m^W^W[0m:w >>test.out        " Append contents of second window (Xxx1)
[1m[34m^W^W[0m:/^start of/,$w >>test.out   " Append contents of last window (this file)[27;78H[K[28;1H:qa![28;5H[K[29;1HENDTEST[29;8H[K[30;1H[K[31;1Hstart of test file Xxx2[31;24H[K[32;1H        this is a test[32;23H[K[33;1H        this is a test[33;23H[K[34;1Hend of test file Xxx[34;21H[K[35;1H[7mtest7.in [+]                                                                                        [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hclose[?25l[1;1HTest for autocommand that changes the buffer list, when doing ":ball".[2;9H[K[3;1HSTARTTEST[3;10H[K[4;1H:so small.vim[4;14H[K[5;1H/^start of[5;11H[K[6;1HA1[1m[34m^[[0m:.,/end of/w! Xxx1   " write test file Xxx1[6;48H[K[7;1H:sp Xxx1[7;9H[K[8;1H:close[8;7H[K[9;1H$r2:.,/end of/w! Xxx2    " write test file Xxx2[9;48H[K[10;1H:sp Xxx2[10;9H[K[11;1H:close[11;7H[K[12;1H$r3:.,/end of/w! Xxx3    " write test file Xxx3[12;48H[K[13;1H:sp Xxx3[13;9H[K[14;1H:close[14;7H[K[15;1H:au BufReadPost Xxx2 bwipe[15;27H[K[16;1H$r4:ball                 " open window for all args, close Xxx2[16;64H[K[17;1H:.,$w! test.out          " Write contents of this file[17;55H[K[18;1H[1m[34m^W^W[0m:w >>test.out        " Append contents of second window (Xxx1)[18;67H[K[19;1H[1m[34m^W^W[0m:/^start of/,$w >>test.out   " Append contents of last window (this file)
:qa![20;5H[K[21;1HENDTEST[21;8H[K[22;1H[K[23;1Hstart of test file Xxx2[23;24H[K[24;1H        this is a test[24;26H[K[25;1H        this is a test[25;26H[K[26;1Hend of test file Xxx[26;26H[K[27;1H[1m[34m~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [23;23H[34h[?25h[?25l[0m3[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.,/end of/w! Xxx3    " write test file Xxx3[?25l"Xxx3" [36;9H[K[36;8H[New File] 4 lines, 77 characters written[23;23H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hsp Xxx3[?25l"Xxx3" [36;8H[K[36;8H4 lines, 77 characters[1;1Hstart of test file Xxx3[1;24H[K[2;9Hthis is a test
        this is a test
end of test file Xxx
[1m[34m~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [0m[18;1H[1m[7mXxx3                                                                                                [0m[19;1H:close[19;7H[K[20;1H$r3:.,/end of/w! Xxx3    " write test file Xxx3
:sp Xxx3
:close
:au BufReadPost Xxx2 bwipe
$r4:ball                 " open window for all args, close Xxx2
:.,$w! test.out          " Write contents of this file
[1m[34m^W^W[0m:w >>test.out        " Append contents of second window (Xxx1)
[1m[34m^W^W[0m:/^start of/,$w >>test.out   " Append contents of last window (this file)[27;78H[K[28;1H:qa![28;5H[K[29;1HENDTEST[29;8H[K[30;1H[K[31;1Hstart of test file Xxx3[31;24H[K[32;1H        this is a test[32;23H[K[33;1H        this is a test[33;23H[K[34;1Hend of test file Xxx[34;21H[K[35;1H[7mtest7.in [+]                                                                                        [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hclose[?25l[1;1HTest for autocommand that changes the buffer list, when doing ":ball".[2;9H[K[3;1HSTARTTEST[3;10H[K[4;1H:so small.vim[4;14H[K[5;1H/^start of[5;11H[K[6;1HA1[1m[34m^[[0m:.,/end of/w! Xxx1   " write test file Xxx1[6;48H[K[7;1H:sp Xxx1[7;9H[K[8;1H:close[8;7H[K[9;1H$r2:.,/end of/w! Xxx2    " write test file Xxx2[9;48H[K[10;1H:sp Xxx2[10;9H[K[11;1H:close[11;7H[K[12;1H$r3:.,/end of/w! Xxx3    " write test file Xxx3[12;48H[K[13;1H:sp Xxx3[13;9H[K[14;1H:close[14;7H[K[15;1H:au BufReadPost Xxx2 bwipe[15;27H[K[16;1H$r4:ball                 " open window for all args, close Xxx2[16;64H[K[17;1H:.,$w! test.out          " Write contents of this file[17;55H[K[18;1H[1m[34m^W^W[0m:w >>test.out        " Append contents of second window (Xxx1)[18;67H[K[19;1H[1m[34m^W^W[0m:/^start of/,$w >>test.out   " Append contents of last window (this file)
:qa![20;5H[K[21;1HENDTEST[21;8H[K[22;1H[K[23;1Hstart of test file Xxx3[23;24H[K[24;1H        this is a test[24;26H[K[25;1H        this is a test[25;26H[K[26;1Hend of test file Xxx[26;26H[K[27;1H[1m[34m~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [23;23H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hau BufReadPost Xxx2 bwipe[?25l[23;23H[34h[?25h[?25l4[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hball                 " open window for all args, close Xxx2[?25l"Xxx1"[36;23H[K[36;8H4 lines, 77 characters
"Xxx2" 4 lines, 77 characters
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25h.,$w! test.out          " Write contents of this file[?25l"test.out" [36;12H[K[36;12H[New File] 4 lines, 77 characters written
[1m[32mPress ENTER or type command to continue[34h[?25h[23m[24m[0m[H[J[?25l[1;1H:close
$r3:.,/end of/w! Xxx3    " write test file Xxx3
:sp Xxx3
:close
:au BufReadPost Xxx2 bwipe
$r4:ball[17C" open window for all args, close Xxx2
:.,$w! test.out[10C" Write contents of this file
[1m[34m^W^W[0m:w >>test.out[8C" Append contents of second window (Xxx1)
[1m[34m^W^W[0m:/^start of/,$w >>test.out   " Append contents of last window (this file)
:qa!
ENDTEST

start of test file Xxx4[14;9Hthis is a test[15;9Hthis is a test
end of test file Xxx
[1m[7mtest7.in [+]                                                                                        [0m[18;1Hstart of test file Xxx1[19;9Hthis is a test[20;9Hthis is a test
end of test file Xxx
[1m[34m~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [0m[35;1H[7mXxx1                                                                                                [13;23H[34h[?25h[17;1Htest7.in [+]                                                                                        [0m[35;1H[1m[7mXxx1                                                                                                [18;1H[?25l[36;1H[0m:[34h[?25hw >>test.out        " Append contents of second window (Xxx1)[?25l"test.out" [36;12H[K[36;12H4 lines, 77 characters appended[18;1H[34h[?25h[17;1H[1m[7mtest7.in [+]                                                                                        [0m[35;1H[7mXxx1                                                                                                [13;23H[?25l[0m[36;1H[K[36;1H:[34h[?25h/^start of/,$w >>test.out   " Append contents of last window (this file)[?25l[1m[31msearch hit BOTTOM, continuing at TOP[0m[36;37H[K[36;1H"test.out" [36;12H[K[36;12H4 lines, 77 characters appended[13;23H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test8.failed test.ok test.out X* viminfo
cp test8.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test8.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test8.in" 24 lines, 797 characters[1;1HTest for BufWritePre autocommand that deletes or unloads the buffer.

STARTTEST
:so small.vim
:au BufWritePre Xxx1 bunload
:au BufWritePre Xxx2 bwipe
/^start of
A1[1m[34m^[[0m:.,/end of/w! Xxx1  " write test file Xxx1
$r2:.,/end of/w! Xxx2   " write test file Xxx2
:e! Xxx2[16C" edit Xxx2
:bdel test8.in[10C" delete this file from the buffer list
:e Xxx1[17C" edit Xxx1
:w[22C" write it, will unload it and give an error msg
:w! test.out[12C" Write contents of this file
:e! Xxx2[16C" start editing Xxx2
:bwipe test.out[9C" remove test.out from the buffer list
:w[22C" write it, will delete the buffer and give an error msg
:w >>test.out[11C" Append contents of this file
:qa!
ENDTEST

start of Xxx[23;9Htest
end of Xxx
[1m[34m~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTest for BufWritePre autocommand that deletes or unloads the buffer.[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[3;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[4;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 16 lines, 678 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[4;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[20;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[21;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[21;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hau BufWritePre Xxx1 bunload[?25l[21;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hau BufWritePre Xxx2 bwipe[?25l[21;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h^start of[?25l[22;1H[34h[?25h[?25l[12C1[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.,/end of/w! Xxx1  " write test file Xxx1[?25l"Xxx1" [36;9H[K[36;8H[New File] 3 lines, 31 characters written[22;13H[34h[?25h[?25l2[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.,/end of/w! Xxx2   " write test file Xxx2[?25l"Xxx2" [36;9H[K[36;8H[New File] 3 lines, 31 characters written[22;13H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! Xxx2                " edit Xxx2[?25l"Xxx2" [36;8H[K[36;8H3 lines, 31 characters[1;1Hstart of Xxx2[1;14H[K[2;9Htest
end of Xxx
[1m[34m~                                                                                                   [5;1H~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hbdel test8.in[1m[34m^I^I[0m" delete this file from the buffer list[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he Xxx1                 " edit Xxx1[?25l"Xxx1" [36;25H[K[36;8H3 lines, 31 characters[1;13H1[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw                      " write it, will unload it and give an error msg[?25l"Xxx2"[36;25H[K[36;8H3 lines, 31 characters
[1m[37m[41mE203: Autocommands deleted or unloaded buffer to be written[0m
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw! test.out            " Write contents of this file[?25l"test.out" [36;12H[K[36;12H[New File] 3 lines, 31 characters written
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25he! Xxx2                " start editing Xxx2[?25l"Xxx2" [36;8H[K[36;8H3 lines, 31 characters[1;1H[3L[1;1Hstart of Xxx2[2;9Htest
end of Xxx[36;1H[K[36;1H"Xxx2" 3 lines, 31 characters[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hbwipe test.out         " remove test.out from the buffer list[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw                      " write it, will delete the buffer and give an error msg[?25l"Xxx1"[36;25H[K[36;8H3 lines, 31 characters
[1m[37m[41mE203: Autocommands deleted or unloaded buffer to be written[0m
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw >>test.out           " Append contents of this file[?25l"test.out" [36;12H[K[36;12H3 lines, 31 characters appended
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hqa![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test9.failed test.ok test.out X* viminfo
cp test9.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test9.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test9.in" 12 lines, 255 characters[1;1HTest for Bufleave autocommand that deletes the buffer we are about to edit.

STARTTEST
:so small.vim
:au BufLeave test9.in bwipe yy
:e yy
:/^start of/,$w! test.out      " Write contents of this file
:qa!
ENDTEST

start of test file xx
end of test file xx
[1m[34m~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTest for Bufleave autocommand that deletes the buffer we are about to edit.[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[3;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[4;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 5 lines, 117 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[4;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[9;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[10;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[10;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hau BufLeave test9.in bwipe yy[?25l[10;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he yy[?25l[1m[37m[41mE143: Autocommands unexpectedly deleted new buffer yy[10;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25h/^start of/,$w! test.out      " Write contents of this file[?25l"test.out" [36;12H[K[36;12H[New File] 2 lines, 42 characters written[10;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test10.failed test.ok test.out X* viminfo
cp test10.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test10.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test10.in" 57 lines, 1624 characters[1;1HTest for 'errorformat'.  This will fail if the quickfix feature was disabled.

STARTTEST
:so small.vim
:/start of errorfile/,/end of errorfile/w! Xerrorfile
:/start of testfile/,/end of testfile/w! Xtestfile
:cf Xerrorfile
rA
:cn
rB
:cn
rC
:cn
rD
:cn
rE
:w! test.out[13C" Write contents of this file
:qa!
ENDTEST

start of errorfile
"Xtestfile", line 4.12: 1506-045 (S) Undeclared identifier fd_set.
"Xtestfile", line 7 col 19; this is an error
gcc -c -DHAVE_CONFIsing-prototypes -I/usr/X11R6/include  version.c
Xtestfile:13: parse error before `asd'
make: *** [vim] Error 1
in file "Xtestfile" linenr 16: there is an error

2 returned
"Xtestfile", linenr 19: yet another problem

Does anyone know what is the problem and how to correction it?
end of errorfile

start of testfile[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTest for 'errorformat'.  This will fail if the quickfix feature was disabled.[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[3;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[4;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 15 lines, 225 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[4;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[19;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[20;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[20;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/start of errorfile/,/end of errorfile/w! Xerrorfile[?25l"Xerrorfile" [36;14H[K[36;14H[New File] 13 lines, 447 characters written[20;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/start of testfile/,/end of testfile/w! Xtestfile[?25l"Xtestfile" [36;13H[K[36;13H[New File] 23 lines, 853 characters written[20;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hcf Xerrorfile[?25l"Xtestfile" [36;13H[K[36;13H23 lines, 853 characters
(2 of 13): 1506-045 (S) Undeclared identifier fd_set.
[1m[32mPress ENTER or type command to continue[34h[?25h[0m[1;1H[2L[?25l[1;1Hstart of testfile
line 2  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 4  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 5  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[5;39H[K[6;1Hline 6  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[6;39H[K[7;1Hline 7  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 8  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 9  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 10 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 11 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 12 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 13 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 14 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 15 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 16 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 17 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[17;39H[K[18;1Hline 18 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 19 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 20 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 21 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 22 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[22;39H[K[23;1Hend of testfile[23;16H[K[24;1H[1m[34m~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [0m[36;1H[K[4;12H[34h[?25h[?25lA[34h[?25h[5;12H[?25l[36;1H:[34h[?25hcn[?25l(3 of 13): this is an error[7;19H[34h[?25h[?25lB[34h[?25h[8;19H[?25l[36;1H[K[36;1H:[34h[?25hcn[?25l(5 of 13): parse error before `asd'[13;1H[34h[?25h[?25lC[34h[?25h
[?25l[36;1H[K[36;1H:[34h[?25hcn[?25l(7 of 13): there is an error[16;1H[34h[?25h[?25lD[34h[?25h
[?25l[36;1H[K[36;1H:[34h[?25hcn[?25l(10 of 13): yet another problem[19;1H[34h[?25h[?25lE[34h[?25h
[?25l[36;1H[K[36;1H:[34h[?25hw! test.out             " Write contents of this file[?25l"test.out" [36;12H[K[36;12H[New File] 23 lines, 853 characters written[20;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test11.failed test.ok test.out X* viminfo
cp test11.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test11.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test11.in" 78 lines, 3040 characters[1;1HTests for autocommands:
- FileWritePre[10Cwriting a compressed file
- FileReadPost[10Creading a compressed file
- BufNewFile[12Creading a file template
- BufReadPre[12Cdecompressing the file to be read
- FilterReadPre[9Csubstituting characters in the temp file
- FilterReadPost[8Csubstituting characters after filtering
- FileReadPre[11Cset options for decompression
- FileReadPost[10Cdecompress the file

Note: This test will fail if "gzip" is not available.
$GZIP is made empty, "-v" would cause trouble.
Use a FileChangedShell autocommand to avoid a prompt for "Xtestfile.gz" being
modified outside of Vim (noticed on Solaris).

STARTTEST
:so small.vim
:let $GZIP = ""
:au FileChangedShell * echo "caught FileChangedShell"
:set bin
:au FileWritePre    *.gz   '[,']!gzip
:au FileWritePost   *.gz   undo
:/^start of testfile/,/^end of testfile/w! Xtestfile.gz
:au FileReadPost    *.gz   '[,']!gzip -d
:$r Xtestfile.gz[16C" Read and decompress the testfile
:?startstart?,$w! test.out      " Write contents of this file
:au BufNewFile      *.c    read Xtest.c
:/^start of test.c/+1,/^end of test.c/-1w! Xtest.c
:e! foo.c[23C" Will load Xtest.c
:au FileAppendPre   *.out  '[,']s/new/NEW/
:au FileAppendPost  *.out  !cat Xtest.c >>test.out
:w>>test.out[20C" Append it to the output file
:au! FileAppendPre
:" setup autocommands to decompress before reading and re-compress afterwards
:au BufReadPre      *.gz   !gzip -d <afile>[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTests for autocommands:[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[16;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[17;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 42 lines, 1973 characters written[17;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[17;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[23m[24m[0m[H[J[1;1H:au FilterReadPre   *.out  call rename(expand("<afile>"), expand("<afile>").".t")
:au FilterReadPre   *.out  !sed s/e/E/ <afile>.t ><afile>
:au FilterReadPre   *.out  !rm <afile>.t
:au FilterReadPost  *.out  '[,']s/x/X/g
:e! test.out[20C" Edit the output file
:23,$!cat
:23,$s/\r$//[17C" remove CR for when sed adds them
:au! FileReadPre    *.gz   !gzip -d <afile>
:au  FileReadPre    *.gz   call rename(expand("<afile>:r"), expand("<afile>"))
:au! FileReadPost   *.gz   '[,']s/l/L/
:$r Xtestfile.gz[13C" Read compressed file
:w[27C" write it, after filtering
:au![13C" remove all autocommands
:e[15C" Edit test.out again
:set nobin ff&   " use the default fileformat for writing
:w
:qa!
ENDTEST

startstart
start of testfile
line 2  Abcdefghijklmnopqrstuvwxyz
line 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 4  Abcdefghijklmnopqrstuvwxyz
line 5  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 6  Abcdefghijklmnopqrstuvwxyz
line 7  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 8  Abcdefghijklmnopqrstuvwxyz
line 9  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 10 Abcdefghijklmnopqrstuvwxyz
end of testfile

start of test.c
/*
 * Here is a new .c file[18;1H[34h[?25h
[?25l[36;1H:so! Xdotest[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hlet $GZIP = ""[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hau FileChangedShell * echo "caught FileChangedShell"[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset bin[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hau FileWritePre    *.gz   '[,']!gzip[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hau FileWritePost   *.gz   undo[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^start of testfile/,/^end of testfile/w! Xtestfile.gz[?25l[34h[?25h[?25l11 lines filtered[36;18H[K[36;1H
"Xtestfile.gz" [New File][Incomplete last line] 1 line, 111 characters written
10 more lines; before #1  0 seconds ago
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hau FileReadPost    *.gz   '[,']!gzip -d[?25l[1;1H[3L[1;1H:au FilterReadPre   *.out  call rename(expand("<afile>"), expand("<afile>").".t")
:au FilterReadPre   *.out  !sed s/e/E/ <afile>.t ><afile>
:au FilterReadPre   *.out  !rm <afile>.t[36;1H[K[31;1H[34h[?25h[?25l[36;1H:[34h[?25h$r Xtestfile.gz                " Read and decompress the testfile[?25l"Xtestfile.gz" [36;16H[K[36;16H[Incomplete last line] 1 line, 111 characters[34h[?25h[60C[?25l[1;35r[1;1H[3M[1;36r[33;2H*/
end of test.c
start of testfile[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h?startstart?,$w! test.out      " Write contents of this file[?25l"test.out" [36;12H[K[36;12H[New File] 29 lines, 788 characters written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hau BufNewFile      *.c    read Xtest.c[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^start of test.c/+1,/^end of test.c/-1w! Xtest.c[?25l[1m[31msearch hit BOTTOM, continuing at TOP[0m[36;37H[K[36;1H"Xtest.c" [36;11H[K[36;11H[New File] 3 lines, 32 characters written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! foo.c                       " Will load Xtest.c[?25l"foo.c" [New File][36;33H[K[36;1H
"Xtest.c" 3 lines, 32 characters
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hau FileAppendPre   *.out  '[,']s/new/NEW/[?25l[1;1H[2L[2;1H/*
 * Here is a new .c file
 */[4;4H[K[5;1H[1m[34m~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [0m[36;1H[K[2;1H[34h[?25h[?25l[36;1H:[34h[?25hau FileAppendPost  *.out  !cat Xtest.c >>test.out[?25l[2;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw>>test.out                    " Append it to the output file[?25l"test.out" [36;12H[K[36;12H4 lines, 33 characters appended
:!cat Xtest.c >>test.out
[34h[?25h[24m[0m
[1m[32mPress ENTER or type command to continue[?25l[0m[36;1H[K[36;1H:[34h[?25hau! FileAppendPre[?25l[23m[24m[0m[H[J[2;1H/*
 * Here is a NEW .c file
 */
[1m[34m~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [3;2H[34h[?25h[?25l[36;1H[0m:[34h[?25h" setup autocommands to decompress before reading and re-compress afterwards[?25l[3;2H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hau BufReadPre      *.gz   !gzip -d <afile>[?25l[3;2H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hau BufReadPre      *.gz   call rename(expand("<afile>:r"), expand("<afile>"))[?25l[3;2H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hau BufReadPost     *.gz   call rename(expand("<afile>"), expand("<afile>:r"))[?25l[3;2H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hau BufReadPost     *.gz   !gzip <afile>:r[?25l[3;2H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! Xtestfile.gz                " Edit compressed file[?25l:!gzip -d Xtestfile.gz[36;33H[K[36;23H
[34h[?25h[?25l[24m[0m"Xtestfile.gz"[35;1H"Xtestfile.gz" 11 lines, 357 characters[36;1H[K[36;1H:!gzip Xtestfile
[34h[?25h[24m[0m
[1m[32mPress ENTER or type command to continue[?25l[0m[36;1H[K[36;1H:[34h[?25hw>>test.out                    " Append it to the output file[?25l"test.out" [36;12H[K[36;12H11 lines, 357 characters appended
:!cat Xtest.c >>test.out
[34h[?25h[24m[0m
[1m[32mPress ENTER or type command to continue[?25l[0m[36;1H[K[36;1H:[34h[?25hset shelltemp                  " need temp files here[?25l[23m[24m[0m[H[J[1;1Hstart of testfile
line 2  Abcdefghijklmnopqrstuvwxyz
line 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 4  Abcdefghijklmnopqrstuvwxyz
line 5  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 6  Abcdefghijklmnopqrstuvwxyz
line 7  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 8  Abcdefghijklmnopqrstuvwxyz
line 9  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 10 Abcdefghijklmnopqrstuvwxyz
end of testfile
[1m[34m~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[36;1H[0m:[34h[?25hau FilterReadPre   *.out  call rename(expand("<afile>"), expand("<afile>").".t")[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hau FilterReadPre   *.out  !sed s/e/E/ <afile>.t ><afile>[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hau FilterReadPre   *.out  !rm <afile>.t[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hau FilterReadPost  *.out  '[,']s/x/X/g[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! test.out                    " Edit the output file[?25l"test.out" [36;12H[K[36;12H50 lines, 1242 characters[1;6Hstar[1;11H[K[2;1Hstart of testfile[2;18H[K[3;6H2  Abcdefghijklmnopqrstuvwxyz[3;35H[K[4;6H3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[5;6H4  Abcdefghijklmnopqrstuvwxyz[5;35H[K[6;6H5  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[7;6H6  Abcdefghijklmnopqrstuvwxyz[7;35H[K[8;6H7  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[9;6H8  Abcdefghijklmnopqrstuvwxyz[9;35H[K[10;6H9  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 10 Abcdefghijklmnopqrstuvwxyz
end of testfile[12;16H[K[13;1H[K[14;1Hstart of test.c[14;16H[K[15;1H/*[15;3H[K[16;1H * Here is a new .c file[16;25H[K[17;1H */[17;4H[K[18;1Hend of test.c[18;14H[K[19;1Hstart of testfile[19;18H[K[20;1Hline 2  Abcdefghijklmnopqrstuvwxyz[20;35H[K[21;1Hline 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[21;39H[K[22;1Hline 4  Abcdefghijklmnopqrstuvwxyz[22;35H[K[23;1Hline 5  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[23;39H[K[24;1Hline 6  Abcdefghijklmnopqrstuvwxyz[24;35H[K[25;1Hline 7  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[25;39H[K[26;1Hline 8  Abcdefghijklmnopqrstuvwxyz[26;35H[K[27;1Hline 9  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[27;39H[K[28;1Hline 10 Abcdefghijklmnopqrstuvwxyz[28;35H[K[29;1Hend of testfile[29;16H[K[30;1H[K[31;1H/*[31;3H[K[32;1H * Here is a NEW .c file[32;25H[K[33;1H */[33;4H[K[34;1H/*[34;3H[K[35;1H * Here is a new .c file[35;25H[K[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h23,$!cat[?25l[34h[?25h[?25l:!sed s/e/E/ /tmp/v101266/1.t >/tmp/v101266/1
[34h[?25h[?25l[24m[0m:!rm /tmp/v101266/1.t
[34h[?25h[?25l[24m[0m218 substitutions on 15 lines
28 lines filtered
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25h23,$s/\r$//                 " remove CR for when sed adds them[?25l[1m[37m[41mE486: Pattern not found: \r$[0m[36;30H[K[36;1H
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hau! FileReadPre    *.gz   !gzip -d <afile>[?25l[23m[24m[0m[H[J[1;1Hstartstart
start of testfile
line 2  Abcdefghijklmnopqrstuvwxyz
line 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 4  Abcdefghijklmnopqrstuvwxyz
line 5  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 6  Abcdefghijklmnopqrstuvwxyz
line 7  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 8  Abcdefghijklmnopqrstuvwxyz
line 9  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 10 Abcdefghijklmnopqrstuvwxyz
end of testfile

start of test.c
/*
 * Here is a new .c file
 */
end of test.c
start of testfile
line 2  Abcdefghijklmnopqrstuvwxyz
line 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 4  Abcdefghijklmnopqrstuvwxyz
linE 5  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
linE 6  AbcdefghijklmnopqrstuvwXyz
linE 7  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
linE 8  AbcdefghijklmnopqrstuvwXyz
linE 9  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
linE 10 AbcdefghijklmnopqrstuvwXyz
End of testfile

/*
 * HEre is a NEW .c file
 */
/*
 * HEre is a new .c file[23;1H[34h[?25h[?25l[36;1H:[34h[?25hau  FileReadPre    *.gz   call rename(expand("<afile>:r"), expand("<afile>"))[?25l[23;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hau! FileReadPost   *.gz   '[,']s/l/L/[?25l[23;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$r Xtestfile.gz             " Read compressed file[?25l:!gzip -d Xtestfile.gz[36;30H[K[36;23H
[34h[?25h[?25l[24m[0m"Xtestfile.gz"[35;1H"Xtestfile.gz" 11 lines, 357 characters[36;1H[K[36;1H11 substitutions on 11 lines
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw                           " write it, after filtering[?25l"test.out"[36;30H[K[36;12H61 lines, 1599 characters written
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hau!             " remove all autocommands[?25l[1m[37m[41mE216: No such group or event: " remove all autocommands[0m
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25he               " Edit test.out again[?25l"test.out"[36;18H[K[36;12H61 lines, 1599 characters[23m[24m[0m[H[J[1;1Hstartstart
start of testfile
line 2  Abcdefghijklmnopqrstuvwxyz
line 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 4  Abcdefghijklmnopqrstuvwxyz
line 5  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 6  Abcdefghijklmnopqrstuvwxyz
line 7  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 8  Abcdefghijklmnopqrstuvwxyz
line 9  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 10 Abcdefghijklmnopqrstuvwxyz
end of testfile

start of test.c
/*
 * Here is a new .c file
 */
end of test.c
start of testfile
line 2  Abcdefghijklmnopqrstuvwxyz
line 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 4  Abcdefghijklmnopqrstuvwxyz
linE 5  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
linE 6  AbcdefghijklmnopqrstuvwXyz
linE 7  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
linE 8  AbcdefghijklmnopqrstuvwXyz
linE 9  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
linE 10 AbcdefghijklmnopqrstuvwXyz
End of testfile

/*
 * HEre is a NEW .c file
 */
/*
 * HEre is a new .c file
"test.out" 61 lines, 1599 characters[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset nobin ff&   " use the default fileformat for writing[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw[?25l"test.out" 61 lines, 1599 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test12.failed test.ok test.out X* viminfo
cp test12.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test12.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test12.in" 52 lines, 1199 characters[1;1HTests for 'directory' option.
- ".", in same dir as file
- "./dir", in directory relative to file
- "dir", in directory relative to current dir

STARTTEST
:so small.vim
:set nocompatible viminfo+=nviminfo
:set dir=.,~
:/start of testfile/,/end of testfile/w! Xtest1
:" do an ls of the current dir to find the swap file (should not be there)
:if has("unix")
:  !ls .X*.swp >test.out
:else
:  r !ls X*.swp >test.out
:endif
:!echo first line >>test.out
:e Xtest1
:if has("unix")
:" Do an ls of the current dir to find the swap file, remove the leading dot
:" to make the result the same for all systems.
:  r!ls .X*.swp
:  s/\.*X/X/
:  .w >>test.out
:  undo
:else
:  !ls X*.swp >>test.out
:endif
:!echo under Xtest1.swp >>test.out
:!mkdir Xtest2
:set dir=./Xtest2,.,~
:e Xtest1
:!ls X*.swp >>test.out
:!echo under under >>test.out
:!ls Xtest2 >>test.out[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTests for 'directory' option.[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[6;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[7;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 40 lines, 965 characters written[7;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[7;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[1;35r[1;1H[12M[1;36r[24;1H:!echo under Xtest1.swp >>test.out
:!mkdir Xtest.je
:/start of testfile/,/end of testfile/w! Xtest2/Xtest3
:set dir=Xtest.je,~
:e Xtest2/Xtest3
:swap
:!ls Xtest2 >>test.out
:!echo under Xtest3 >>test.out
:!ls Xtest.je >>test.out
:!echo under Xtest3.swp >>test.out
:qa!
ENDTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset nocompatible viminfo+=nviminfo[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset dir=.,~[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/start of testfile/,/end of testfile/w! Xtest1[?25l"Xtest1" [36;10H[K[36;10H[New] 4L, 70C written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" do an ls of the current dir to find the swap file (should not be there)[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hif has("unix")[?25l
:  [34h[?25h:  !ls .X*.swp >test.out
[?25l:!ls .X*.swp >test.out[?1l>[34h[?25h[?1049l
ls: .X*.swp: No such file or directory

shell returned 2

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:  :[34h[?25helse
[?25l:  [34h[?25h:  r !ls X*.swp >test.out
[?25l:  [34h[?25h:endif[?25l[36;1H[K[36;1H:[34h[?25h!echo first line >>test.out[?25l[28C[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H:[34h[?25he Xtest1[?25l"Xtest1" 4L, 70C[23m[24m[0m[H[J[1;1Hstart of testfile
line 2 Abcdefghij
line 3 Abcdefghij
end of testfile
[1m[34m~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [0m[36;1H"Xtest1" 4L, 70C[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hif has("unix")[?25l
:  [34h[?25h:" Do an ls of the current dir to find the swap file, remove the leading dot
[?25l:  [34h[?25h:" to make the result the same for all systems.
[?25l:  [34h[?25h:  r!ls .X*.swp[24m[0m
[?25l:  [34h[?25h:  s/\.*X/X/
[?25l:  [34h[?25h:  .w >>test.out[?25l"test.out" [36;12H[K[36;12H1L, 11C appended
:  [34h[?25h:  undo
[?25l1 line less; before #1  0 seconds ago
:  [34h[?25h:else
[?25l:  [34h[?25h:  !ls X*.swp >>test.out
[?25l:  [34h[?25h:endif[23m[24m[0m[H[J[?25l[1;1Hstart of testfile
line 2 Abcdefghij
line 3 Abcdefghij
end of testfile
[1m[34m~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[36;1H[0m:[34h[?25h!echo under Xtest1.swp >>test.out[?25l[34C[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H:[34h[?25h!mkdir Xtest2[?25l[14C[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H:[34h[?25hset dir=./Xtest2,.,~[?25l[23m[24m[0m[H[J[1;1Hstart of testfile
line 2 Abcdefghij
line 3 Abcdefghij
end of testfile
[1m[34m~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[36;1H[0m:[34h[?25he Xtest1[?25l"Xtest1" 4L, 70C[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h!ls X*.swp >>test.out[?25l[22C[?1l>[34h[?25h[?1049l
ls: X*.swp: No such file or directory

shell returned 2

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H:[34h[?25h!echo under under >>test.out[?25l[29C[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H:[34h[?25h!ls Xtest2 >>test.out[?25l[22C[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H:[34h[?25h!echo under Xtest1.swp >>test.out[?25l[34C[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H:[34h[?25h!mkdir Xtest.je[?25l[16C[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H:[34h[?25h/start of testfile/,/end of testfile/w! Xtest2/Xtest3[?25l[1m[31msearch hit BOTTOM, continuing at TOP[0m[36;37H[K[36;1H"Xtest2/Xtest3" [36;17H[K[36;17H[New] 4L, 70C written[23m[24m[0m[H[J[1;1Hstart of testfile
line 2 Abcdefghij
line 3 Abcdefghij
end of testfile
[1m[34m~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [0m[36;1H"Xtest2/Xtest3" [New] 4L, 70C written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset dir=Xtest.je,~[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he Xtest2/Xtest3[?25l"Xtest2/Xtest3" 4L, 70C[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hswap[?25lXtest.je/Xtest3.swp[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h!ls Xtest2 >>test.out[?25l[22C[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H:[34h[?25h!echo under Xtest3 >>test.out[?25l[30C[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H:[34h[?25h!ls Xtest.je >>test.out[?25l[24C[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H:[34h[?25h!echo under Xtest3.swp >>test.out[?25l[34C[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[?1l>[34h[?25h[?1049l
rm -rf X* test.ok viminfo
rm -rf test13.failed test.ok test.out X* viminfo
cp test13.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test13.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test13.in" 58 lines, 1133 characters[1;1HTests for autocommands on :close command

Write three files and open them, each in a window.
Then go to next window, with autocommand that deletes the previous one.
Do this twice, writing the file.

Also test deleting the buffer on a Unload event.  If this goes wrong there
will be the ATTENTION prompt.

Also test changing buffers in a BufDel autocommand.  If this goes wrong there
are ml_line errors and/or a Crash.

STARTTEST
:so small.vim
:/^start of testfile/,/^end of testfile/w! Xtestje1
:/^start of testfile/,/^end of testfile/w! Xtestje2
:/^start of testfile/,/^end of testfile/w! Xtestje3
:e Xtestje1
otestje1[1m[34m^[[0m
:w
:sp Xtestje2
otestje2[1m[34m^[[0m
:w
:sp Xtestje3
otestje3[1m[34m^[[0m
:w
[1m[34m^W^W[0m
:au WinLeave Xtestje2 bwipe
[1m[34m^W^W[0m
:w! test.out
:au WinLeave Xtestje1 bwipe Xtestje3
:close
:w >>test.out
:e Xtestje1
:bwipe Xtestje2 Xtestje3 test.out[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTests for autocommands on :close command[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[13;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[14;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 38 lines, 631 characters written[14;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[14;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[1;35r[1;1H[17M[1;36r[19;1H:au!
:au! BufUnload Xtestje1 bwipe
:e Xtestje3
:w >>test.out
:e Xtestje2
:sp Xtestje1
:e
:w >>test.out
:au!
:only
:e Xtestje1
:bwipe Xtestje2 Xtestje3 test.out test13.in
:au BufWipeout Xtestje1 buf Xtestje1
:bwipe
:w >>test.out
:qa!
ENDTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^start of testfile/,/^end of testfile/w! Xtestje1[?25l"Xtestje1" [36;13H[K[36;12H[New File] 5 lines, 64 characters written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^start of testfile/,/^end of testfile/w! Xtestje2[?25l"Xtestje2" [36;13H[K[36;12H[New File] 5 lines, 64 characters written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^start of testfile/,/^end of testfile/w! Xtestje3[?25l"Xtestje3" [36;13H[K[36;12H[New File] 5 lines, 64 characters written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he Xtestje1[?25l"Xtestje1" 5 lines, 64 characters[1;1Hstart of testfile
        contents
        contents
        contents
end of testfile
[1m[34m~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[2;35r[0m[2;1H[L[1;36r[2;1Htestje1[36;1H[K[2;7H[34h[?25h[3;8H[?25l[36;1H:[34h[?25hw[?25l"Xtestje1" 6 lines, 72 characters written[3;8H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hsp Xtestje2[?25l"Xtestje2" [36;12H[K[36;12H5 lines, 64 characters[2;1H        contents


end of testfile[5;16H[K[6;1H[1m[34m~                                                                                                   [0m[18;1H[1m[7mXtestje2                                                                                            [0m[19;1Hstart of testfile[19;18H[K[20;1Htestje1[20;8H[K[21;1H        contents[21;17H[K[22;1H        contents[22;17H[K[23;1H        contents[23;17H[K[24;1Hend of testfile[24;16H[K[35;1H[7mXtestje1                                                                                            [1;1H[34h[?25h[?25l[2;17r[0m[2;1H[L[1;36r[2;1Htestje2[18;10H[1m[7m[+][0m[36;1H[K[2;7H[34h[?25h[3;8H[?25l[36;1H:[34h[?25hw[?25l"Xtestje2" 6 lines, 72 characters written[18;10H[1m[7m   [3;8H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hsp Xtestje3[?25l"Xtestje3" [36;12H[K[36;12H5 lines, 64 characters[23m[24m[0m[H[J[1;1Hstart of testfile[2;9Hcontents[3;9Hcontents[4;9Hcontents
end of testfile
[1m[34m~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [0m[12;1H[1m[7mXtestje3                                                                                            [0m[13;1Hstart of testfile
testje2[15;9Hcontents[16;9Hcontents[17;9Hcontents
end of testfile
[1m[34m~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [0m[24;1H[7mXtestje2                                                                                            [0m[25;1Hstart of testfile
testje1[27;9Hcontents[28;9Hcontents[29;9Hcontents
end of testfile
[1m[34m~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [0m[35;1H[7mXtestje1                                                                                            [1;1H[34h[?25h[?25l[2;11r[0m[2;1H[L[1;36r[2;1Htestje3[12;10H[1m[7m[+][2;7H[34h[?25h[3;8H[?25l[36;1H[0m:[34h[?25hw[?25l"Xtestje3" 6 lines, 72 characters written[12;10H[1m[7m   [3;8H[34h[?25h[0m[12;1H[7mXtestje3                                                                                            [0m[24;1H[1m[7mXtestje2                                                                                            [15;8H[16;8H[?25l[0m[36;1H[K[36;1H:[34h[?25hau WinLeave Xtestje2 bwipe[?25l[16;8H[34h[?25h[23m[24m[0m[H[J[?25l[1;1Hstart of testfile
testje3[3;9Hcontents[4;9Hcontents[5;9Hcontents
end of testfile
[1m[34m~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [0m[17;1H[7mXtestje3                                                                                            [0m[18;1Hstart of testfile
testje1[20;9Hcontents[21;9Hcontents[22;9Hcontents
end of testfile
[1m[34m~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [0m[35;1H[1m[7mXtestje1                                                                                            [20;8H[34h[?25h[21;8H[?25l[36;1H[0m:[34h[?25hw! test.out[?25l"test.out" [36;12H[K[36;12H[New File] 6 lines, 72 characters written[21;8H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hau WinLeave Xtestje1 bwipe Xtestje3[?25l[21;8H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hclose[?25l[2;7H1[17;1H[1m[34m~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [35;1H~                                                                                                   [4;8H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw >>test.out[?25l"test.out" [36;12H[K[36;12H6 lines, 72 characters appended[4;8H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he Xtestje1[?25l"Xtestje1" 6 lines, 72 characters[4;9H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hbwipe Xtestje2 Xtestje3 test.out[?25l[1m[37m[41mE94: No matching buffer for Xtestje2 Xtestje3 test.out[4;9H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hau![?25l[4;9H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hau! BufUnload Xtestje1 bwipe[?25l[4;9H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he Xtestje3[?25l"Xtestje3" 6 lines, 72 characters[2;7H3[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>test.out[?25l"test.out" [36;12H[K[36;12H6 lines, 72 characters appended[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he Xtestje2[?25l"Xtestje2" 6 lines, 72 characters[2;7H2[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hsp Xtestje1[?25l"Xtestje1" [36;12H[K[36;12H6 lines, 72 characters[2;7H1[18;1H[1m[7mXtestje1                                                                                            [0m[19;1Hstart of testfile[19;18H[K[20;1Htestje2[20;8H[K[21;1H        contents[21;17H[K[22;1H        contents[22;17H[K[23;1H        contents[23;17H[K[24;1Hend of testfile[24;16H[K[35;1H[7mXtestje2                                                                                            [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25he[?25l[1m[37m[41mE143: Autocommands unexpectedly deleted new buffer Xtestje1[0m[2;7H2[18;1H[1m[34m~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw >>test.out[?25l"test.out" [36;12H[K[36;12H6 lines, 72 characters appended[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hau![?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25honly[?25lAlready only one window[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he Xtestje1[?25l"Xtestje1" 6 lines, 72 characters[2;7H1[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hbwipe Xtestje2 Xtestje3 test.out test13.in[?25l4 buffers wiped out[36;20H[K[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hau BufWipeout Xtestje1 buf Xtestje1[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hbwipe[?25l"Xtestje1" 6 lines, 72 characters[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>test.out[?25l"test.out" [36;12H[K[36;12H6 lines, 72 characters appended[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test14.failed test.ok test.out X* viminfo
cp test14.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test14.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test14.in" 65 lines, 1012 characters[1;1HTests for "vaBiB", end could be wrong.
Also test ":s/pat/sub/" with different ~s in sub.
Also test for ^Vxff and ^Vo123 in Insert mode.
Also test "[m", "]m", "[M" and "]M"

STARTTEST
:so small.vim
/Start cursor here
vaBiBD:?Bug?,/Piece/-2w! test.out
/^- Bug
:s/u/~u~/
:s/i/~u~/
:s/o/~~~/
:.w >>test.out
:if has("ebcdic")
: let tt = "o\<C-V>193\<C-V>xc2\<C-V>o303 \<C-V>90a\<C-V>xfg\<C-V>o578\<Esc>"
:else
: let tt = "o\<C-V>65\<C-V>x42\<C-V>o103 \<C-V>33a\<C-V>xfg\<C-V>o78\<Esc>"
:endif
:exe "normal " . tt
:.w >>test.out
:set vb
/^Piece
2]maA[1m[34m^[[0m:.w >>test.out
j]maB[1m[34m^[[0m:.w >>test.out
]maC[1m[34m^[[0m:.w >>test.out
[maD[1m[34m^[[0m:.w >>test.out
k2[maE[1m[34m^[[0m:.w >>test.out
3[maF[1m[34m^[[0m:.w >>test.out
]MaG[1m[34m^[[0m:.w >>test.out
j2]MaH[1m[34m^[[0m:.w >>test.out
]M]MaI[1m[34m^[[0m:.w >>test.out
2[MaJ[1m[34m^[[0m:.w >>test.out
k[MaK[1m[34m^[[0m:.w >>test.out
3[MaL[1m[34m^[[0m:.w >>test.out[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTests for "vaBiB", end could be wrong.[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[6;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[7;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 30 lines, 613 characters written[7;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[7;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[1;35r[1;1H[2M[1;36r[34;1H:qa!
ENDTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25hStart cursor here[?25l[1;35r[1;1H[5M[1;36r[31;1H- Bug in "vPPPP" on this text (Webb):[32;9H{[33;17Hcmd;[34;17H{[35;25Hcmd;    /* <-- Start cursor here */[36;1H[K[35;40H[34h[?25h[?25l[34h[?25h[?25l[1;35r[1;1H[3M[1;36r[31;17H[7m{ 
                        cmd;    /* <-- Start cursor here */ 
                        { 
                        } 
                [0m}[34h[?25h[?25l[30;1H[7m                cmd; 
                [35;17H}[34h[?25h[?25l[0m
6 fewer lines[30;1H        }[30;10H[K[31;1H[K[32;1HPiece of Java[32;14H[K[33;1H{[33;2H[K[34;1H        tt m1 {[34;16H[K[35;1H                t1;[30;9H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h?Bug?,/Piece/-2w! test.out[?25l"test.out" [36;12H[K[36;12H[New File] 3 lines, 44 characters written[30;9H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h^- Bug[?25l[1m[31msearch hit BOTTOM, continuing at TOP[28;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hs/u/~u~/[?25l[28;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hs/i/~u~/[?25l[28;7Huuun "vPPPP" on this text (Webb):[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hs/o/~~~/[?25l[28;20Huuuuuuuuun this text (Webb):[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 48 characters appended[28;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hif has("ebcdic")[?25l
:  [34h[?25h: let tt = "o\<C-V>193\<C-V>xc2\<C-V>o303 \<C-V>90a\<C-V>xfg\<C-V>o578\<Esc>"
[?25l:  [34h[?25h:else
[?25l:  [34h[?25h: let tt = "o\<C-V>65\<C-V>x42\<C-V>o103 \<C-V>33a\<C-V>xfg\<C-V>o78\<Esc>"
[?25l:  [34h[?25h:endif[1;1H[4L[?25l[1;1H:s/i/~u~/
:s/o/~~~/
:.w >>test.out
:if has("ebcdic")[36;1H[K[28;1H[34h[?25h[?25l[36;1H:[34h[?25hexe "normal " . tt[?25l[29;35r[29;1H[L[1;36r[29;1HABC !a[1m[34m^O[0mg[1m[34m^G[0m8[36;1H[K[29;12H[34h[?25h[?25l[36;1H:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 11 characters appended[29;12H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset vb[?25l[29;12H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h^Piece[?25l[33;1H[34h[?25h[35;15H[?25l{A[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 10 characters appended[35;16H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;17Ht1;[36;1H[K[35;16H[34h[?25h[?25l[1;35r[1;1H[3M[1;36r[33;9H} e1[35;9Htt m2 {[34h[?25h[?25l{B[34h[?25h[?25l
:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 10 characters appended[35;16H[34h[?25h[?25l[1;35r[1;1H[4M[1;36r[32;17Ht2;[33;9H} e2[35;9Htt m3 {[36;1H[K[35;15H[34h[?25h[?25l{C[34h[?25h[?25l
:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 10 characters appended[35;16H[34h[?25h[?25l{DC[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 11 characters appended[35;16H[34h[?25h[34;1H[27;15H[?25l{EA[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 11 characters appended[27;16H[34h[?25h[26;1H[?25l{F[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 3 characters appended[26;2H[34h[?25h[29;9H[?25l}G e1[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 7 characters appended[29;10H[34h[?25h
[?25l[1;35r[1;1H[5M[1;36r[31;17Hif (x)[32;17H{[33;25Ht3;[34;17H}[35;9H} e3[36;1H[K[35;9H[34h[?25h[?25l}H e3[34h[?25h[?25l
:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 7 characters appended[35;10H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H}[36;1H[K[35;1H[34h[?25hg[?25l}I[34h[?25h[?25l
:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 3 characters appended[35;2H[34h[?25h[34;9H[?25l}JH e3[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 8 characters appended[34;10H[34h[?25h[33;16H[27;9H[?25l}K e2[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 7 characters appended[27;10H[34h[?25h[20;1H[?25l{LF[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 4 characters appended[20;2H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test15.failed test.ok test.out X* viminfo
cp test15.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test15.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test15.in" 136 lines, 2246 characters[1;1HTests for :right on text with embedded TAB.
Also test formatting a paragraph.
Also test undo after ":%s" and formatting.

STARTTEST
:so small.vim
:set tw=65

:/^\s*test for :left/,/^\s*test for :center/ left
:/^\s*test for :center/,/^\s*test for :right/ center
:/^\s*test for :right/,/^xxx/-1 right
:set fo+=tcroql tw=72
/xxxxxxxx$
0gq6kk
:set nocp viminfo+=nviminfo
:" undo/redo here to make the next undo only work on the following changes
u[1m[34m^R[0m
:map gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq
/^aa
ggu
:?test for :left?,$w! test.out
:qa!
ENDTEST[25;9Htest for :left[26;11Ha[13Ca[27;13Hfa[10Ca[28;11Hdfa[11Ca[29;17Hsdfa[12Ca[30;11Hasdfa[9Ca[31;17Hxasdfa[10Ca
asxxdfa[9Ca[34;9Htest for :center[35;11Ha[13Ca[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTests for :right on text with embedded TAB.[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[5;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[6;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 17 lines, 401 characters written[6;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[6;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[23;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[24;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[24;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset tw=65[?25l[24;1H[34h[?25h[25;8H[?25l[36;1H[K[36;1H:[34h[?25h/^\s*test for :left/,/^\s*test for :center/ left[?25l[1m[31msearch hit BOTTOM, continuing at TOP[0m[36;37H[K[25;1Htest for :left[25;15H[K[26;1Ha[9C      a[26;25H[K[27;1Hfa[10C    a[27;25H[K[28;1Hdfa[7C      a[28;25H[K[29;1Hsdfa[12Ca[29;18H[K[30;1Hasdfa           a[30;25H[K[31;1Hxasdfa[10Ca[31;18H[K[34;1Htest for :cente[34;18H[K[25;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^\s*test for :center/,/^\s*test for :right/ center[?25l[34;1H                [8Ctest for :center[35;11H [13C a[14Ca[25;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^\s*test for :right/,/^xxx/-1 right[?25l[25;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset fo+=tcroql tw=72[?25l[25;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25hxxxxxxxx$[?25l[23m[24m[0m[H[J[1;43Hasdfa[9Caxxxoik[2;42Hxasdfa[9Caxxxoik[3;41Hasxxdfa[9Caxxxoik[4;40Hasxa;ofa[9Caxxxoik[5;39Hasdfaqwer[9Caxxxoik[6;47Ha[9Caxxxoike[7;46Hfa[9Caxxxoike[8;45Hdfa[9Caxxxoike[9;44Hsdfa[9Caxxxoike[10;43Hasdfa[9Caxxxoike[11;42Hxasdfa[9Caxxxoike[12;41Hasxxdfa[9Caxxxoike[13;40Hasxa;ofa[9Caxxxoike[14;39Hasdfaqwer[9Caxxxoike[15;47Ha[9Caxxxoikey[16;46Hfa[9Caxxxoikey[17;45Hdfa[9Caxxxoikey[18;44Hsdfa[9Caxxxoikey[19;43Hasdfa[9Caxxxoikey[20;42Hxasdfa[9Caxxxoikey[21;41Hasxxdfa[9Caxxxoikey[22;40Hasxa;ofa[9Caxxxoikey[23;39Hasdfaqwer[9Caxxxoikey

xxxxx xx xxxxxx
xxxxxxx xxxxxxxxx xxx xxxx xxxxx xxxxx xxx xx
xxxxxxxxxxxxxxxxxx xxxxx xxxx, xxxx xxxx xxxx xxxx xxx xx xx
xx xxxxxxx. xxxx xxxx.

> xx xx, xxxx xxxx xxx xxxx xxx xxxxx xxx xxx xxxxxxx xxx xxxxx
> xxxxxx xxxxxxx: xxxx xxxxxxx, xx xxxxxx xxxx xxxxxxxxxx

aa aa aa aa
bb bb bb bb
cc cc cc cc[31;50H[34h[?25h[?25l[25;35r[35;1H
[1;36r[25;6H xx xxxxxx xxxxxxx xxxxxxxxx xxx xxxx xxxxx xxxxx xxx xx[26;62Hxx xxxxxxx.
xxxx xxxx.[27;11H[K[29;65Hxxxxxx[30;9Hx: xxxx xxxxxxx, xx xxxx[7C xxxxxxx[30;51H[K[35;1H[1m[34m~                                                                                                   [30;1H[34h[?25h[29;1H
[?25l[36;1H[0m:[34h[?25hset nocp viminfo+=nviminfo[?25l[30;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" undo/redo here to make the next undo only work on the following changes[?25l[30;1H[34h[?25h[?25l[36;1H1 more line; before #1  0 seconds ago[36;38H[K[23m[24m[0m[H[J[2;1H:/^\s*test for :left/,/^\s*test for :center/ left
:/^\s*test for :center/,/^\s*test for :right/ center
:/^\s*test for :right/,/^xxx/-1 right
:set fo+=tcroql tw=72
/xxxxxxxx$
0gq6kk
:set nocp viminfo+=nviminfo
:" undo/redo here to make the next undo only work on the following changes
u[1m[34m^R[0m
:map gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq
/^aa
ggu
:?test for :left?,$w! test.out
:qa!
ENDTEST[18;9Htest for :left[19;11Ha[13Ca[20;13Hfa[10Ca[21;11Hdfa[11Ca[22;17Hsdfa[12Ca[23;11Hasdfa[9Ca[24;17Hxasdfa[10Ca
asxxdfa[9Ca[27;9Htest for :center[28;11Ha[13Ca[29;13Hfa[10Cafd asdf[30;11Hdfa[11Ca[31;17Hsdfa[12Cafd asdf[32;11Hasdfa[9Ca[33;17Hxasdfa[10Casdfasdfasdfasdfasdf
asxxdfa[9Ca[18;8H[34h[?25h[?25l[36;1H1 line less; after #1  0 seconds ago[18;1Htest for :left[18;15H[K[19;1Ha[9C      a[19;25H[K[20;1Hfa[10C    a[20;25H[K[21;1Hdfa[7C      a[21;25H[K[22;1Hsdfa[12Ca[22;18H[K[23;1Hasdfa           a[23;25H[K[24;1Hxasdfa[10Ca[24;18H[K[27;9H                test for :center[28;11H [13C a[14Ca[29;13H  [8Cfa        [8Cafd asdf[30;11H   [11C dfa[12Ca[31;17H    sdfa[8C        afd asdf[32;11H     [9C asdfa[10Ca[33;15Hxasdfa  
       [9C [7Casxxdfa[9Ca[18;1H[34h[?25h
[?25l[36;1H[K[36;1H:[34h[?25hmap gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h^aa[?25l[23m[24m[0m[H[J[1;44Hsdfa[9Caxxxoik[2;43Hasdfa[9Caxxxoik[3;42Hxasdfa[9Caxxxoik[4;41Hasxxdfa[9Caxxxoik[5;40Hasxa;ofa[9Caxxxoik[6;39Hasdfaqwer[9Caxxxoik[7;47Ha[9Caxxxoike[8;46Hfa[9Caxxxoike[9;45Hdfa[9Caxxxoike[10;44Hsdfa[9Caxxxoike[11;43Hasdfa[9Caxxxoike[12;42Hxasdfa[9Caxxxoike[13;41Hasxxdfa[9Caxxxoike[14;40Hasxa;ofa[9Caxxxoike[15;39Hasdfaqwer[9Caxxxoike[16;47Ha[9Caxxxoikey[17;46Hfa[9Caxxxoikey[18;45Hdfa[9Caxxxoikey[19;44Hsdfa[9Caxxxoikey[20;43Hasdfa[9Caxxxoikey[21;42Hxasdfa[9Caxxxoikey[22;41Hasxxdfa[9Caxxxoikey[23;40Hasxa;ofa[9Caxxxoikey[24;39Hasdfaqwer[9Caxxxoikey

xxxxx xx xxxxxx xxxxxxx xxxxxxxxx xxx xxxx xxxxx xxxxx xxx xx
xxxxxxxxxxxxxxxxxx xxxxx xxxx, xxxx xxxx xxxx xxxx xxx xx xx xx xxxxxxx.
xxxx xxxx.

> xx xx, xxxx xxxx xxx xxxx xxx xxxxx xxx xxx xxxxxxx xxx xxxxx xxxxxx
> xxxxxxx: xxxx xxxxxxx, xx xxxxxx xxxx xxxxxxxxxx

aa aa aa aa
bb bb bb bb
cc cc cc cc[33;1H[34h[?25h[?25l


:.,.+2s/^/x/3 substitutions on 3 lines[33;1Hxaa aa aa aa
xbb bb bb bb
xcc cc cc cc[34h[?25h[34;1H[33;1H[?25l[36;1H[K[36;1H:set tw=3[33;1H[34h[?25h[?25l


3 more lines[1;35r[35;1H
[1;36r[32;5H[K[33;1Haa[33;3H[K[34;1Haa[34;3H[K[35;1Haa[36;1H[K[36;1H3 more lines[35;1H[34h[?25h[?25l
3 fewer lines; before #2  0 seconds ago[32;1Haa aa aa aa
bb bb bb bb
cc cc cc cc
[1m[34m~                                                                                                   [32;1H[34h[?25h
[?25l[0m[36;1H[K[36;1H:[34h[?25h?test for :left?,$w! test.out[?25l"test.out"[36;12H[K[36;12H[New] 111L, 2304C written[33;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test17.failed test.ok test.out X* viminfo
cp test17.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test17.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test17.in" 27 lines, 368 characters[1;1HTests for "gf" on ${VAR}

STARTTEST
:so small.vim
:if has("ebcdic")
: set isfname=@,240-249,/,.,-,_,+,,,$,:,~,{,}
:else
: set isfname=@,48-57,/,.,-,_,+,,,$,:,~,{,}
:endif
:if has("unix")
:let $CDIR = "."
/CDIR
:else
:if has("amiga")
:let $TDIR = "/testdir"
:else
:let $TDIR = "."
:endif
/TDIR
:endif
gf
:w! test.out
:qa!
ENDTEST[26;9H${CDIR}/test17a.in[27;9H$TDIR/test17a.in
[1m[34m~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTests for "gf" on ${VAR}[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[3;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[4;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 20 lines, 285 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[4;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[24;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[25;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[25;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hif has("ebcdic")[?25l
:  [34h[?25h: set isfname=@,240-249,/,.,-,_,+,,,$,:,~,{,}
[?25l:  [34h[?25h:else
[?25l:  [34h[?25h: set isfname=@,48-57,/,.,-,_,+,,,$,:,~,{,}
[?25l:  [34h[?25h:endif[1;1H[4L[?25l[1;1HTests for "gf" on ${VAR}

STARTTEST
:so small.vim[36;1H[K[25;1H[34h[?25h[?25l[36;1H:[34h[?25hif has("unix")[?25l
:  [34h[?25h:let $CDIR = "."
[?25l:  [34h[?25h/CDIR
[?25l:  [34h[?25h:else
[?25l:  [34h[?25h:if has("amiga")
[?25l:    [34h[?25h:let $TDIR = "/testdir"
[?25l:    [34h[?25h:else
[?25l:    [34h[?25h:let $TDIR = "."
[?25l:    [34h[?25h:endif
[?25l:  [34h[?25h/TDIR
[?25l:  [34h[?25h:endif[1;1H[10L[?25l[1;1HTests for "gf" on ${VAR}

STARTTEST
:so small.vim
:if has("ebcdic")
: set isfname=@,240-249,/,.,-,_,+,,,$,:,~,{,}
:else
: set isfname=@,48-57,/,.,-,_,+,,,$,:,~,{,}
:endif
:if has("unix")[36;1H[K[26;9H[34h[?25h[?25l[36;1H"/sources/vim70/src/testdir/./test17a.in" 3 lines, 88 characters[1;2Hhis file is just to test "gf" in test 17.
The contents is not importent.
Just testing!
[1m[34m~                                                                                                   [5;1H~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [1;1H[34h[?25h
[?25l[0m[36;1H[K[36;1H:[34h[?25hw! test.out[?25l"test.out" [36;12H[K[36;12H[New File] 3 lines, 88 characters written[2;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test18.failed test.ok test.out X* viminfo
cp test18.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test18.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test18.in" 16 lines, 213 characters[1;1HTests for not doing smart indenting when it isn't set.

STARTTEST
:so small.vim
:set nocin nosi ai
/some
2cc#test[1m[34m^[[0m
:?start?,$w! test.out
:qa!
ENDTEST

start text[13;17Hsome test text[14;17Htest text
test text[16;17Htest text
[1m[34m~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTests for not doing smart indenting when it isn't set.[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[3;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[4;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 6 lines, 76 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[4;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[10;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[11;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[11;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset nocin nosi ai[?25l[11;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25hsome[?25l[13;17H[34h[?25h[?25l[13;35r[35;1H
[1;36r[13;17H#test[13;22H[K[35;1H[1m[34m~                                                                                                   [0m[36;1H[K[13;21H[34h[?25h[14;9H[?25l[36;1H:[34h[?25h?start?,$w! test.out[?25l"test.out" [36;12H[K[36;12H[New File] 4 lines, 41 characters written[14;9H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test19.failed test.ok test.out X* viminfo
cp test19.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test19.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test19.in" 23 lines, 374 characters[1;1HTests for "r<Tab>" with 'smarttab' and 'expandtab' set/not set.

STARTTEST
:set smarttab expandtab ts=8 sw=4
/some
r[7C:set noexpandtab
/other
r
:" Test replacing with Tabs and then backspacing to undo it
0wR[21C[1m[34m^H^H^H^[[0m
:" Test replacing with Tabs
0wR[21C[1m[34m^[[0m
:?^start?,$w! test.out
:qa!
ENDTEST

start text[18;17Hsome test text
test text[20;17Hother test text
    a cde
    f ghi
test text
[1m[34m~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTests for "r<Tab>" with 'smarttab' and 'expandtab' set/not set.[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[3;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[4;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 11 lines, 204 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[4;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[15;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[16;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset smarttab expandtab ts=8 sw=4[?25l[16;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25hsome[?25l[18;17H[34h[?25h[?25l    ome test text[18;20H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset noexpandtab[?25l[18;20H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25hother[?25l[20;17H[34h[?25h[?25l    ther test text[20;20H[34h[?25h[21;9H[?25l[36;1H[K[36;1H:[34h[?25h" Test replacing with Tabs and then backspacing to undo it[?25l[21;9H[34h[?25h    [?25l[34h[?25h
   [?25l[36;1H[K[36;1H:[34h[?25h" Test replacing with Tabs[?25l[22;4H[34h[?25h    [?25l     [7Chi[34h[?25h[23;9H[?25l[36;1H[K[36;1H:[34h[?25h?^start?,$w! test.out[?25l"test.out" [36;12H[K[36;12H[New File] 7 lines, 91 characters written[23;9H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test20.failed test.ok test.out X* viminfo
cp test20.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test20.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test20.in" 22 lines, 361 characters[1;1HTests Blockwise Visual when there are TABs before the text.
First test for undo working properly when executing commands from a register.
Also test this in an empty buffer.

STARTTEST
:so tiny.vim
G0"ay$k@au
:new
@auY:quit!
GP
/start here$
[1m[34m^V[0mjjlld
:/here$/,$-1w! test.out
:qa!
ENDTEST

test text test tex start here[18;17Hsome text[19;17Htest text
test text

Ox[1m[34m^[[0mjAy[1m[34m^[[0mkdd
[1m[34m~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTests Blockwise Visual when there are TABs before the text.[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[5;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[6;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 9 lines, 92 characters written[6;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[6;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[15;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[16;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso tiny.vim[?25l[16;1H[34h[?25h[22;1H[21;1H[?25l[21;35r[21;1H[L[1;36r[21;1Hx[36;1H[K[21;1H[34h[?25h
[?25ly[34h[?25h[21;1H[?25l[21;35r[35;1H
[1;36r[35;1H[1m[34m~                                                                                                   [21;1H[34h[?25h[?25l[0m[36;1H2 changes; before #1  0 seconds ago[21;1H[K[21;1H[34h[?25h
[?25l[36;1H[K[36;1H:[34h[?25hnew[?25l[1;1H[K[2;1H[1m[34m~                                                                                                   [3;1H~                                                                                                   [4;1H~                                                                                                   [5;1H~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [0m[18;1H[1m[7m[No Name]                                                                                           [0m[19;1HG0"ay$k@au[19;17H[K[20;1H:new[20;6H[K[21;1H@auY:quit!
GP[22;3H[K[23;1H/start here$[23;13H[K[24;1H[1m[34m^V[0mjjlld[24;8H[K[25;1H:/here$/,$-1w! test.out[25;24H[K[26;1H:qa![26;5H[K[27;1HENDTEST[27;8H[K[28;1H[K[29;1Htest text test tex start here[29;30H[K[30;1H                some text[30;26H[K[31;1H                test text[31;26H[K[32;1Htest text[32;10H[K[33;1H[K[34;1HOx[1m[34m^[[0mjAy[1m[34m^[[0mkdd[34;13H[K[35;1H[7mtest20.in                                                                                           [1;1H[34h[?25h[?25l[1;17r[0m[1;1H[L[1;36r[1;1Hx[18;11H[1m[7m[+][0m[36;1H[K[1;1H[34h[?25h
[?25ly[34h[?25h[1;1H[?25l[1;17r[17;1H
[1;36r[17;1H[1m[34m~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H1 line less; before #1  0 seconds ago[1;1H[K[18;11H[1m[7m   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hquit![?25l[1;1HTests Blockwise Visual when there are TABs before the text.
First test for undo working properly when executing commands from a register.[2;78H[K[3;1HAlso test this in an empty buffer.[3;35H[K[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so tiny.vim[6;13H[K[7;1HG0"ay$k@au[7;11H[K[8;1H:new[8;5H[K[9;1H@auY:quit![9;11H[K[10;1HGP[10;3H[K[11;1H/start here$[11;13H[K[12;1H[1m[34m^V[0mjjlld[12;8H[K[13;1H:/here$/,$-1w! test.out[13;24H[K[14;1H:qa![14;5H[K[15;1HENDTEST[15;8H[K[16;1H[K[17;1Htest text test tex start here[17;30H[K[18;1H                some text[18;26H[K[19;1H                test text
test text[21;1H[K[22;1HOx[1m[34m^[[0mjAy[1m[34m^[[0mkdd
[1m[34m~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [22;1H[34h[?25h[?25l[22;35r[0m[22;1H[L[1;36r[36;1H[K[22;1H[34h[?25h
[?25l[36;1H/[34h[?25hstart here$[?25l[1m[31msearch hit BOTTOM, continuing at TOP[17;20H[34h[?25h[?25l[34h[?25h[?25l[0m[7ms[18;20H[34h[?25h[?25le[19;20H[34h[?25h[?25l[17;21Ht[18;21H [19;20Ht[34h[?25h[?25l[17;22Ha[18;22Ht[19;21H [34h[?25h[?25l[0m[17;20Hrt here[17;27H[K[18;20Hext[18;23H[K[19;20Hex[19;23H[K[17;20H[34h[?25h[18;20H[?25l[36;1H[K[36;1H:[34h[?25h/here$/,$-1w! test.out[?25l[1m[31msearch hit BOTTOM, continuing at TOP[0m"test.out" [36;12H[K[36;12H[New File] 6 lines, 57 characters written[18;20H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test21.failed test.ok test.out X* viminfo
cp test21.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test21.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test21.in" 19 lines, 297 characters[1;1HTests for [ CTRL-I with a count and CTRL-W CTRL-I with a count

STARTTEST
:so small.vim
/start
6[      :.w! test.out
?start here
6[1m[34m^W[0m     :.w >>test.out
:qa!
ENDTEST

#include test21.in

/* test text test tex start here[15;17Hsome text[16;17Htest text[17;17Hstart OK if found this line[18;9Hstart found wrong line
test text
[1m[34m~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTests for [ CTRL-I with a count and CTRL-W CTRL-I with a count[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[3;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[4;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 6 lines, 73 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[4;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[10;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[11;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[11;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25hstart[?25l[14;23H[34h[?25h[17;17H[?25l[36;1H[K[36;1H:[34h[?25h.w! test.out[?25l"test.out" [36;12H[K[36;12H[New File] 1 line, 30 characters written[17;17H[34h[?25h[?25l[36;1H[K[36;1H?[34h[?25hstart here[?25l[14;23H[34h[?25h[?25l[1;1HSTARTTEST[1;11H[K[2;1H:so small.vim
/start[3;7H[K[4;1H6[      :.w! test.out
?start here
6[1m[34m^W[0m[8C >>test.out
:qa![7;5H[K[8;1HENDTEST[8;9H[K[9;1H[K[10;1H#include test21.in

/* test text test tex start here[13;17Hsome text
                test text[14;26H[K[15;18Htart OK if found this line[16;9Hstart found wrong line
test text[17;17H[K[18;1H[1m[7mtest21.in                                                                                           [0m[19;1H:so small.vim
/start[20;7H[K[21;1H6[      :.w! test.out[21;22H[K[22;1H?start here[22;12H[K[23;1H6[1m[34m^W[0m     :.w >>test.out[23;23H[K[24;1H:qa![24;5H[K[25;1HENDTEST[25;8H[K[26;1H[K[27;1H#include test21.in[27;19H[K[28;1H[K[29;1H/* test text test tex start here[29;33H[K[30;1H                some text[30;26H[K[31;1H                test text[31;26H[K[32;1H                start OK if found this line[32;44H[K[33;1H        start found wrong line[33;31H[K[34;1Htest text[34;10H[K[35;1H[7mtest21.in                                                                                           [15;17H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 30 characters appended[15;17H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test22.failed test.ok test.out X* viminfo
cp test22.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test22.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test22.in" 13 lines, 197 characters[1;1HTests for file with some lines ending in CTRL-M, some not[1m[34m^M
^M[0m
STARTTEST
:set ta tx
:e!
:$-3,$w! test.out
:qa!
ENDTEST

this lines ends in a[1m[34m^M[0m
this one doesn't
this one does[1m[34m^M[0m
and the last one doesn't
[1m[34m~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTests for file with some lines ending in CTRL-M, some not[1m[34m^M[0m[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[3;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[4;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 4 lines, 38 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[4;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[8;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[9;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset ta tx[?25l[9;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he![?25l"test22.in" 13 lines, 197 characters[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$-3,$w! test.out[?25l"test.out" [36;12H[K[36;12H[New File] 4 lines, 79 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test23.failed test.ok test.out X* viminfo
cp test23.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test23.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test23.in" 15 lines, 282 characters[1;1HTests for complicated + argument to :edit command

STARTTEST
:$-1w! Xfile1
:$w! Xfile2
:edit +1|s/|/PIPE/|w Xfile1| e Xfile2|1 | s/\//SLASH/|w
:w! test.out
:e Xfile1
:w >> test.out
:qa!
ENDTEST

The result should be in Xfile1: "fooPIPEbar", in Xfile2: "fooSLASHbar"
foo|bar
foo/bar
[1m[34m~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTests for complicated + argument to :edit command[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[3;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[4;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 7 lines, 125 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[4;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[11;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[12;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$-1w! Xfile1[?25l"Xfile1" [36;10H[K[36;10H[New File] 1 line, 8 characters written[12;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$w! Xfile2[?25l"Xfile2" [36;10H[K[36;10H[New File] 1 line, 8 characters written[12;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hedit +1|s/|/PIPE/|w Xfile1| e Xfile2|1 | s/\//SLASH/|w[?25l"Xfile1" [36;10H[K[36;10H1 line, 8 characters
foo|bar
"Xfile1" 1 line, 11 characters written
"Xfile2" 1 line, 8 characters
foo/bar
"Xfile2" 1 line, 12 characters written
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw! test.out[?25l"test.out" [36;12H[K[36;12H[New File] 1 line, 12 characters written
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25he Xfile1[?25l"Xfile1" 1 line, 11 characters[1;1H[7L[1;1HfooPIPEbar
[1m[34m~                                                                                                   [3;1H~                                                                                                   [4;1H~                                                                                                   [5;1H~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [0m[36;1H[K[36;1H"Xfile1" 1 line, 11 characters[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >> test.out[?25l"test.out" [36;12H[K[36;12H1 line, 11 characters appended[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test24.failed test.ok test.out X* viminfo
cp test24.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test24.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test24.in" 79 lines, 1240 characters[1;1HTests for regexp with backslash and other special characters inside []
Also test backslash for hex/octal numbered character.

STARTTEST
:set nocompatible viminfo+=nviminfo
/[\x]
x/[\t\]]
x/[]y]
x/[\]]
x/[y^]
x/[$y]
x/[\x61]
x/[\x60-\x64]
xj0/[\x785]
x/[\o143]
x/[\o140-\o144]
x/[\o417]
x/\%x42
x/\%o103
x/[\x00]
x
:s/[\x00-\x10]//g

:s/[\x-z]\+//

:s/[\u-z]\{2,}//

:s/\(a\)\+//

:s/\(a*\)\+//

:s/\(a*\)*//

:s/\(a\)\{2,3}/A/[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTests for regexp with backslash and other special characters inside [][36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[4;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[5;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 44 lines, 480 characters written[5;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[5;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[1;35r[1;1H[14M[1;36r[22;1H:s/\(a\)\{-2,3}/A/

:s/\(a\)*\(12\)\@>/A/

:s/\(foo\)\@<!bar/A/

:s/\(an\_s\+\)\@<=file/A/

:s/^\(\h\w*\%(->\|\.\)\=\)\+=/XX/

:s/^\(\h\w*\%(->\|\.\)\=\)\+=/YY/
:?start?,$w! test.out
:qa!
ENDTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset nocompatible viminfo+=nviminfo[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h[\x][?25l[1;35r[1;1H[2M[1;36r[34;1Hstart
test \text test text[36;1H[K[35;6H[34h[?25h[?25ltext test text[35;20H[K[35;6H[34h[?25h[?25l
/[34h[?25h[\t\]][?25l[1;35r[35;1H
[1;36r[35;1Htest    text test text[36;1H[K[35;8H[34h[?25h[?25ltext test tex[35;20H[K[35;6H[34h[?25h[?25l
/[34h[?25h[]y][?25l[1;35r[35;1H
[1;36r[35;1Htest text ]test text[36;1H[K[35;11H[34h[?25h[?25ltest text[35;20H[K[35;11H[34h[?25h[?25l
/[34h[?25h[\]][?25l[1;35r[35;1H
[1;36r[35;1Htest ]text test text[36;1H[K[35;6H[34h[?25h[?25ltext test text[35;20H[K[35;6H[34h[?25h[?25l
/[34h[?25h[y^][?25l[1;35r[35;1H
[1;36r[35;1Htest text te^st text[36;1H[K[35;13H[34h[?25h[?25lst text[35;20H[K[35;13H[34h[?25h[?25l
/[34h[?25h[$y][?25l[1;35r[35;1H
[1;36r[35;1Htest te$xt test text[36;1H[K[35;8H[34h[?25h[?25lxt test text[35;20H[K[35;8H[34h[?25h[?25l
/[34h[?25h[\x61][?25l[1;35r[35;1H
[1;36r[35;1Htest taext test text  x61[36;1H[K[35;7H[34h[?25h[?25lext test text  x61[35;25H[K[35;7H[34h[?25h[?25l
/[34h[?25h[\x60-\x64][?25l[1;35r[35;1H
[1;36r[35;1Htest tbext test text  x60-x64[36;1H[K[35;7H[34h[?25h[?25lext test text  x60-x64[35;29H[K[35;7H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1Htest 5text test text  x78 5[35;7H[34h[?25h[?25l
/[34h[?25h[\x785][?25l[35;6H[34h[?25h[?25ltext test text  x78 5[35;27H[K[35;6H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h[\o143][?25l[1;35r[35;1H
[1;36r[35;1Htestc text test text  o143[36;1H[K[35;5H[34h[?25h[?25l text test text  o143[35;26H[K[35;5H[34h[?25h[?25l
/[34h[?25h[\o140-\o144][?25l[1;35r[35;1H
[1;36r[35;1Htesdt text test text  o140-o144[36;1H[K[35;4H[34h[?25h[?25lt text test text  o140-o14[35;31H[K[35;4H[34h[?25h[?25l
/[34h[?25h[\o417][?25l[1;35r[35;1H
[1;36r[35;1Htest7 text test text  o41 7[36;1H[K[35;5H[34h[?25h[?25l text test text  o41 7[35;27H[K[35;5H[34h[?25h[?25l
/[34h[?25h\%x42[?25l[1;35r[35;1H
[1;36r[35;1Htest text tBest text  \%x42[36;1H[K[35;12H[34h[?25h[?25lest text  \%x42[35;27H[K[35;12H[34h[?25h[?25l
/[34h[?25h\%o103[?25l[1;35r[35;1H
[1;36r[35;1Htest text teCst text  \%o103[36;1H[K[35;13H[34h[?25h[?25lst text  \%o103[35;28H[K[35;13H[34h[?25h[?25l
/[34h[?25h[\x00][?25l[1;35r[35;1H
[1;36r[35;1Htest text [1m[34m^@[0mtest text  [\x00][36;1H[K[35;11H[34h[?25h[?25ltest text  [\x00][35;28H[K[35;11H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1Htest te[1m[34m^@[0mxt t[1m[34m^D[0mest t[1m[34m^P[0mext  [\x00-\x10][35;11H[34h[?25h[?25l
:[34h[?25hs/[\x00-\x10]//g[?25l3 substitutions on 1 line[35;8Hxt test text  [\x00-\x10][35;33H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1Htest \xyztext test text  [\x-z][36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25hs/[\x-z]\+//[?25l[35;6Htext test text  [\x-z][35;28H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1Htest text tev\uyst text  [\u-z][36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25hs/[\u-z]\{2,}//[?25l[35;13Hst text  [\u-z][35;28H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1Hxx aaaaa xx a[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25hs/\(a\)\+//[?25l[35;4H xx [35;10H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1Hxx aaaaa xx a[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25hs/\(a*\)\+//[?25l[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1Hxx aaaaa xx a[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25hs/\(a*\)*//[?25l[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1Hxx aaaaa xx[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25hs/\(a\)\{2,3}/A/[?25l[35;4HAaa xx[35;10H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1Hxx aaaaa xx[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25hs/\(a\)\{-2,3}/A/[?25l[35;4HAaaa x[35;11H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1Hxx aaa12aa xx[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25hs/\(a\)*\(12\)\@>/A/[?25l[35;4HAaa xx[35;10H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1Hxx foobar xbar xx[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25hs/\(foo\)\@<!bar/A/[?25l[35;12HA xx[35;16H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1Hxx an file xx[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25hs/\(an\_s\+\)\@<=file/A/[?25l[35;7HA xx[35;12H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1Hx= 9;[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25hs/^\(\h\w*\%(->\|\.\)\=\)\+=/XX/[?25l[35;1HXX[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1Hhh= 77;[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25hs/^\(\h\w*\%(->\|\.\)\=\)\+=/YY/[?25l[35;1HYY 77;[35;7H[K[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h?start?,$w! test.out[?25l"test.out" [36;12H[K[36;12H[New] 29L, 571C written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test25.failed test.ok test.out X* viminfo
cp test25.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test25.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test25.in" 31 lines, 840 characters[1;1HTest for jumping to a tag with 'hidden' set, with symbolic link in path of tag.
This only works for Unix, because of the symbolic link.

STARTTEST
:so small.vim
:set hidden
:" Create a link from test25.dir to the current directory.
:!rm -f test25.dir
:!ln -s . test25.dir
:" Create tags.text, with the current directory name inserted.
/tags line
:r !pwd
d$/test
hP:.w! tags.test
:" Try jumping to a tag in the current file, but with a path that contains a
:" symbolic link.  When wrong, this will give the ATTENTION message.  The next
:" space will then be eaten by hit-return, instead of moving the cursor to 'd'.
:set tags=tags.test
G[1m[34m^][0m x:.w! test.out
:!rm -f test25.dir tags.test
:qa!
ENDTEST

tags line:
SECTION_OFF     /test25.dir/test25.in   /^#define  SECTION_OFF  3$/

/*tx.c*/
#define  SECTION_OFF  3
#define  NUM_SECTIONS 3

SECTION_OFF
[1m[34m~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTest for jumping to a tag with 'hidden' set, with symbolic link in path of tag.[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[4;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[5;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 17 lines, 540 characters written[5;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[5;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[22;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[23;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[23;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset hidden[?25l[23;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" Create a link from test25.dir to the current directory.[?25l[23;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h!rm -f test25.dir[?25l[18C[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H:[34h[?25h!ln -s . test25.dir[?25l[20C[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H:[34h[?25h" Create tags.text, with the current directory name inserted.[?25l[23m[24m[0m[H[J[1;1HTest for jumping to a tag with 'hidden' set, with symbolic link in path of tag.
This only works for Unix, because of the symbolic link.

STARTTEST
:so small.vim
:set hidden
:" Create a link from test25.dir to the current directory.
:!rm -f test25.dir
:!ln -s . test25.dir
:" Create tags.text, with the current directory name inserted.
/tags line
:r !pwd
d$/test
hP:.w! tags.test
:" Try jumping to a tag in the current file, but with a path that contains a
:" symbolic link.  When wrong, this will give the ATTENTION message.  The next
:" space will then be eaten by hit-return, instead of moving the cursor to 'd'.
:set tags=tags.test
G[1m[34m^][0m x:.w! test.out
:!rm -f test25.dir tags.test
:qa!
ENDTEST

tags line:
SECTION_OFF     /test25.dir/test25.in   /^#define  SECTION_OFF  3$/

/*tx.c*/
#define  SECTION_OFF  3
#define  NUM_SECTIONS 3

SECTION_OFF
[1m[34m~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [23;1H[34h[?25h[?25l[36;1H[0m/[34h[?25htags line[?25l[24;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hr !pwd[?25l[34h[?25h[23m[24m[0m[H[J[?25l[1;1HTest for jumping to a tag with 'hidden' set, with symbolic link in path of tag.
This only works for Unix, because of the symbolic link.

STARTTEST
:so small.vim
:set hidden
:" Create a link from test25.dir to the current directory.
:!rm -f test25.dir
:!ln -s . test25.dir
:" Create tags.text, with the current directory name inserted.
/tags line
:r !pwd
d$/test
hP:.w! tags.test
:" Try jumping to a tag in the current file, but with a path that contains a
:" symbolic link.  When wrong, this will give the ATTENTION message.  The next
:" space will then be eaten by hit-return, instead of moving the cursor to 'd'.
:set tags=tags.test
G[1m[34m^][0m x:.w! test.out
:!rm -f test25.dir tags.test
:qa!
ENDTEST

tags line:
/sources/vim70/src/testdir
SECTION_OFF     /test25.dir/test25.in   /^#define  SECTION_OFF  3$/

/*tx.c*/
#define  SECTION_OFF  3
#define  NUM_SECTIONS 3

SECTION_OFF
[1m[34m~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [25;1H[34h[?25h[?25l[0m[25;1H[K[25;1H[34h[?25h[?25l[36;1H/[34h[?25htest[?25l[26;18H[34h[?25h[?25l/sources/vim70/src/testdir/test25.dir/test25.in /^#define  SECTION_OFF  3$/[26;42H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.w! tags.test[?25l"tags.test" [36;13H[K[36;13H[New File] 1 line, 88 characters written[26;42H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" Try jumping to a tag in the current file, but with a path that contains a[?25l[26;42H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" symbolic link.  When wrong, this will give the ATTENTION message.  The next[?25l[26;42H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" space will then be eaten by hit-return, instead of moving the cursor to 'd'.[?25l[26;42H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset tags=tags.test[?25l[26;42H[34h[?25h[32;1H[29;1H#[?25lefine  SECTION_OFF  3[29;23H[K[29;2H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.w! test.out[?25l"test.out" [36;12H[K[36;12H[New File] 1 line, 23 characters written[29;2H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h!rm -f test25.dir tags.test[?25l[28C[?1l>[34h[?25h[?1049l
[No write since last change]

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[?1l>[34h[?25h[?1049l
rm -rf X* test.ok viminfo
rm -rf test26.failed test.ok test.out X* viminfo
cp test26.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test26.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test26.in" 43 lines, 739 characters[1;1HTest for :execute, :while and :if

STARTTEST
:so small.vim
mt:let i = 0
:while i < 12
:  let i = i + 1
:  if has("ebcdic")
:    execute "normal o" . i . "\047"
:  else
:    execute "normal o" . i . "\033"
:  endif
:  if i % 2
:    normal Ax[1m[34m^V^[[0m
:    if i == 9
:      break
:    endif
:    if i == 5
:      continue
:    else
:      let j = 9
:      while j > 0
:[8Cif has("ebcdic")
:[10Cexecute "normal" j . "a" . j . "\x27"
:[8Celse
:[10Cexecute "normal" j . "a" . j . "\x1b"
:[8Cendif
:[8Clet j = j - 1
:      endwhile
:    endif
:  endif
:  if i == 9
:    if has("ebcdic")
:      execute "normal Az\047"
:    else[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTest for :execute, :while and :if[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[3;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[4;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 38 lines, 685 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[4;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[1;35r[1;1H[7M[1;36r[29;1H:      execute "normal Az\033"
:    endif
:  endif
:endwhile
:'t,$w! test.out
:qa!
ENDTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hlet i = 0[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hwhile i < 12[?25l
:  [34h[?25h:  let i = i + 1
[?25l:  [34h[?25h:  if has("ebcdic")
[?25l:    [34h[?25h:    execute "normal o" . i . "\047"
[?25l:    [34h[?25h:  else
[?25l:    [34h[?25h:    execute "normal o" . i . "\033"
[?25l:    [34h[?25h:  endif
[?25l:  [34h[?25h:  if i % 2
[?25l:    [34h[?25h:    normal Ax^[1m[34m^[[0m
[?25l:    [34h[?25h:    if i == 9
[?25l:      [34h[?25h:      break
[?25l:      [34h[?25h:    endif
[?25l:    [34h[?25h:    if i == 5
[?25l:      [34h[?25h:      continue
[?25l:      [34h[?25h:    else
[?25l:      [34h[?25h:      let j = 9
[?25l:      [34h[?25h:      while j > 0
[?25l:[8C[34h[?25h:        if has("ebcdic")
[?25l:[10C[34h[?25h:          execute "normal" j . "a" . j . "\x27"
[?25l:[10C[34h[?25h:        else
[?25l:[10C[34h[?25h:          execute "normal" j . "a" . j . "\x1b"
[?25l:[10C[34h[?25h:        endif
[?25l:[8C[34h[?25h:        let j = j - 1
[?25l:[8C[34h[?25h:      endwhile
[?25l:      [34h[?25h:    endif
[?25l:    [34h[?25h:  endif
[?25l:  [34h[?25h:  if i == 9
[?25l:    [34h[?25h:    if has("ebcdic")
[?25l:      [34h[?25h:      execute "normal Az\047"
[?25l:      [34h[?25h:    else
[?25l:      [34h[?25h:      execute "normal Az\033"
[?25l:      [34h[?25h:    endif
[?25l:    [34h[?25h:  endif
[?25l:  [34h[?25h:endwhile[23m[24m[0m[H[J[?25l[1;1H:    if i == 5
:      continue
:    else
:      let j = 9
:      while j > 0
:[8Cif has("ebcdic")
:[10Cexecute "normal" j . "a" . j . "\x27"
:[8Celse
:[10Cexecute "normal" j . "a" . j . "\x1b"
:[8Cendif
:[8Clet j = j - 1
:      endwhile
:    endif
:  endif
:  if i == 9
:    if has("ebcdic")
:      execute "normal Az\047"
:    else
:      execute "normal Az\033"
:    endif
:  endif
:endwhile
:'t,$w! test.out
:qa!
ENDTEST

1x999999999888888887777777666666555554444333221
2
3x999999999888888887777777666666555554444333221
4
5x
6
7x999999999888888887777777666666555554444333221
8
9x[34h[?25h[?25l
:[34h[?25h't,$w! test.out[?25l"test.out" [36;12H[K[36;12H[New File] 10 lines, 159 characters written[35;2H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test27.failed test.ok test.out X* viminfo
cp test27.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test27.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test27.in" 20 lines, 270 characters[1;1HTest for expanding file names

STARTTEST
:!mkdir Xdir1
:!mkdir Xdir2
:!mkdir Xdir3
:cd Xdir3
:!mkdir Xdir4
:cd ..
:w Xdir1/file
:w Xdir3/Xdir4/file
:n Xdir?/*/file
Go[1m[34m^R[0m%[1m[34m^[[0m:.w! test.out
:n! Xdir?/*/nofile
Go[1m[34m^R[0m%[1m[34m^[[0m:.w >>test.out
:e! xx
:!rm -rf Xdir1 Xdir2 Xdir3
:qa!
ENDTEST

[1m[34m~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTest for expanding file names[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[3;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[4;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 15 lines, 220 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[4;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[19;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[20;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h!mkdir Xdir1[?25l[13C[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H:[34h[?25h!mkdir Xdir2[?25l[13C[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H:[34h[?25h!mkdir Xdir3[?25l[13C[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H:[34h[?25hcd Xdir3[?25l/sources/vim70/src/testdir/Xdir3[23m[24m[0m[H[J[1;1HTest for expanding file names

STARTTEST
:!mkdir Xdir1
:!mkdir Xdir2
:!mkdir Xdir3
:cd Xdir3
:!mkdir Xdir4
:cd ..
:w Xdir1/file
:w Xdir3/Xdir4/file
:n Xdir?/*/file
Go[1m[34m^R[0m%[1m[34m^[[0m:.w! test.out
:n! Xdir?/*/nofile
Go[1m[34m^R[0m%[1m[34m^[[0m:.w >>test.out
:e! xx
:!rm -rf Xdir1 Xdir2 Xdir3
:qa!
ENDTEST

[1m[34m~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [20;1H[34h[?25h[?25l[36;1H[0m:[34h[?25h!mkdir Xdir4[?25l[13C[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H:[34h[?25hcd ..[?25l/sources/vim70/src/testdir[23m[24m[0m[H[J[1;1HTest for expanding file names

STARTTEST
:!mkdir Xdir1
:!mkdir Xdir2
:!mkdir Xdir3
:cd Xdir3
:!mkdir Xdir4
:cd ..
:w Xdir1/file
:w Xdir3/Xdir4/file
:n Xdir?/*/file
Go[1m[34m^R[0m%[1m[34m^[[0m:.w! test.out
:n! Xdir?/*/nofile
Go[1m[34m^R[0m%[1m[34m^[[0m:.w >>test.out
:e! xx
:!rm -rf Xdir1 Xdir2 Xdir3
:qa!
ENDTEST

[1m[34m~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [20;1H[34h[?25h[?25l[36;1H[0m:[34h[?25hw Xdir1/file[?25l"Xdir1/file" [New File] 20 lines, 270 characters written[20;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw Xdir3/Xdir4/file[?25l"Xdir3/Xdir4/file" [New File] 20 lines, 270 characters written[20;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hn Xdir?/*/file[?25l"Xdir3/Xdir4/file" 20 lines, 270 characters[1;1H[34h[?25h[20;1H[?25l
Xdir3/Xdir4/file[21;17H[K[21;16H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.w! test.out[?25l"test.out" [36;12H[K[36;12H[New File] 1 line, 17 characters written[21;16H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hn! Xdir?/*/nofile[?25l"Xdir?/*/nofile" [New DIRECTORY][1;1H[K[2;1H[1m[34m~                                                                                                   [3;1H~                                                                                                   [4;1H~                                                                                                   [5;1H~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m
Xdir?/*/nofile[2;15H[K[2;14H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 15 characters appended[2;14H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! xx[?25l"xx" [New File][2;1H[1m[34m~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25h!rm -rf Xdir1 Xdir2 Xdir3[?25l[26C[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[?1l>[34h[?25h[?1049l
rm -rf X* test.ok viminfo
rm -rf test28.failed test.ok test.out X* viminfo
cp test28.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test28.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test28.in" 23 lines, 364 characters[1;1HTest for sourcing a file with CTRL-V's at the end of the line

STARTTEST
:/firstline/+1,/lastline/-1w! Xtestfile
:so Xtestfile
Gmm__1[1m[34m^[^[[0m__2[1m[34m^[[0m__3[1m[34m^[^[[0m__4[1m[34m^[[0m__5[1m[34m^[[0m:'m,$s/[1m[34m^@[0m/0/g
:'m,$w! test.out
:qa!
ENDTEST

firstline
map __1 afirst
map __2 asecond
map __3 athird
map __4 afourth
map __5 afifth
map __1 asd[1m[34m^V[0m
map __2 asd[1m[34m^V^V[0m
map __3 asd[1m[34m^V^V[0m
map __4 asd[1m[34m^V^V^V[0m
map __5 asd[1m[34m^V^V^V[0m
lastline

[1m[34m~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTest for sourcing a file with CTRL-V's at the end of the line[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[3;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[4;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 5 lines, 114 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[4;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[9;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[10;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/firstline/+1,/lastline/-1w! Xtestfile[?25l"Xtestfile" [36;13H[K[36;13H[New File] 10 lines, 148 characters written[10;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso Xtestfile[?25l[10;1H[34h[?25h[23;1H[24;12H[?25l[23;1Hsd
map __2 asd[1m[34m^[[0m[24;14H[K[24;12H[34h[?25h[?25l[2Csecond[34h[?25hd  [?25lsd[1m[34m^[[34h[?25h^[[0m  [13C[?25l[24;24Hsd[1m[34m^@[0mmap __5 asd[1m[34m^@[34h[?25h[?25l[0m[2Cfifth[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h'm,$s/[1m[34m^@[0m/0/g[?25l[24;26H0map __5 asd0fifth[24;44H[K[24;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h'm,$w! test.out[?25l"test.out" [36;12H[K[36;12H[New File] 2 lines, 45 characters written[24;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test29.failed test.ok test.out X* viminfo
cp test29.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test29.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test29.in" 67 lines, 663 characters[1;1HTest for joining lines with 'joinspaces' set or not

STARTTEST
:set nojoinspaces
/firstline/
jJjJjJjJjJjJjJjJjJjJjJjJjJjJ:set joinspaces
jJjJjJjJjJjJjJjJjJjJjJjJjJjJ:?firstline?+1,$w! test.out
:qa!
ENDTEST

firstline
asdfasdf.
asdf
asdfasdf.
asdf
asdfasdf.
asdf
asdfasdf.
asdf
asdfasdf.
asdf
asdfasdf.
asdf
asdfasdf.
asdf
asdfasdf
asdf
asdfasdf
asdf
asdfasdf
asdf
asdfasdf
asdf
asdfasdf
asdf[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTest for joining lines with 'joinspaces' set or not[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[3;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[4;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 5 lines, 135 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[4;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[9;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[10;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset nojoinspaces[?25l[10;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25hfirstline/[?25l[36;11H[K[36;1H[11;1H[34h[?25h
[?25l[12;35r[35;1H
[1;36r[12;5Hasdf. asdf[35;1Hasdfasdf[36;1H[K[12;10H[34h[?25h[13;10H[?25l[13;35r[35;1H
[1;36r[13;5Hasdf. asdf[35;1Hasdf[13;11H[34h[?25h[14;11H[?25l[14;35r[35;1H
[1;36r[14;5Hasdf.  asdf[35;1Hasdfasdf[14;12H[34h[?25h[15;16H[?25l[15;35r[35;1H
[1;36r[15;5Hasdf.[7Casdf[35;1Hasdf[15;17H[34h[?25h[16;16H[?25l[16;35r[35;1H
[1;36r[16;5Hasdf.[7Casdf[35;1Hasdfasdf.[16;17H[34h[?25h[17;17H[?25l[17;35r[35;1H
[1;36r[17;5Hasdf.[8Casdf[35;1Hasdf[17;18H[34h[?25h[18;24H[?25l[18;35r[35;1H
[1;36r[18;5Hasdf.[15Casdf[35;1Hasdfasdf.[18;25H[34h[?25h[19;8H[?25l[19;35r[35;1H
[1;36r[19;5Hasdf asdf[35;1Hasdf[19;9H[34h[?25h[20;9H[?25l[20;35r[35;1H
[1;36r[20;5Hasdf asdf[35;1Hasdfasdf.[20;10H[34h[?25h[21;10H[?25l[21;35r[35;1H
[1;36r[21;5Hasdf  asdf[35;1Hasdf[21;11H[34h[?25h[22;16H[?25l[22;35r[35;1H
[1;36r[22;5Hasdf[8Casdf[35;1Hasdfasdf.[22;17H[34h[?25h[23;17H[?25l[23;35r[35;1H
[1;36r[23;5Hasdf[9Casdf[35;1Hasdf[23;18H[34h[?25h[24;16H[?25l[24;35r[35;1H
[1;36r[24;5Hasdf[8Casdf[35;1Hasdfasdf.[24;17H[34h[?25h[25;24H[?25l[25;35r[35;1H
[1;36r[25;5Hasdf[16Casdf[35;1Hasdf[25;25H[34h[?25h[?25l[36;1H:[34h[?25hset joinspaces[?25l[25;25H[34h[?25h[26;9H[?25l[26;35r[35;1H
[1;36r[26;5Hasdf.  asdf[35;1Hasdfasdf.[36;1H[K[26;10H[34h[?25h[27;10H[?25l[27;35r[35;1H
[1;36r[27;5Hasdf.  asdf[35;1Hasdf[27;11H[34h[?25h[28;11H[?25l[28;35r[35;1H
[1;36r[28;5Hasdf.  asdf[35;1Hasdfasdf.[28;12H[34h[?25h[29;16H[?25l[29;35r[35;1H
[1;36r[29;5Hasdf.[7Casdf[35;1Hasdf[29;17H[34h[?25h[30;16H[?25l[30;35r[35;1H
[1;36r[30;5Hasdf.[7Casdf[35;1Hasdfasdf[30;17H[34h[?25h[31;17H[?25l[31;35r[35;1H
[1;36r[31;5Hasdf.[8Casdf[35;1Hasdf[31;18H[34h[?25h[32;24H[?25l[32;35r[35;1H
[1;36r[32;5Hasdf.[15Casdf


asdfasdf[32;25H[34h[?25h[33;8H[?25lf asdf
asdfasdf[35;5H[K[33;9H[34h[?25h[34;9H[?25l asdf
asdfasdf[34;10H[34h[?25h[35;10H[?25l asdf[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1Hasdfasdf[7C[34h[?25h[?25l asdf[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1Hasdfasdf[8C[34h[?25h[?25l asdf[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1Hasdfasdf[7C[34h[?25h[?25l asdf[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1Hasdfasdf[15C[34h[?25h[?25l asdf[34h[?25h[?25l
:[34h[?25h?firstline?+1,$w! test.out[?25l"test.out" [36;12H[K[36;12H[New File] 28 lines, 424 characters written[35;25H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test30.failed test.ok test.out X* viminfo
cp test30.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test30.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test30.in" 208 lines, 3095 characters[1;1HTest for a lot of variations of the 'fileformats' option

STARTTEST
:so small.vim
:" first write three test files, one in each format
:set fileformat=unix
:set fileformats=
:/^1/w! XX1
:/^2/w! XX2
:/^3/w! XX3
:/^4/w! XX4
:/^5/w! XX5
:/^6/w! XX6
:/^7/w! XX7
:/^8/w! XX8
:/^9/w! XX9
:/^10/w! XX10
:/^unix/;/eof/-1w! XXUnix
:/^dos/;/eof/-1w! XXDos
:set bin noeol
:$w! XXMac
:set nobin eol
:bwipe XXUnix XXDos XXMac
:" create mixed format files
:!cat XXUnix XXDos >XXUxDs
:!cat XXUnix XXMac >XXUxMac
:!cat XXDos XXMac >XXDosMac
:!cat XXUnix XXDos XXMac >XXUxDsMc
:"
:" try reading and writing with 'fileformats' empty
:set fileformat=unix
:e! XXUnix
:w! test.out
:e! XXDos
:w! XXtt01[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTest for a lot of variations of the 'fileformats' option[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[3;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[4;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 183 lines, 2957 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[4;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[23m[24m[0m[H[J[1;1H:$r XXtt42
:$r XXtt43
Go5[1m[34m^[[0m:$r XXtt51
:$r XXtt52
:$r XXtt53
Go6[1m[34m^[[0m:$r XXtt61
:$r XXtt62
:$r XXtt63
Go7[1m[34m^[[0m:$r XXtt71
Go8[1m[34m^[[0m:$r XXtt81
Go9[1m[34m^[[0m:$r XXtt91
:$r XXtt92
:$r XXtt93
Go10[1m[34m^[[0m:$r XXUnix
:set nobinary ff&
:w
:qa!
ENDTEST

1
2
3
4
5
6
7
8
9
10

unix
unix
eof

dos[1m[34m^M[18;1H[34h[?25h
[?25l[36;1H[0m:so! Xdotest[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" first write three test files, one in each format[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset fileformat=unix[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset fileformats=[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^1/w! XX1[?25l"XX1" [36;7H[K[36;7H[New File] 1 line, 2 characters written[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^2/w! XX2[?25l"XX2" [36;7H[K[36;7H[New File] 1 line, 2 characters written[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^3/w! XX3[?25l"XX3" [36;7H[K[36;7H[New File] 1 line, 2 characters written[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^4/w! XX4[?25l"XX4" [36;7H[K[36;7H[New File] 1 line, 2 characters written[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^5/w! XX5[?25l"XX5" [36;7H[K[36;7H[New File] 1 line, 2 characters written[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^6/w! XX6[?25l"XX6" [36;7H[K[36;7H[New File] 1 line, 2 characters written[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^7/w! XX7[?25l"XX7" [36;7H[K[36;7H[New File] 1 line, 2 characters written[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^8/w! XX8[?25l"XX8" [36;7H[K[36;7H[New File] 1 line, 2 characters written[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^9/w! XX9[?25l"XX9" [36;7H[K[36;7H[New File] 1 line, 2 characters written[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^10/w! XX10[?25l"XX10" [36;8H[K[36;8H[New File] 1 line, 3 characters written[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^unix/;/eof/-1w! XXUnix[?25l"XXUnix" [36;10H[K[36;10H[New File] 2 lines, 10 characters written[31;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^dos/;/eof/-1w! XXDos[?25l"XXDos" [36;9H[K[36;9H[New File] 2 lines, 10 characters written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset bin noeol[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$w! XXMac[?25l"XXMac" [36;9H[K[36;9H[New File][Incomplete last line] 1 line, 8 characters written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset nobin eol[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hbwipe XXUnix XXDos XXMac[?25l3 buffers wiped out[36;21H[K[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" create mixed format files[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h!cat XXUnix XXDos >XXUxDs[?25l[26C[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H:[34h[?25h!cat XXUnix XXMac >XXUxMac[?25l[27C[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H:[34h[?25h!cat XXDos XXMac >XXDosMac[?25l[27C[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H:[34h[?25h!cat XXUnix XXDos XXMac >XXUxDsMc[?25l[34C[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[23m[24m[0m[H[J[1;1H:$r XXtt42
:$r XXtt43
Go5[1m[34m^[[0m:$r XXtt51
:$r XXtt52
:$r XXtt53
Go6[1m[34m^[[0m:$r XXtt61
:$r XXtt62
:$r XXtt63
Go7[1m[34m^[[0m:$r XXtt71
Go8[1m[34m^[[0m:$r XXtt81
Go9[1m[34m^[[0m:$r XXtt91
:$r XXtt92
:$r XXtt93
Go10[1m[34m^[[0m:$r XXUnix
:set nobinary ff&
:w
:qa!
ENDTEST

1
2
3
4
5
6
7
8
9
10

unix
unix
eof

dos[1m[34m^M[34h[?25h[?25l
[0m:[34h[?25h" try reading and writing with 'fileformats' empty[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset fileformat=unix[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! XXUnix[?25l"XXUnix" [36;10H[K[36;10H2 lines, 10 characters[1;1Hunix[1;5H[K[2;1Hunix[2;5H[K[3;1H[1m[34m~                                                                                                   [4;1H~                                                                                                   [5;1H~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw! test.out[?25l"test.out" [36;12H[K[36;12H[New File] 2 lines, 10 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! XXDos[?25l"XXDos" [36;9H[K[36;9H2 lines, 10 characters[1;1Hdos[1m[34m^M[0m
dos[1m[34m^M[1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw! XXtt01[?25l"XXtt01" [36;10H[K[36;10H[New File] 2 lines, 10 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! XXMac[?25l"XXMac" [36;9H[K[36;9H[Incomplete last line] 1 line, 8 characters[1;1Hmac[2Cmac[1m[34m^M
~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw! XXtt02[?25l"XXtt02" [36;10H[K[36;10H[New File] 1 line, 9 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hbwipe XXUnix XXDos XXMac[?25l"test30.in" [36;13H[K[36;13H208 lines, 3095 characters
3 buffers wiped out
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hset fileformat=dos[?25l[1;1H[2L[1;1H:$r XXtt53
Go6[1m[34m^[[0m:$r XXtt61
:$r XXtt62[3;11H[K[4;1H:$r XXtt63[4;11H[K[5;1HGo7[1m[34m^[[0m:$r XXtt71[5;16H[K[6;1HGo8[1m[34m^[[0m:$r XXtt81[6;16H[K[7;1HGo9[1m[34m^[[0m:$r XXtt91[7;16H[K[8;1H:$r XXtt92[8;11H[K[9;1H:$r XXtt93[9;11H[K[10;1HGo10[1m[34m^[[0m:$r XXUnix[10;17H[K[11;1H:set nobinary ff&[11;18H[K[12;1H:w[12;3H[K[13;1H:qa![13;5H[K[14;1HENDTEST[14;8H[K[15;1H[K[16;1H1[16;2H[K[17;1H2[17;2H[K[18;1H3[18;2H[K[19;1H4[19;2H[K[20;1H5[20;2H[K[21;1H6[21;2H[K[22;1H7[22;2H[K[23;1H8[23;2H[K[24;1H9[24;2H[K[25;1H10[25;3H[K[26;1H[K[27;1Hunix[27;5H[K[28;1Hunix[28;5H[K[29;1Heof[29;4H[K[30;1H[K[31;1Hdos[1m[34m^M[0m[31;6H[K[32;1Hdos[1m[34m^M[0m[32;6H[K[33;1Heof[33;4H[K[34;1H[K[35;1Hmac[1m[34m^M[0mmac[1m[34m^M[0m[35;11H[K[36;1H[K[31;1H[34h[?25h[?25l[36;1H:[34h[?25he! XXUnix[?25l"XXUnix" [36;10H[K[36;10H[CR missing][dos format] 2 lines, 10 characters[1;1Hunix[1;5H[K[2;1Hunix[2;5H[K[3;1H[1m[34m~                                                                                                   [4;1H~                                                                                                   [5;1H~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw! XXtt11[?25l"XXtt11" [36;10H[K[36;10H[New File][dos format] 2 lines, 12 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! XXDos[?25l"XXDos" [36;9H[K[36;9H[dos format] 2 lines, 10 characters[1;1Hdos[1;4H[K[2;1Hdos[2;4H[K[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw! XXtt12[?25l"XXtt12" [36;10H[K[36;10H[New File][dos format] 2 lines, 10 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! XXMac[?25l"XXMac" [36;9H[K[36;9H[Incomplete last line][dos format] 1 line, 8 characters[1;1Hmac[1m[34m^M[0mmac[1m[34m^M
~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw! XXtt13[?25l"XXtt13" [36;10H[K[36;10H[New File][dos format] 1 line, 10 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hbwipe XXUnix XXDos XXMac[?25l"test30.in" [36;13H[K[36;13H[CR missing][dos format] 208 lines, 3095 characters
3 buffers wiped out
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hset fileformat=mac[?25l[1;1H[2L[1;1H:$r XXtt53
Go6[1m[34m^[[0m:$r XXtt61
:$r XXtt62[3;11H[K[4;1H:$r XXtt63[4;11H[K[5;1HGo7[1m[34m^[[0m:$r XXtt71[5;16H[K[6;1HGo8[1m[34m^[[0m:$r XXtt81[6;16H[K[7;1HGo9[1m[34m^[[0m:$r XXtt91[7;16H[K[8;1H:$r XXtt92[8;11H[K[9;1H:$r XXtt93[9;11H[K[10;1HGo10[1m[34m^[[0m:$r XXUnix[10;17H[K[11;1H:set nobinary ff&[11;18H[K[12;1H:w[12;3H[K[13;1H:qa![13;5H[K[14;1HENDTEST[14;8H[K[15;1H[K[16;1H1[16;2H[K[17;1H2[17;2H[K[18;1H3[18;2H[K[19;1H4[19;2H[K[20;1H5[20;2H[K[21;1H6[21;2H[K[22;1H7[22;2H[K[23;1H8[23;2H[K[24;1H9[24;2H[K[25;1H10[25;3H[K[26;1H[K[27;1Hunix[27;5H[K[28;1Hunix[28;5H[K[29;1Heof[29;4H[K[30;1H[K[31;1Hdos[31;4H[K[32;1Hdos[32;4H[K[33;1Heof[33;4H[K[34;1H[K[35;1Hmac[1m[34m^J[0mmac[35;9H[K[36;1H[K[31;1H[34h[?25h[?25l[36;1H:[34h[?25he! XXUnix[?25l"XXUnix" [36;10H[K[36;10H[Incomplete last line][mac format] 1 line, 10 characters[1;1Hunix[1m[34m^J[0munix[1m[34m^J
~                                                                                                   [3;1H~                                                                                                   [4;1H~                                                                                                   [5;1H~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw! XXtt21[?25l"XXtt21" [36;10H[K[36;10H[New File][mac format] 1 line, 11 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! XXDos[?25l"XXDos" [36;9H[K[36;9H[Incomplete last line][mac format] 3 lines, 10 characters[1;1Hdos[1;4H[K[2;1H[1m[34m^J[0mdos[2;6H[K[3;1H[1m[34m^J[0m[3;3H[K[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw! XXtt22[?25l"XXtt22" [36;10H[K[36;10H[New File][mac format] 3 lines, 11 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! XXMac[?25l"XXMac" [36;9H[K[36;9H[mac format] 2 lines, 8 characters[1;1Hmac
mac[2;4H[K[3;1H[1m[34m~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw! XXtt23[?25l"XXtt23" [36;10H[K[36;10H[New File][mac format] 2 lines, 8 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hbwipe XXUnix XXDos XXMac[?25l"test30.in" [36;13H[K[36;13H[Incomplete last line][mac format] 5 lines, 3095 characters
3 buffers wiped out
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25h"[?25l[1;1H[2L[1;1H[1m[34m^J[0mdos
[1m[34m^J[0meof[1m[34m^J^J[0mmac
mac[3;4H[K[4;1H[1m[34m^J[0m[4;3H[K[36;1H[K[4;1H[34h[?25h[?25l[36;1H:[34h[?25h" try reading and writing with 'fileformats' set to one format[?25l[4;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset fileformats=unix[?25l[4;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! XXUxDsMc[?25l"XXUxDsMc" [36;12H[K[36;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;5H[K[2;1Hunix[2;5H[K[3;1Hdos[1m[34m^M[0m
dos[1m[34m^M[0m
mac[1m[34m^M[0mmac[1m[34m^M[0m[5;11H[K[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw! XXtt31[?25l"XXtt31" [36;10H[K[36;10H[New File] 5 lines, 29 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hbwipe XXUxDsMc[?25l"test30.in" [36;13H[K[36;13H208 lines, 3095 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HSTARTTEST
:so small.vim
:" first write three test files, one in each format
:set fileformat=unix[6;21H[K[7;1H:set fileformats=[7;18H[K[8;1H:/^1/w! XX1[8;12H[K[9;1H:/^2/w! XX2[9;12H[K[10;1H:/^3/w! XX3[10;12H[K[11;1H:/^4/w! XX4[11;12H[K[12;1H:/^5/w! XX5[12;12H[K[13;1H:/^6/w! XX6[13;12H[K[14;1H:/^7/w! XX7[14;12H[K[15;1H:/^8/w! XX8[15;12H[K[16;1H:/^9/w! XX9[16;12H[K[17;1H:/^10/w! XX10[17;14H[K[18;1H:/^unix/;/eof/-1w! XXUnix[18;26H[K[19;1H:/^dos/;/eof/-1w! XXDos[19;24H[K[20;1H:set bin noeol[20;15H[K[21;1H:$w! XXMac[21;11H[K[22;1H:set nobin eol[22;15H[K[23;1H:bwipe XXUnix XXDos XXMac[23;26H[K[24;1H:" create mixed format files[24;29H[K[25;1H:!cat XXUnix XXDos >XXUxDs[25;27H[K[26;1H:!cat XXUnix XXMac >XXUxMac[26;28H[K[27;1H:!cat XXDos XXMac >XXDosMac[27;28H[K[28;1H:!cat XXUnix XXDos XXMac >XXUxDsMc[28;35H[K[29;1H:"[29;3H[K[30;1H:" try reading and writing with 'fileformats' empty[30;52H[K[31;1H:set fileformat=unix[31;21H[K[32;1H:e! XXUnix[32;11H[K[33;1H:w! test.out[33;13H[K[34;1H:e! XXDos[34;10H[K[35;1H:w! XXtt01[35;11H[K[5;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset fileformats=dos[?25l[5;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! XXUxDsMc[?25l"XXUxDsMc" [36;12H[K[36;12H[Incomplete last line][CR missing][dos format] 5 lines, 28 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[3;4H[K[4;1Hdos[4;5H[K[5;1Hmac[1m[34m^M[0mmac[1m[34m^M[0m[5;11H[K[6;1H[1m[34m~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw! XXtt32[?25l"XXtt32" [36;10H[K[36;10H[New File][dos format] 5 lines, 32 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hbwipe XXUxDsMc[?25l"test30.in" [36;13H[K[36;13H[CR missing][dos format] 208 lines, 3095 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HSTARTTEST
:so small.vim
:" first write three test files, one in each format
:set fileformat=unix[6;21H[K[7;1H:set fileformats=[7;18H[K[8;1H:/^1/w! XX1[8;12H[K[9;1H:/^2/w! XX2[9;12H[K[10;1H:/^3/w! XX3[10;12H[K[11;1H:/^4/w! XX4[11;12H[K[12;1H:/^5/w! XX5[12;12H[K[13;1H:/^6/w! XX6[13;12H[K[14;1H:/^7/w! XX7[14;12H[K[15;1H:/^8/w! XX8[15;12H[K[16;1H:/^9/w! XX9[16;12H[K[17;1H:/^10/w! XX10[17;14H[K[18;1H:/^unix/;/eof/-1w! XXUnix[18;26H[K[19;1H:/^dos/;/eof/-1w! XXDos[19;24H[K[20;1H:set bin noeol[20;15H[K[21;1H:$w! XXMac[21;11H[K[22;1H:set nobin eol[22;15H[K[23;1H:bwipe XXUnix XXDos XXMac[23;26H[K[24;1H:" create mixed format files[24;29H[K[25;1H:!cat XXUnix XXDos >XXUxDs[25;27H[K[26;1H:!cat XXUnix XXMac >XXUxMac[26;28H[K[27;1H:!cat XXDos XXMac >XXDosMac[27;28H[K[28;1H:!cat XXUnix XXDos XXMac >XXUxDsMc[28;35H[K[29;1H:"[29;3H[K[30;1H:" try reading and writing with 'fileformats' empty[30;52H[K[31;1H:set fileformat=unix[31;21H[K[32;1H:e! XXUnix[32;11H[K[33;1H:w! test.out[33;13H[K[34;1H:e! XXDos[34;10H[K[35;1H:w! XXtt01[35;11H[K[5;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset fileformats=mac[?25l[5;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! XXUxDsMc[?25l"XXUxDsMc" [36;12H[K[36;12H[mac format] 4 lines, 28 characters[1;1Hunix[1m[34m^J[0munix[1m[34m^J[0mdos[1;16H[K[2;1H[1m[34m^J[0mdos
[1m[34m^J[0mmac[3;6H[K[4;1Hmac[4;5H[K[5;1H[1m[34m~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw! XXtt33[?25l"XXtt33" [36;10H[K[36;10H[New File][mac format] 4 lines, 28 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hbwipe XXUxDsMc[?25l"test30.in" [36;13H[K[36;13H[Incomplete last line][mac format] 5 lines, 3095 characters[1;1H[1m[34m^J[0mdos[1;6H[K[2;3Heof[1m[34m^J^J[0mmac
mac[3;4H[K[4;1H[1m[34m^J[0m[4;3H[K[4;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[4;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" try reading and writing with 'fileformats' set to two formats[?25l[4;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset fileformats=unix,dos[?25l[4;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! XXUxDsMc[?25l"XXUxDsMc" [36;12H[K[36;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;5H[K[2;1Hunix[2;5H[K[3;1Hdos[1m[34m^M[0m
dos[1m[34m^M[0m
mac[1m[34m^M[0mmac[1m[34m^M[0m[5;11H[K[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw! XXtt41[?25l"XXtt41" [36;10H[K[36;10H[New File] 5 lines, 29 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hbwipe XXUxDsMc[?25l"test30.in" [36;13H[K[36;13H208 lines, 3095 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HSTARTTEST
:so small.vim
:" first write three test files, one in each format
:set fileformat=unix[6;21H[K[7;1H:set fileformats=[7;18H[K[8;1H:/^1/w! XX1[8;12H[K[9;1H:/^2/w! XX2[9;12H[K[10;1H:/^3/w! XX3[10;12H[K[11;1H:/^4/w! XX4[11;12H[K[12;1H:/^5/w! XX5[12;12H[K[13;1H:/^6/w! XX6[13;12H[K[14;1H:/^7/w! XX7[14;12H[K[15;1H:/^8/w! XX8[15;12H[K[16;1H:/^9/w! XX9[16;12H[K[17;1H:/^10/w! XX10[17;14H[K[18;1H:/^unix/;/eof/-1w! XXUnix[18;26H[K[19;1H:/^dos/;/eof/-1w! XXDos[19;24H[K[20;1H:set bin noeol[20;15H[K[21;1H:$w! XXMac[21;11H[K[22;1H:set nobin eol[22;15H[K[23;1H:bwipe XXUnix XXDos XXMac[23;26H[K[24;1H:" create mixed format files[24;29H[K[25;1H:!cat XXUnix XXDos >XXUxDs[25;27H[K[26;1H:!cat XXUnix XXMac >XXUxMac[26;28H[K[27;1H:!cat XXDos XXMac >XXDosMac[27;28H[K[28;1H:!cat XXUnix XXDos XXMac >XXUxDsMc[28;35H[K[29;1H:"[29;3H[K[30;1H:" try reading and writing with 'fileformats' empty[30;52H[K[31;1H:set fileformat=unix[31;21H[K[32;1H:e! XXUnix[32;11H[K[33;1H:w! test.out[33;13H[K[34;1H:e! XXDos[34;10H[K[35;1H:w! XXtt01[35;11H[K[5;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! XXUxMac[?25l"XXUxMac" [36;11H[K[36;11H[Incomplete last line] 3 lines, 18 characters[1;1Hunix[1;6H[K[2;1Hunix
mac[1m[34m^M[0mmac[1m[34m^M
~                                                                                                   [5;1H~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw! XXtt42[?25l"XXtt42" [36;10H[K[36;10H[New File] 3 lines, 19 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hbwipe XXUxMac[?25l"test30.in" [36;13H[K[36;13H208 lines, 3095 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HSTARTTEST[3;10H[K[4;1H:so small.vim[4;14H[K[5;1H:" first write three test files, one in each format[5;52H[K[6;1H:set fileformat=unix[6;21H[K[7;1H:set fileformats=[7;18H[K[8;1H:/^1/w! XX1[8;12H[K[9;1H:/^2/w! XX2[9;12H[K[10;1H:/^3/w! XX3[10;12H[K[11;1H:/^4/w! XX4[11;12H[K[12;1H:/^5/w! XX5[12;12H[K[13;1H:/^6/w! XX6[13;12H[K[14;1H:/^7/w! XX7[14;12H[K[15;1H:/^8/w! XX8[15;12H[K[16;1H:/^9/w! XX9[16;12H[K[17;1H:/^10/w! XX10[17;14H[K[18;1H:/^unix/;/eof/-1w! XXUnix[18;26H[K[19;1H:/^dos/;/eof/-1w! XXDos[19;24H[K[20;1H:set bin noeol[20;15H[K[21;1H:$w! XXMac[21;11H[K[22;1H:set nobin eol[22;15H[K[23;1H:bwipe XXUnix XXDos XXMac[23;26H[K[24;1H:" create mixed format files[24;29H[K[25;1H:!cat XXUnix XXDos >XXUxDs[25;27H[K[26;1H:!cat XXUnix XXMac >XXUxMac[26;28H[K[27;1H:!cat XXDos XXMac >XXDosMac[27;28H[K[28;1H:!cat XXUnix XXDos XXMac >XXUxDsMc[28;35H[K[29;1H:"[29;3H[K[30;1H:" try reading and writing with 'fileformats' empty[30;52H[K[31;1H:set fileformat=unix[31;21H[K[32;1H:e! XXUnix[32;11H[K[33;1H:w! test.out[33;13H[K[34;1H:e! XXDos[34;10H[K[35;1H:w! XXtt01[35;11H[K[5;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! XXDosMac[?25l"XXDosMac" [36;12H[K[36;12H[Incomplete last line][dos format] 3 lines, 18 characters[1;1Hdo[1;4H[K[2;1Hdos
mac[1m[34m^M[0mmac[1m[34m^M
~                                                                                                   [5;1H~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw! XXtt43[?25l"XXtt43" [36;10H[K[36;10H[New File][dos format] 3 lines, 20 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hbwipe XXDosMac[?25l"test30.in" [36;13H[K[36;13H208 lines, 3095 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HSTARTTEST[3;10H[K[4;1H:so small.vim[4;14H[K[5;1H:" first write three test files, one in each format[5;52H[K[6;1H:set fileformat=unix[6;21H[K[7;1H:set fileformats=[7;18H[K[8;1H:/^1/w! XX1[8;12H[K[9;1H:/^2/w! XX2[9;12H[K[10;1H:/^3/w! XX3[10;12H[K[11;1H:/^4/w! XX4[11;12H[K[12;1H:/^5/w! XX5[12;12H[K[13;1H:/^6/w! XX6[13;12H[K[14;1H:/^7/w! XX7[14;12H[K[15;1H:/^8/w! XX8[15;12H[K[16;1H:/^9/w! XX9[16;12H[K[17;1H:/^10/w! XX10[17;14H[K[18;1H:/^unix/;/eof/-1w! XXUnix[18;26H[K[19;1H:/^dos/;/eof/-1w! XXDos[19;24H[K[20;1H:set bin noeol[20;15H[K[21;1H:$w! XXMac[21;11H[K[22;1H:set nobin eol[22;15H[K[23;1H:bwipe XXUnix XXDos XXMac[23;26H[K[24;1H:" create mixed format files[24;29H[K[25;1H:!cat XXUnix XXDos >XXUxDs[25;27H[K[26;1H:!cat XXUnix XXMac >XXUxMac[26;28H[K[27;1H:!cat XXDos XXMac >XXDosMac[27;28H[K[28;1H:!cat XXUnix XXDos XXMac >XXUxDsMc[28;35H[K[29;1H:"[29;3H[K[30;1H:" try reading and writing with 'fileformats' empty[30;52H[K[31;1H:set fileformat=unix[31;21H[K[32;1H:e! XXUnix[32;11H[K[33;1H:w! test.out[33;13H[K[34;1H:e! XXDos[34;10H[K[35;1H:w! XXtt01[35;11H[K[5;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset fileformats=unix,mac[?25l[5;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! XXUxDs[?25l"XXUxDs" [36;10H[K[36;10H4 lines, 20 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[1m[34m^M[0m[3;6H[K[4;1Hdos[1m[34m^M[0m[4;6H[K[5;1H[1m[34m~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw! XXtt51[?25l"XXtt51" [36;10H[K[36;10H[New File] 4 lines, 20 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hbwipe XXUxDs[?25l"test30.in" [36;13H[K[36;13H208 lines, 3095 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HSTARTTEST
:so small.vim
:" first write three test files, one in each format[5;52H[K[6;1H:set fileformat=unix[6;21H[K[7;1H:set fileformats=[7;18H[K[8;1H:/^1/w! XX1[8;12H[K[9;1H:/^2/w! XX2[9;12H[K[10;1H:/^3/w! XX3[10;12H[K[11;1H:/^4/w! XX4[11;12H[K[12;1H:/^5/w! XX5[12;12H[K[13;1H:/^6/w! XX6[13;12H[K[14;1H:/^7/w! XX7[14;12H[K[15;1H:/^8/w! XX8[15;12H[K[16;1H:/^9/w! XX9[16;12H[K[17;1H:/^10/w! XX10[17;14H[K[18;1H:/^unix/;/eof/-1w! XXUnix[18;26H[K[19;1H:/^dos/;/eof/-1w! XXDos[19;24H[K[20;1H:set bin noeol[20;15H[K[21;1H:$w! XXMac[21;11H[K[22;1H:set nobin eol[22;15H[K[23;1H:bwipe XXUnix XXDos XXMac[23;26H[K[24;1H:" create mixed format files[24;29H[K[25;1H:!cat XXUnix XXDos >XXUxDs[25;27H[K[26;1H:!cat XXUnix XXMac >XXUxMac[26;28H[K[27;1H:!cat XXDos XXMac >XXDosMac[27;28H[K[28;1H:!cat XXUnix XXDos XXMac >XXUxDsMc[28;35H[K[29;1H:"[29;3H[K[30;1H:" try reading and writing with 'fileformats' empty[30;52H[K[31;1H:set fileformat=unix[31;21H[K[32;1H:e! XXUnix[32;11H[K[33;1H:w! test.out[33;13H[K[34;1H:e! XXDos[34;10H[K[35;1H:w! XXtt01[35;11H[K[5;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! XXUxDsMc[?25l"XXUxDsMc" [36;12H[K[36;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[1m[34m^M[0m[3;6H[K[4;1Hdos[1m[34m^M[0m[4;6H[K[5;1Hmac[1m[34m^M[0mmac[1m[34m^M[0m[5;11H[K[6;1H[1m[34m~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw! XXtt52[?25l"XXtt52" [36;10H[K[36;10H[New File] 5 lines, 29 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hbwipe XXUxDsMc[?25l"test30.in" [36;13H[K[36;13H208 lines, 3095 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HSTARTTEST
:so small.vim
:" first write three test files, one in each format
:set fileformat=unix[6;21H[K[7;1H:set fileformats=[7;18H[K[8;1H:/^1/w! XX1[8;12H[K[9;1H:/^2/w! XX2[9;12H[K[10;1H:/^3/w! XX3[10;12H[K[11;1H:/^4/w! XX4[11;12H[K[12;1H:/^5/w! XX5[12;12H[K[13;1H:/^6/w! XX6[13;12H[K[14;1H:/^7/w! XX7[14;12H[K[15;1H:/^8/w! XX8[15;12H[K[16;1H:/^9/w! XX9[16;12H[K[17;1H:/^10/w! XX10[17;14H[K[18;1H:/^unix/;/eof/-1w! XXUnix[18;26H[K[19;1H:/^dos/;/eof/-1w! XXDos[19;24H[K[20;1H:set bin noeol[20;15H[K[21;1H:$w! XXMac[21;11H[K[22;1H:set nobin eol[22;15H[K[23;1H:bwipe XXUnix XXDos XXMac[23;26H[K[24;1H:" create mixed format files[24;29H[K[25;1H:!cat XXUnix XXDos >XXUxDs[25;27H[K[26;1H:!cat XXUnix XXMac >XXUxMac[26;28H[K[27;1H:!cat XXDos XXMac >XXDosMac[27;28H[K[28;1H:!cat XXUnix XXDos XXMac >XXUxDsMc[28;35H[K[29;1H:"[29;3H[K[30;1H:" try reading and writing with 'fileformats' empty[30;52H[K[31;1H:set fileformat=unix[31;21H[K[32;1H:e! XXUnix[32;11H[K[33;1H:w! test.out[33;13H[K[34;1H:e! XXDos[34;10H[K[35;1H:w! XXtt01[35;11H[K[5;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! XXDosMac[?25l"XXDosMac" [36;12H[K[36;12H[mac format] 4 lines, 18 characters[1;1Hdo[1;4H[K[2;1H[1m[34m^J[0mdos
[1m[34m^J[0mmac[3;6H[K[4;1Hmac[4;5H[K[5;1H[1m[34m~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw! XXtt53[?25l"XXtt53" [36;10H[K[36;10H[New File][mac format] 4 lines, 18 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hbwipe XXDosMac[?25l"test30.in" [36;13H[K[36;13H208 lines, 3095 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HSTARTTEST
:so small.vim
:" first write three test files, one in each format[5;52H[K[6;1H:set fileformat=unix[6;21H[K[7;1H:set fileformats=[7;18H[K[8;1H:/^1/w! XX1[8;12H[K[9;1H:/^2/w! XX2[9;12H[K[10;1H:/^3/w! XX3[10;12H[K[11;1H:/^4/w! XX4[11;12H[K[12;1H:/^5/w! XX5[12;12H[K[13;1H:/^6/w! XX6[13;12H[K[14;1H:/^7/w! XX7[14;12H[K[15;1H:/^8/w! XX8[15;12H[K[16;1H:/^9/w! XX9[16;12H[K[17;1H:/^10/w! XX10[17;14H[K[18;1H:/^unix/;/eof/-1w! XXUnix[18;26H[K[19;1H:/^dos/;/eof/-1w! XXDos[19;24H[K[20;1H:set bin noeol[20;15H[K[21;1H:$w! XXMac[21;11H[K[22;1H:set nobin eol[22;15H[K[23;1H:bwipe XXUnix XXDos XXMac[23;26H[K[24;1H:" create mixed format files[24;29H[K[25;1H:!cat XXUnix XXDos >XXUxDs[25;27H[K[26;1H:!cat XXUnix XXMac >XXUxMac[26;28H[K[27;1H:!cat XXDos XXMac >XXDosMac[27;28H[K[28;1H:!cat XXUnix XXDos XXMac >XXUxDsMc[28;35H[K[29;1H:"[29;3H[K[30;1H:" try reading and writing with 'fileformats' empty[30;52H[K[31;1H:set fileformat=unix[31;21H[K[32;1H:e! XXUnix[32;11H[K[33;1H:w! test.out[33;13H[K[34;1H:e! XXDos[34;10H[K[35;1H:w! XXtt01[35;11H[K[5;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset fileformats=dos,mac[?25l[5;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! XXUxDs[?25l"XXUxDs" [36;10H[K[36;10H[CR missing][dos format] 4 lines, 20 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[3;4H[K[4;1Hdos[4;5H[K[5;1H[1m[34m~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw! XXtt61[?25l"XXtt61" [36;10H[K[36;10H[New File][dos format] 4 lines, 22 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hbwipe XXUxDs[?25l"test30.in" [36;13H[K[36;13H[CR missing][dos format] 208 lines, 3095 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HSTARTTEST
:so small.vim
:" first write three test files, one in each format[5;52H[K[6;1H:set fileformat=unix[6;21H[K[7;1H:set fileformats=[7;18H[K[8;1H:/^1/w! XX1[8;12H[K[9;1H:/^2/w! XX2[9;12H[K[10;1H:/^3/w! XX3[10;12H[K[11;1H:/^4/w! XX4[11;12H[K[12;1H:/^5/w! XX5[12;12H[K[13;1H:/^6/w! XX6[13;12H[K[14;1H:/^7/w! XX7[14;12H[K[15;1H:/^8/w! XX8[15;12H[K[16;1H:/^9/w! XX9[16;12H[K[17;1H:/^10/w! XX10[17;14H[K[18;1H:/^unix/;/eof/-1w! XXUnix[18;26H[K[19;1H:/^dos/;/eof/-1w! XXDos[19;24H[K[20;1H:set bin noeol[20;15H[K[21;1H:$w! XXMac[21;11H[K[22;1H:set nobin eol[22;15H[K[23;1H:bwipe XXUnix XXDos XXMac[23;26H[K[24;1H:" create mixed format files[24;29H[K[25;1H:!cat XXUnix XXDos >XXUxDs[25;27H[K[26;1H:!cat XXUnix XXMac >XXUxMac[26;28H[K[27;1H:!cat XXDos XXMac >XXDosMac[27;28H[K[28;1H:!cat XXUnix XXDos XXMac >XXUxDsMc[28;35H[K[29;1H:"[29;3H[K[30;1H:" try reading and writing with 'fileformats' empty[30;52H[K[31;1H:set fileformat=unix[31;21H[K[32;1H:e! XXUnix[32;11H[K[33;1H:w! test.out[33;13H[K[34;1H:e! XXDos[34;10H[K[35;1H:w! XXtt01[35;11H[K[5;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! XXUxMac[?25l"XXUxMac" [36;11H[K[36;11H[Incomplete last line][CR missing][dos format] 3 lines, 18 characters[1;1Hunix[1;6H[K[2;1Hunix
mac[1m[34m^M[0mmac[1m[34m^M
~                                                                                                   [5;1H~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw! XXtt62[?25l"XXtt62" [36;10H[K[36;10H[New File][dos format] 3 lines, 22 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hbwipe XXUxMac[?25l"test30.in" [36;13H[K[36;13H[CR missing][dos format] 208 lines, 3095 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HSTARTTEST[3;10H[K[4;1H:so small.vim[4;14H[K[5;1H:" first write three test files, one in each format[5;52H[K[6;1H:set fileformat=unix[6;21H[K[7;1H:set fileformats=[7;18H[K[8;1H:/^1/w! XX1[8;12H[K[9;1H:/^2/w! XX2[9;12H[K[10;1H:/^3/w! XX3[10;12H[K[11;1H:/^4/w! XX4[11;12H[K[12;1H:/^5/w! XX5[12;12H[K[13;1H:/^6/w! XX6[13;12H[K[14;1H:/^7/w! XX7[14;12H[K[15;1H:/^8/w! XX8[15;12H[K[16;1H:/^9/w! XX9[16;12H[K[17;1H:/^10/w! XX10[17;14H[K[18;1H:/^unix/;/eof/-1w! XXUnix[18;26H[K[19;1H:/^dos/;/eof/-1w! XXDos[19;24H[K[20;1H:set bin noeol[20;15H[K[21;1H:$w! XXMac[21;11H[K[22;1H:set nobin eol[22;15H[K[23;1H:bwipe XXUnix XXDos XXMac[23;26H[K[24;1H:" create mixed format files[24;29H[K[25;1H:!cat XXUnix XXDos >XXUxDs[25;27H[K[26;1H:!cat XXUnix XXMac >XXUxMac[26;28H[K[27;1H:!cat XXDos XXMac >XXDosMac[27;28H[K[28;1H:!cat XXUnix XXDos XXMac >XXUxDsMc[28;35H[K[29;1H:"[29;3H[K[30;1H:" try reading and writing with 'fileformats' empty[30;52H[K[31;1H:set fileformat=unix[31;21H[K[32;1H:e! XXUnix[32;11H[K[33;1H:w! test.out[33;13H[K[34;1H:e! XXDos[34;10H[K[35;1H:w! XXtt01[35;11H[K[5;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! XXUxDsMc[?25l"XXUxDsMc" [36;12H[K[36;12H[Incomplete last line][CR missing][dos format] 5 lines, 28 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[3;4H[K[4;1Hdos[4;5H[K[5;1Hmac[1m[34m^M[0mmac[1m[34m^M[0m[5;11H[K[6;1H[1m[34m~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw! XXtt63[?25l"XXtt63" [36;10H[K[36;10H[New File][dos format] 5 lines, 32 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hbwipe XXUxDsMc[?25l"test30.in" [36;13H[K[36;13H[CR missing][dos format] 208 lines, 3095 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HSTARTTEST
:so small.vim
:" first write three test files, one in each format
:set fileformat=unix[6;21H[K[7;1H:set fileformats=[7;18H[K[8;1H:/^1/w! XX1[8;12H[K[9;1H:/^2/w! XX2[9;12H[K[10;1H:/^3/w! XX3[10;12H[K[11;1H:/^4/w! XX4[11;12H[K[12;1H:/^5/w! XX5[12;12H[K[13;1H:/^6/w! XX6[13;12H[K[14;1H:/^7/w! XX7[14;12H[K[15;1H:/^8/w! XX8[15;12H[K[16;1H:/^9/w! XX9[16;12H[K[17;1H:/^10/w! XX10[17;14H[K[18;1H:/^unix/;/eof/-1w! XXUnix[18;26H[K[19;1H:/^dos/;/eof/-1w! XXDos[19;24H[K[20;1H:set bin noeol[20;15H[K[21;1H:$w! XXMac[21;11H[K[22;1H:set nobin eol[22;15H[K[23;1H:bwipe XXUnix XXDos XXMac[23;26H[K[24;1H:" create mixed format files[24;29H[K[25;1H:!cat XXUnix XXDos >XXUxDs[25;27H[K[26;1H:!cat XXUnix XXMac >XXUxMac[26;28H[K[27;1H:!cat XXDos XXMac >XXDosMac[27;28H[K[28;1H:!cat XXUnix XXDos XXMac >XXUxDsMc[28;35H[K[29;1H:"[29;3H[K[30;1H:" try reading and writing with 'fileformats' empty[30;52H[K[31;1H:set fileformat=unix[31;21H[K[32;1H:e! XXUnix[32;11H[K[33;1H:w! test.out[33;13H[K[34;1H:e! XXDos[34;10H[K[35;1H:w! XXtt01[35;11H[K[5;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[5;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" try reading and writing with 'fileformats' set to three formats[?25l[5;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset fileformats=unix,dos,mac[?25l[5;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! XXUxDsMc[?25l"XXUxDsMc" [36;12H[K[36;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[1m[34m^M[0m[3;6H[K[4;1Hdos[1m[34m^M[0m[4;6H[K[5;1Hmac[1m[34m^M[0mmac[1m[34m^M[0m[5;11H[K[6;1H[1m[34m~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw! XXtt71[?25l"XXtt71" [36;10H[K[36;10H[New File] 5 lines, 29 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hbwipe XXUxDsMc[?25l"test30.in" [36;13H[K[36;13H208 lines, 3095 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HSTARTTEST
:so small.vim
:" first write three test files, one in each format
:set fileformat=unix[6;21H[K[7;1H:set fileformats=[7;18H[K[8;1H:/^1/w! XX1[8;12H[K[9;1H:/^2/w! XX2[9;12H[K[10;1H:/^3/w! XX3[10;12H[K[11;1H:/^4/w! XX4[11;12H[K[12;1H:/^5/w! XX5[12;12H[K[13;1H:/^6/w! XX6[13;12H[K[14;1H:/^7/w! XX7[14;12H[K[15;1H:/^8/w! XX8[15;12H[K[16;1H:/^9/w! XX9[16;12H[K[17;1H:/^10/w! XX10[17;14H[K[18;1H:/^unix/;/eof/-1w! XXUnix[18;26H[K[19;1H:/^dos/;/eof/-1w! XXDos[19;24H[K[20;1H:set bin noeol[20;15H[K[21;1H:$w! XXMac[21;11H[K[22;1H:set nobin eol[22;15H[K[23;1H:bwipe XXUnix XXDos XXMac[23;26H[K[24;1H:" create mixed format files[24;29H[K[25;1H:!cat XXUnix XXDos >XXUxDs[25;27H[K[26;1H:!cat XXUnix XXMac >XXUxMac[26;28H[K[27;1H:!cat XXDos XXMac >XXDosMac[27;28H[K[28;1H:!cat XXUnix XXDos XXMac >XXUxDsMc[28;35H[K[29;1H:"[29;3H[K[30;1H:" try reading and writing with 'fileformats' empty[30;52H[K[31;1H:set fileformat=unix[31;21H[K[32;1H:e! XXUnix[32;11H[K[33;1H:w! test.out[33;13H[K[34;1H:e! XXDos[34;10H[K[35;1H:w! XXtt01[35;11H[K[5;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset fileformats=mac,dos,unix[?25l[5;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! XXUxDsMc[?25l"XXUxDsMc" [36;12H[K[36;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[1m[34m^M[0m[3;6H[K[4;1Hdos[1m[34m^M[0m[4;6H[K[5;1Hmac[1m[34m^M[0mmac[1m[34m^M[0m[5;11H[K[6;1H[1m[34m~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw! XXtt81[?25l"XXtt81" [36;10H[K[36;10H[New File] 5 lines, 29 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hbwipe XXUxDsMc[?25l"test30.in" [36;13H[K[36;13H208 lines, 3095 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HSTARTTEST
:so small.vim
:" first write three test files, one in each format
:set fileformat=unix[6;21H[K[7;1H:set fileformats=[7;18H[K[8;1H:/^1/w! XX1[8;12H[K[9;1H:/^2/w! XX2[9;12H[K[10;1H:/^3/w! XX3[10;12H[K[11;1H:/^4/w! XX4[11;12H[K[12;1H:/^5/w! XX5[12;12H[K[13;1H:/^6/w! XX6[13;12H[K[14;1H:/^7/w! XX7[14;12H[K[15;1H:/^8/w! XX8[15;12H[K[16;1H:/^9/w! XX9[16;12H[K[17;1H:/^10/w! XX10[17;14H[K[18;1H:/^unix/;/eof/-1w! XXUnix[18;26H[K[19;1H:/^dos/;/eof/-1w! XXDos[19;24H[K[20;1H:set bin noeol[20;15H[K[21;1H:$w! XXMac[21;11H[K[22;1H:set nobin eol[22;15H[K[23;1H:bwipe XXUnix XXDos XXMac[23;26H[K[24;1H:" create mixed format files[24;29H[K[25;1H:!cat XXUnix XXDos >XXUxDs[25;27H[K[26;1H:!cat XXUnix XXMac >XXUxMac[26;28H[K[27;1H:!cat XXDos XXMac >XXDosMac[27;28H[K[28;1H:!cat XXUnix XXDos XXMac >XXUxDsMc[28;35H[K[29;1H:"[29;3H[K[30;1H:" try reading and writing with 'fileformats' empty[30;52H[K[31;1H:set fileformat=unix[31;21H[K[32;1H:e! XXUnix[32;11H[K[33;1H:w! test.out[33;13H[K[34;1H:e! XXDos[34;10H[K[35;1H:w! XXtt01[35;11H[K[5;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" try with 'binary' set[?25l[5;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset fileformats=mac,unix,dos[?25l[5;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset binary[?25l[5;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! XXUxDsMc[?25l"XXUxDsMc" [36;12H[K[36;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[1m[34m^M[0m[3;6H[K[4;1Hdos[1m[34m^M[0m[4;6H[K[5;1Hmac[1m[34m^M[0mmac[1m[34m^M[0m[5;11H[K[6;1H[1m[34m~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw! XXtt91[?25l"XXtt91" [36;10H[K[36;10H[New File][Incomplete last line] 5 lines, 28 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hbwipe XXUxDsMc[?25l"test30.in" [36;13H[K[36;13H208 lines, 3095 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HSTARTTEST
:so small.vim
:" first write three test files, one in each format
:set fileformat=unix[6;21H[K[7;1H:set fileformats=[7;18H[K[8;1H:/^1/w! XX1[8;12H[K[9;1H:/^2/w! XX2[9;12H[K[10;1H:/^3/w! XX3[10;12H[K[11;1H:/^4/w! XX4[11;12H[K[12;1H:/^5/w! XX5[12;12H[K[13;1H:/^6/w! XX6[13;12H[K[14;1H:/^7/w! XX7[14;12H[K[15;1H:/^8/w! XX8[15;12H[K[16;1H:/^9/w! XX9[16;12H[K[17;1H:/^10/w! XX10[17;14H[K[18;1H:/^unix/;/eof/-1w! XXUnix[18;26H[K[19;1H:/^dos/;/eof/-1w! XXDos[19;24H[K[20;1H:set bin noeol[20;15H[K[21;1H:$w! XXMac[21;11H[K[22;1H:set nobin eol[22;15H[K[23;1H:bwipe XXUnix XXDos XXMac[23;26H[K[24;1H:" create mixed format files[24;29H[K[25;1H:!cat XXUnix XXDos >XXUxDs[25;27H[K[26;1H:!cat XXUnix XXMac >XXUxMac[26;28H[K[27;1H:!cat XXDos XXMac >XXDosMac[27;28H[K[28;1H:!cat XXUnix XXDos XXMac >XXUxDsMc[28;35H[K[29;1H:"[29;3H[K[30;1H:" try reading and writing with 'fileformats' empty[30;52H[K[31;1H:set fileformat=unix[31;21H[K[32;1H:e! XXUnix[32;11H[K[33;1H:w! test.out[33;13H[K[34;1H:e! XXDos[34;10H[K[35;1H:w! XXtt01[35;11H[K[5;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset fileformats=mac[?25l[5;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! XXUxDsMc[?25l"XXUxDsMc" [36;12H[K[36;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[1m[34m^M[0m[3;6H[K[4;1Hdos[1m[34m^M[0m[4;6H[K[5;1Hmac[1m[34m^M[0mmac[1m[34m^M[0m[5;11H[K[6;1H[1m[34m~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw! XXtt92[?25l"XXtt92" [36;10H[K[36;10H[New File][Incomplete last line] 5 lines, 28 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hbwipe XXUxDsMc[?25l"test30.in" [36;13H[K[36;13H208 lines, 3095 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HSTARTTEST
:so small.vim
:" first write three test files, one in each format
:set fileformat=unix[6;21H[K[7;1H:set fileformats=[7;18H[K[8;1H:/^1/w! XX1[8;12H[K[9;1H:/^2/w! XX2[9;12H[K[10;1H:/^3/w! XX3[10;12H[K[11;1H:/^4/w! XX4[11;12H[K[12;1H:/^5/w! XX5[12;12H[K[13;1H:/^6/w! XX6[13;12H[K[14;1H:/^7/w! XX7[14;12H[K[15;1H:/^8/w! XX8[15;12H[K[16;1H:/^9/w! XX9[16;12H[K[17;1H:/^10/w! XX10[17;14H[K[18;1H:/^unix/;/eof/-1w! XXUnix[18;26H[K[19;1H:/^dos/;/eof/-1w! XXDos[19;24H[K[20;1H:set bin noeol[20;15H[K[21;1H:$w! XXMac[21;11H[K[22;1H:set nobin eol[22;15H[K[23;1H:bwipe XXUnix XXDos XXMac[23;26H[K[24;1H:" create mixed format files[24;29H[K[25;1H:!cat XXUnix XXDos >XXUxDs[25;27H[K[26;1H:!cat XXUnix XXMac >XXUxMac[26;28H[K[27;1H:!cat XXDos XXMac >XXDosMac[27;28H[K[28;1H:!cat XXUnix XXDos XXMac >XXUxDsMc[28;35H[K[29;1H:"[29;3H[K[30;1H:" try reading and writing with 'fileformats' empty[30;52H[K[31;1H:set fileformat=unix[31;21H[K[32;1H:e! XXUnix[32;11H[K[33;1H:w! test.out[33;13H[K[34;1H:e! XXDos[34;10H[K[35;1H:w! XXtt01[35;11H[K[5;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset fileformats=dos[?25l[5;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! XXUxDsMc[?25l"XXUxDsMc" [36;12H[K[36;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[1m[34m^M[0m[3;6H[K[4;1Hdos[1m[34m^M[0m[4;6H[K[5;1Hmac[1m[34m^M[0mmac[1m[34m^M[0m[5;11H[K[6;1H[1m[34m~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw! XXtt93[?25l"XXtt93" [36;10H[K[36;10H[New File][Incomplete last line] 5 lines, 28 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" Append "END" to each file so that we can see what the last written char was.[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset fileformat=unix nobin[?25l[1;1H[34h[?25h[?25l[1;1H[K[2;1H[1m[34m~                                                                                                   [3;1H~                                                                                                   [4;1H~                                                                                                   [5;1H~                                                                                                   [0m[36;1H--No lines in buffer--[36;23H[K[1;1H[34h[?25h[?25lEND[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>XXtt01[?25l"XXtt01" [36;10H[K[36;10H1 line, 4 characters appended[1;3H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>XXtt02[?25l"XXtt02" [36;10H[K[36;10H1 line, 4 characters appended[1;3H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>XXtt11[?25l"XXtt11" [36;10H[K[36;10H1 line, 4 characters appended[1;3H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>XXtt12[?25l"XXtt12" [36;10H[K[36;10H1 line, 4 characters appended[1;3H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>XXtt13[?25l"XXtt13" [36;10H[K[36;10H1 line, 4 characters appended[1;3H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>XXtt21[?25l"XXtt21" [36;10H[K[36;10H1 line, 4 characters appended[1;3H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>XXtt22[?25l"XXtt22" [36;10H[K[36;10H1 line, 4 characters appended[1;3H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>XXtt23[?25l"XXtt23" [36;10H[K[36;10H1 line, 4 characters appended[1;3H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>XXtt31[?25l"XXtt31" [36;10H[K[36;10H1 line, 4 characters appended[1;3H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>XXtt32[?25l"XXtt32" [36;10H[K[36;10H1 line, 4 characters appended[1;3H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>XXtt33[?25l"XXtt33" [36;10H[K[36;10H1 line, 4 characters appended[1;3H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>XXtt41[?25l"XXtt41" [36;10H[K[36;10H1 line, 4 characters appended[1;3H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>XXtt42[?25l"XXtt42" [36;10H[K[36;10H1 line, 4 characters appended[1;3H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>XXtt43[?25l"XXtt43" [36;10H[K[36;10H1 line, 4 characters appended[1;3H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>XXtt51[?25l"XXtt51" [36;10H[K[36;10H1 line, 4 characters appended[1;3H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>XXtt52[?25l"XXtt52" [36;10H[K[36;10H1 line, 4 characters appended[1;3H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>XXtt53[?25l"XXtt53" [36;10H[K[36;10H1 line, 4 characters appended[1;3H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>XXtt61[?25l"XXtt61" [36;10H[K[36;10H1 line, 4 characters appended[1;3H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>XXtt62[?25l"XXtt62" [36;10H[K[36;10H1 line, 4 characters appended[1;3H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>XXtt63[?25l"XXtt63" [36;10H[K[36;10H1 line, 4 characters appended[1;3H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>XXtt71[?25l"XXtt71" [36;10H[K[36;10H1 line, 4 characters appended[1;3H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>XXtt81[?25l"XXtt81" [36;10H[K[36;10H1 line, 4 characters appended[1;3H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>XXtt91[?25l"XXtt91" [36;10H[K[36;10H1 line, 4 characters appended[1;3H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>XXtt92[?25l"XXtt92" [36;10H[K[36;10H1 line, 4 characters appended[1;3H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>XXtt93[?25l"XXtt93" [36;10H[K[36;10H1 line, 4 characters appended[1;3H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[1;3H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" Concatenate the results.[?25l[1;3H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" Make fileformat of test.out the native fileformat.[?25l[1;3H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" Add a newline at the end.[?25l[1;3H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset binary[?25l[1;3H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! test.out[?25l"test.out" [36;12H[K[36;12H2 lines, 10 characters[1;1Hunix
unix[2;5H[K[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$r XXtt01[?25l"XXtt01" [36;10H[K[36;10H3 lines, 14 characters[3;1Hdos[1m[34m^M[0m[3;6H[K[4;1Hdos[1m[34m^M[0m[4;6H[K[5;1HEND[5;4H[K[3;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$r XXtt02[?25l"XXtt02" [36;10H[K[36;10H2 lines, 13 characters[6;1Hmac[1m[34m^M[0mmac[1m[34m^M[0m[6;11H[K[7;1HEND[7;4H[K[6;1H[34h[?25h
[?25l
1[8;2H[K[8;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$r XXtt11[?25l"XXtt11" [36;10H[K[36;10H3 lines, 16 characters[9;1Hunix[1m[34m^M[0m[9;7H[K[10;1Hunix[1m[34m^M[0m[10;7H[K[11;1HEND[11;4H[K[9;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$r XXtt12[?25l"XXtt12" [36;10H[K[36;10H3 lines, 14 characters[12;1Hdos[1m[34m^M[0m[12;6H[K[13;1Hdos[1m[34m^M[0m[13;6H[K[14;1HEND[14;4H[K[12;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$r XXtt13[?25l"XXtt13" [36;10H[K[36;10H2 lines, 14 characters[15;1Hmac[1m[34m^M[0mmac[1m[34m^M^M[0m[15;13H[K[16;1HEND[16;4H[K[15;1H[34h[?25h
[?25l
2[17;2H[K[17;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$r XXtt21[?25l"XXtt21" [36;10H[K[36;10H3 lines, 15 characters[18;1Hunix[18;5H[K[19;1Hunix[19;5H[K[20;1H[1m[34m^M[0mEND[20;6H[K[18;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$r XXtt22[?25l"XXtt22" [36;10H[K[36;10H3 lines, 15 characters[21;1Hdos[1m[34m^M[0m[21;6H[K[22;1Hdos[1m[34m^M[0m[22;6H[K[23;1H[1m[34m^M[0mEND[23;6H[K[21;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$r XXtt23[?25l"XXtt23" [36;10H[K[36;10H1 line, 12 characters[24;1Hmac[1m[34m^M[0mmac[1m[34m^M[0mEND[24;14H[K[24;1H[34h[?25h[?25l
3[25;2H[K[25;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$r XXtt31[?25l"XXtt31" [36;10H[K[36;10H6 lines, 33 characters[26;1Hunix[26;5H[K[27;1Hunix[27;5H[K[28;1Hdos[1m[34m^M[0m[28;6H[K[29;1Hdos[1m[34m^M[0m[29;6H[K[30;1Hmac[1m[34m^M[0mmac[1m[34m^M[0m[30;11H[K[31;1HEND[31;4H[K[26;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$r XXtt32[?25l"XXtt32" [36;10H[K[36;10H6 lines, 36 characters[32;1Hunix[1m[34m^M[0m[32;7H[K[33;1Hunix[1m[34m^M[0m[33;7H[K[34;1Hdos[1m[34m^M[0m[34;6H[K[35;1Hdos[1m[34m^M[0m[35;6H[K[32;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$r XXtt33[?25l"XXtt33" [36;10H[K[36;10H5 lines, 32 characters[1;35r[1;1H[3M[1;36r[33;1Hmac[1m[34m^M[0mmac[1m[34m^M^M[0m
END
unix[36;1H[K[35;1H[34h[?25h[?25l[1;35r[1;1H[4M[1;36r[32;1Hunix
dos[1m[34m^M[0m
dos[1m[34m^M[0m
mac[1m[34m^M[0mmac[1m[34m^M[0mEND[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H4[34h[?25h[?25l
:[34h[?25h$r XXtt41[?25l"XXtt41" [36;10H[K[36;10H6 lines, 33 characters[1;35r[35;1H
[1;36r[35;1Hunix[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h$r XXtt42[?25l"XXtt42" [36;10H[K[36;10H4 lines, 23 characters[1;35r[1;1H[6M[1;36r[30;1Hunix
dos[1m[34m^M[0m
dos[1m[34m^M[0m
mac[1m[34m^M[0mmac[1m[34m^M[0m
END
unix[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h$r XXtt43[?25l"XXtt43" [36;10H[K[36;10H4 lines, 24 characters[1;35r[1;1H[4M[1;36r[32;1Hunix
mac[1m[34m^M[0mmac[1m[34m^M[0m
END
dos[1m[34m^M[0m[36;1H[K[35;1H[34h[?25h[?25l[1;35r[1;1H[3M[1;36r[33;1Hdos[1m[34m^M[0m
mac[1m[34m^M[0mmac[1m[34m^M^M[0m
END[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H5[34h[?25h[?25l
:[34h[?25h$r XXtt51[?25l"XXtt51" [36;10H[K[36;10H5 lines, 24 characters[1;35r[35;1H
[1;36r[35;1Hunix[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h$r XXtt52[?25l"XXtt52" [36;10H[K[36;10H6 lines, 33 characters[1;35r[1;1H[5M[1;36r[31;1Hunix
dos[1m[34m^M[0m
dos[1m[34m^M[0m
END
unix[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h$r XXtt53[?25l"XXtt53" [36;10H[K[36;10H3 lines, 22 characters[1;35r[1;1H[6M[1;36r[30;1Hunix
dos[1m[34m^M[0m
dos[1m[34m^M[0m
mac[1m[34m^M[0mmac[1m[34m^M[0m
END
dos[1m[34m^M[0m[36;1H[K[35;1H[34h[?25h[?25l[1;35r[1;1H[2M[1;36r[34;1Hdos[1m[34m^M[0m
mac[1m[34m^M[0mmac[1m[34m^M[0mEND[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H6[34h[?25h[?25l
:[34h[?25h$r XXtt61[?25l"XXtt61" [36;10H[K[36;10H5 lines, 26 characters[1;35r[35;1H
[1;36r[35;1Hunix[1m[34m^M[0m[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h$r XXtt62[?25l"XXtt62" [36;10H[K[36;10H4 lines, 26 characters[1;35r[1;1H[5M[1;36r[31;1Hunix[1m[34m^M[0m
dos[1m[34m^M[0m
dos[1m[34m^M[0m
END
unix[1m[34m^M[0m[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h$r XXtt63[?25l"XXtt63" [36;10H[K[36;10H6 lines, 36 characters[1;35r[1;1H[4M[1;36r[32;1Hunix[1m[34m^M[0m
mac[1m[34m^M[0mmac[1m[34m^M^M[0m
END
unix[1m[34m^M[0m[36;1H[K[35;1H[34h[?25h[?25l[1;35r[1;1H[5M[1;36r[31;1Hunix[1m[34m^M[0m
dos[1m[34m^M[0m
dos[1m[34m^M[0m
mac[1m[34m^M[0mmac[1m[34m^M^M[0m
END[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H7[34h[?25h[?25l
:[34h[?25h$r XXtt71[?25l"XXtt71" [36;10H[K[36;10H6 lines, 33 characters[1;35r[35;1H
[1;36r[35;1Hunix[36;1H[K[35;1H[34h[?25h[?25l[1;35r[1;1H[5M[1;36r[31;1Hunix
dos[1m[34m^M[0m
dos[1m[34m^M[0m
mac[1m[34m^M[0mmac[1m[34m^M[0m
END[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H8[34h[?25h[?25l
:[34h[?25h$r XXtt81[?25l"XXtt81" [36;10H[K[36;10H6 lines, 33 characters[1;35r[35;1H
[1;36r[35;1Hunix[36;1H[K[35;1H[34h[?25h[?25l[1;35r[1;1H[5M[1;36r[31;1Hunix
dos[1m[34m^M[0m
dos[1m[34m^M[0m
mac[1m[34m^M[0mmac[1m[34m^M[0m
END[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H9[34h[?25h[?25l
:[34h[?25h$r XXtt91[?25l"XXtt91" [36;10H[K[36;10H5 lines, 32 characters[1;35r[35;1H
[1;36r[35;1Hunix[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h$r XXtt92[?25l"XXtt92" [36;10H[K[36;10H5 lines, 32 characters[1;35r[1;1H[5M[1;36r[31;1Hunix
dos[1m[34m^M[0m
dos[1m[34m^M[0m
mac[1m[34m^M[0mmac[1m[34m^M[0mEND
unix[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h$r XXtt93[?25l"XXtt93" [36;10H[K[36;10H5 lines, 32 characters[1;35r[1;1H[5M[1;36r[31;1Hunix
dos[1m[34m^M[0m
dos[1m[34m^M[0m
mac[1m[34m^M[0mmac[1m[34m^M[0mEND
unix[36;1H[K[35;1H[34h[?25h[?25l[1;35r[1;1H[4M[1;36r[32;1Hunix
dos[1m[34m^M[0m
dos[1m[34m^M[0m
mac[1m[34m^M[0mmac[1m[34m^M[0mEND[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H10[34h[?25h[?25l
:[34h[?25h$r XXUnix[?25l"XXUnix" [36;10H[K[36;10H2 lines, 10 characters[1;35r[35;1H
[1;36r[35;1Hunix[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25hset nobinary ff&[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw[?25l"test.out" 121 lines, 664 characters written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[?1l>[34h[?25h[?1049l
rm -rf X* test.ok viminfo
rm -rf test31.failed test.ok test.out X* viminfo
cp test31.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test31.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test31.in" 69 lines, 1423 characters[1;1HTest for commands that close windows and/or buffers:
:quit
:close
:hide
:only
:sall
:all
:ball
:buf
:edit

STARTTEST
:so tiny.vim
GA 1[1m[34m^[[0m:$w! Xtest1
$r2:$w! Xtest2
$r3:$w! Xtest3
:n! Xtest1 Xtest2
A 1[1m[34m^[[0m:set hidden
:" test for working :n when hidden set; write "testtext 2"
:n
:w! test.out
:" test for failing :rew when hidden not set; write "testtext 2 2"
:set nohidden
A 2[1m[34m^[[0m:rew
:w >>test.out
:" test for working :rew when hidden set; write "testtext 1 1"
:set hidden
:rew
:w >>test.out
:" test for :all keeping a buffer when it's modified; write "testtext 1 1 1"
:set nohidden
A 1[1m[34m^[[0m:sp
:n Xtest2 Xtest3
:all
:1wincmd w[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTest for commands that close windows and/or buffers:[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[12;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[13;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 54 lines, 1288 characters written[13;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[13;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[23m[24m[0m[H[J[23m[24m[0m[H[J[1;1H:n Xtest2 Xtest3
:all
:1wincmd w
:w >>test.out
:" test abandoning changed buffer, should be unloaded even when 'hidden' set
:" write "testtext 2 2" twice
:set hidden
A 1[1m[34m^[[0m:q!
:w >>test.out
:unhide
:w >>test.out
:" test ":hide" hides anyway when 'hidden' not set; write "testtext 3"
:set nohidden
A 2[1m[34m^[[0m:hide
:w >>test.out
:" test ":edit" failing in modified buffer when 'hidden' not set
:" write "testtext 3 3"
A 3[1m[34m^[[0m:e Xtest1
:w >>test.out
:" test ":edit" working in modified buffer when 'hidden' set; write "testtext 1"
:set hidden
:e Xtest1
:w >>test.out
:" test ":close" not hiding when 'hidden' not set in modified buffer;
:" write "testtext 3 3 3"
:sp Xtest3
:set nohidden
A 3[1m[34m^[[0m:close
:w >>test.out
:" test ":close!" does hide when 'hidden' not set in modified buffer;
:" write "testtext 1"
A 3[1m[34m^[[0m:close!
:w >>test.out
:qa!
ENDTEST[34h[?25h[?25l[1;2Hall[1;5H[K[2;2H1wincmd w
:w >>test.out
:" test abandoning changed buffer, should be unloaded even when 'hidden' set
:" write "testtext 2 2" twice[5;30H[K[6;2Hset hidden[6;12H[K[7;1HA 1[1m[34m^[[0m:q![7;9H[K[8;1H:w >>test.out
:unhid[9;8H[K[10;2Hw >>test.out
:" test ":hide" hides anyway when 'hidden' not set; write "testtext 3"
:set nohidden[12;14H[K[13;1HA 2[1m[34m^[[0m:hide[13;11H[K[14;1H:w >>test.out
:" test ":edit" failing in modified buffer when 'hidden' not set
:" write "testtext 3 3"[16;25H[K[17;1HA 3[1m[34m^[[0m:e Xtest1[17;15H[K[18;1H:w >>test.ou[18;14H[K[19;2H" test ":edit" working in modified buffer when 'hidden' set; write "testtext 1"
:set hidden[20;12H[K[21;2He Xtest1[21;10H[K[22;2Hw >>test.out
:" test ":close" not hiding when 'hidden' not set in modified buffer;
:" write "testtext 3 3 3"[24;26H[K[25;2Hsp Xtest3[25;11H[K[26;3Het nohidden
A 3[1m[34m^[[0m:close[27;12H[K[28;1H:w >>test.out
:" test ":close!" does hide when 'hidden' not set in modified buffer;
:" write "testtext 1"[30;22H[K[31;1HA 3[1m[34m^[[0m:close![31;13H[K[32;1H:w >>test.out
:qa![33;5H[K[34;1HENDTEST[35;1H[K[35;1H[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso tiny.vim[?25l[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1Htesttext[36;1H[K[35;1H[34h[?25h[?25l[9C1[34h[?25h[?25l
:[34h[?25h$w! Xtest1[?25l"Xtest1" [36;10H[K[36;10H[New File] 1 line, 11 characters written[35;10H[34h[?25h[?25l2[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$w! Xtest2[?25l"Xtest2" [36;10H[K[36;10H[New File] 1 line, 11 characters written[35;10H[34h[?25h[?25l3[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$w! Xtest3[?25l"Xtest3" [36;10H[K[36;10H[New File] 1 line, 11 characters written[35;10H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hn! Xtest1 Xtest2[?25l"Xtest1" [36;10H[K[36;10H1 line, 11 characters[1;1Htesttext 1
[1m[34m~                                                                                                   [3;1H~                                                                                                   [4;1H~                                                                                                   [5;1H~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[11C1[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset hidden[?25l[1;12H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" test for working :n when hidden set; write "testtext 2"[?25l[1;12H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hn[?25l"Xtest2" 1 line, 11 characters[1;10H2[1;12H[K[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw! test.out[?25l"test.out" [36;12H[K[36;12H[New File] 1 line, 11 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" test for failing :rew when hidden not set; write "testtext 2 2"[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset nohidden[?25l[1;1H[34h[?25h[?25l[11C2[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hrew[?25l[1m[37m[41mE37: No write since last change (add ! to override)[1;12H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 13 characters appended[1;12H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" test for working :rew when hidden set; write "testtext 1 1"[?25l[1;12H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset hidden[?25l[1;12H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hrew[?25l"Xtest1" [Modified] line 1 of 1 --100%-- col 1 (file 1 of 2)[1;10H1 1[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 13 characters appended[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" test for :all keeping a buffer when it's modified; write "testtext 1 1 1"[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset nohidden[?25l[1;1H[34h[?25h[?25l[13C1[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hsp[?25l[18;1H[1m[7mXtest1 [+]                                                                                          [0m[19;1Htesttext 1 1 1[19;15H[K[35;1H[7mXtest1 [+]                                                                                          [1;14H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hn Xtest2 Xtest3[?25l"Xtest2" [Modified] line 1 of 1 --100%-- col 1 (file 1 of 2)[1;10H2 2[1;14H[K[18;6H[1m[7m2[1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hall[?25l"Xtest3" 1 line, 11 characters[23m[24m[0m[H[J[1;1Htesttext 1 1 1
[1m[34m~                                                                                                   [3;1H~                                                                                                   [4;1H~                                                                                                   [5;1H~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [0m[12;1H[7mXtest1 [+]                                                                                          [0m[13;1Htesttext 2 2
[1m[34m~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [0m[23;1H[1m[7mXtest2 [+]                                                                                          [0m[24;1Htesttext 3
[1m[34m~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [0m[35;1H[7mXtest3                                                                                              [13;1H[34h[?25h[?25l[36;1H[0m:[34h[?25h1wincmd w[?25l[12;1H[1m[7mXtest1 [+]                                                                                          [0m[23;1H[7mXtest2 [+]                                                                                          [1;14H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 15 characters appended[1;14H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" test abandoning changed buffer, should be unloaded even when 'hidden' set[?25l[1;14H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" write "testtext 2 2" twice[?25l[1;14H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset hidden[?25l[1;14H[34h[?25h[?25l1 1[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hq![?25l[23m[24m[0m[H[J[1;1Htesttext 2 2
[1m[34m~                                                                                                   [3;1H~                                                                                                   [4;1H~                                                                                                   [5;1H~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [0m[18;1H[1m[7mXtest2 [+]                                                                                          [0m[19;1Htesttext 3
[1m[34m~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [0m[35;1H[7mXtest3                                                                                              [1;1H[34h[?25h[?25l[36;1H[0m:[34h[?25hw >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 13 characters appended[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hunhide[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 13 characters appended[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" test ":hide" hides anyway when 'hidden' not set; write "testtext 3"[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset nohidden[?25l[1;1H[34h[?25h[?25l[13C2[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hhide[?25l[1;10H3[1;12H[K[18;1H[1m[34m~                                                                                                   [19;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 11 characters appended[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" test ":edit" failing in modified buffer when 'hidden' not set[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" write "testtext 3 3"[?25l[1;1H[34h[?25h[?25l[11C3[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he Xtest1[?25l[1m[37m[41mE37: No write since last change (add ! to override)[1;12H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 13 characters appended[1;12H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" test ":edit" working in modified buffer when 'hidden' set; write "testtext 1"[?25l[1;12H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset hidden[?25l[1;12H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he Xtest1[?25l"Xtest1" 1 line, 11 characters[1;10H1[1;12H[K[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 11 characters appended[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" test ":close" not hiding when 'hidden' not set in modified buffer;[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" write "testtext 3 3 3"[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hsp Xtest3[?25l"Xtest3" [Modified] line 1 of 1 --100%-- col 1 (file 2 of 2)[1;10H3 3[18;1H[1m[7mXtest3 [+]                                                                                          [0m[19;1Htesttext 1[19;11H[K[35;1H[7mXtest1                                                                                              [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hset nohidden[?25l[1;1H[34h[?25h[?25l[13C3[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hclose[?25l[1m[37m[41mE37: No write since last change (add ! to override)[1;14H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 15 characters appended[1;14H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" test ":close!" does hide when 'hidden' not set in modified buffer;[?25l[1;14H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" write "testtext 1"[?25l[1;14H[34h[?25h[?25l3 3[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hclose![?25l[1;10H1[1;12H[K[18;1H[1m[34m~                                                                                                   [19;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 11 characters appended[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test32.failed test.ok test.out X* viminfo
cp test32.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test32.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test32.in" 57 lines, 1242 characters[1;1HTest for insert expansion

:se cpt=.,w
* add-expands (word from next line) from other window
* add-expands (current buffer first)
* Local expansion, ends in an empty line (unless it becomes a global expansion)
* starts Local and switches to global add-expansion
:se cpt=.,w,i
* i-add-expands and switches to local
* add-expands lines (it would end in an empty line if it didn't ignored it self)
:se cpt=kXtestfile
* checks k-expansion, and file expansion (use Xtest11 instead of test11,
* because TEST11.OUT may match first on DOS)
:se cpt=w
* checks make_cyclic in other window
:se cpt=u nohid
* checks unloaded buffer expansion
* checks adding mode abortion
:se cpt=t,d
* tag expansion, define add-expansion interrupted
* t-expansion

STARTTEST
:so small.vim
:se nocp viminfo+=nviminfo cpt=.,w ff=unix | $-2,$w!Xtestfile | set ff&
:se cot=
[1m[34m^W[0mnO#include "Xtestfile"
ru[1m[34m^N^N^X^N^[^A[0m
O[1m[34m^P^X^N
^X^P^P^P^P^P
^X^P^P^X^X^N^X^N^N^[[0m
:se cpt=.,w,i
kOM[1m[34m^N^X^N^X^N^X^X^X^P
^X^L^X^L^P^P^[[0m
:se cpt=kXtestfile[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTest for insert expansion[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[23;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[24;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 24 lines, 384 characters written[24;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[24;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[1;35r[1;1H[13M[1;36r[23;1H:w Xtest11.one
:w Xtest11.two
O[1m[34m^N^[[0mIX[1m[34m^[[0mA[1m[34m^X^F^N^[[0m
:se cpt=w
OST[1m[34m^N^P^P^P^P^[[0m
:se cpt=u nohid
[1m[34m^W[0moOEN[1m[34m^N[0m
unl[1m[34m^N^X^X^P^[[0m
:se cpt=t,d def=^\\k* tags=Xtestfile notagbsearch
O[1m[34m^X^]^X^D^X^D^X^X^D^X^D^X^D^X^D[0m
a[1m[34m^N^[[0m
:wq! test.out
ENDTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hse nocp viminfo+=nviminfo cpt=.,w ff=unix | $-2,$w!Xtestfile | set ff&[?25l"Xtestfile" [36;13H[K[36;13H[New] 3L, 57C written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hse cot=[?25l[35;1H[34h[?25h[?25l[1;1H[K[2;1H[1m[34m~                                                                                                   [3;1H~                                                                                                   [4;1H~                                                                                                   [5;1H~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [0m[18;1H[1m[7m[No Name]                                                                                           [0m[19;1H[1m[34m^X^L^X^L^P^P^[[0m[19;15H[K[20;1H:se cpt=kXtestfile
:w Xtest11.one[21;15H[K[22;12Htwo
O[1m[34m^N^[[0mIX[1m[34m^[[0mA[1m[34m^X^F^N^[[0m
:se cpt=w[24;10H[K[25;1HOST[1m[34m^N^P^P^P^P^[[0m
:se cpt=u nohid
[1m[34m^W[0moOEN[1m[34m^N[0m[27;9H[K[28;1Hunl[1m[34m^N^X^X^P^[[0m
:se cpt=t,d def=^\\k* tags=Xtestfile notagbsearch
O[1m[34m^X^]^X^D^X^D^X^X^D^X^D^X^D^X^D[0m[30;32H[K[31;1Ha[1C[1m[34mN^[[0m[31;6H[K[32;1H:wq! test.out
ENDTEST[33;8H[K[34;1H[K[35;1H[7mtest32.in                                                                                           [1;1H[34h[?25h[?25l[0m[36;1H[1m-- INSERT ---- Keyword completion (^N^P) -- Searching...[0m[1m[31msearch hit BOTTOM, continuing at TOP[0m[36;37H[K[36;1H[1m[32mScanning: test32.in[0m[36;20H[K[36;1Hmatch in file test32.in[1m-- Keyword completion (^N^P) [0m[1m[32mmatch 1 of 4[2;3H[0m[36;29H[K[36;1Hmatch in file test32.in[36;24H[K[36;1H[1m-- Keyword completion (^N^P) [0m[1m[32mmatch 2 of 4[2;5H[0m[36;29H[K[36;1H[K[36;1H[1m-- INSERT ---- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)-- INSERT --[0m[36;13H[K[36;4H[1mAdding Keyword completion (^N^P) -- Searching...[0m[1m[31msearch hit BOTTOM, continuing at TOP[0m[36;37H[K[36;1H[1m[32mScanning: test32.in[0m[36;20H[K[36;1Hmatch in file test32.in[1m-- Adding Keyword completion (^N^P) Word from other line[2;10H[1;17r[0m[1;1H[2L[1;36r[1;1H#include "Xtestfile"
run1 run2[18;11H[1m[7m[+][2;10H[34h[?25h[0m[36;1H[K[?25l[36;1H[1m-- Adding Keyword completion (^N^P) Word from other line[0m[36;1H[K[36;1H[1m-- INSERT --[0m[36;1H[K[2;9H[34h[?25h[?25l3[34h[?25h
[?25l[36;1H[1m-- INSERT ---- Keyword completion (^N^P) -- Searching...[0m[1m[31msearch hit TOP, continuing at BOTTOM[0m[36;37H[K[36;1H[1m[32mScanning: test32.in[0m[36;20H[K[36;1H[1m-- Keyword completion (^N^P) [0m[1m[32mmatch 1 of 103[3;5H[0m[36;29H[K[36;1H[K[36;1H[1m-- INSERT ---- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)-- INSERT --[0m[36;13H[K[36;4H[1mAdding Keyword completion (^N^P) -- Searching...[0m[1m[31msearch hit BOTTOM, continuing at TOP[0m[36;37H[K[36;1H[1m[32mScanning: test32.in[0m[36;20H[K[36;1H[1m-- Adding Keyword completion (^N^P) Word from other line[3;10H[0m[36;1H[K[36;1H[1m-- INSERT ---- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)-- INSERT --[0m[36;13H[K[36;4H[1mKeyword Local completion (^N^P) -- Searching...[0m[1m[31msearch hit TOP, continuing at BOTTOM[0m[36;37H[K[36;1H[1m-- Keyword Local completion (^N^P) [0m[1m[32mmatch 1 of 4[4;5H[0m[36;35H[K[36;35H[1m [0m[1m[32mmatch 2 of 4[4;5H[0m[36;35H[K[36;35H[1m [0m[1m[32mmatch 3 of 4[4;10H[0m[36;35H[K[36;35H[1m [0m[1m[32mmatch 4 of 4[4;8H[0m[36;35H[K[36;35H[1m [0m[1m[31mBack at original[4;1H[0m[36;1H[K[36;1H[1m-- INSERT ---- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)-- INSERT --[0m[36;13H[K[36;4H[1mKeyword Local completion (^N^P) -- Searching...[0m[1m[31msearch hit TOP, continuing at BOTTOM[0m[36;37H[K[36;1H[1m-- Keyword Local completion (^N^P) [0m[1m[32mmatch 1 of 4[5;5H[0m[36;35H[K[36;35H[1m [0m[1m[32mmatch 2 of 4[5;5H[0m[36;35H[K[36;1H[K[36;1H[1m-- INSERT ---- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)-- INSERT --[0m[36;13H[K[36;4H[1m^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)-- INSERT --[0m[36;13H[K[36;4H[1mKeyword completion (^N^P) -- Searching...[0m[1m[31msearch hit BOTTOM, continuing at TOP[0m[36;37H[K[36;1H[1m[32mScanning: test32.in[0m[36;20H[K[36;1H[1m-- Keyword completion (^N^P) The only match[5;5H[0m[36;29H[K[36;1H[K[36;1H[1m-- INSERT ---- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)-- INSERT --[0m[36;13H[K[36;4H[1mAdding Keyword completion (^N^P) -- Searching...[0m[1m[31msearch hit BOTTOM, continuing at TOP[0m[36;37H[K[36;1H[1m[32mScanning: test32.in[0m[36;20H[K[36;1H[1m-- Adding Keyword completion (^N^P) [0m[1m[32mmatch 1 of 2[5;10H[0m[36;36H[K[36;1Hmatch in file test32.in[36;24H[K[36;1H[1m-- Adding Keyword completion (^N^P) Word from other line[5;10H[3;17r[0m[3;1H[3L[1;36r[3;1Hrun3 run3

run1 run2[34h[?25h[36;1H[K[?25l[36;1H[1m-- Adding Keyword completion (^N^P) Word from other line[0m[36;1H[K[36;1H[1m-- INSERT --[0m[36;1H[K[5;9H[34h[?25h
[?25l[36;1H:[34h[?25hse cpt=.,w,i[?25l[6;1H[34h[?25h[5;1H[?25l[36;1H[1m-- INSERT --[0m[36;13H[K[36;4H[1mKeyword completion (^N^P) -- Searching...[0m[1m[31msearch hit BOTTOM, continuing at TOP[0m[36;37H[K[36;1H[1m[32mScanning: test32.in[0m[36;20H[K[36;9H[1m[32m included file: Xtestfile[0mmatch in file test32.in[36;24H[K[36;1H[1m-- Keyword completion (^N^P) The only match[5;9H[0m[36;29H[K[36;1H[K[36;1H[1m-- INSERT ---- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)-- INSERT --[0m[36;13H[K[36;4H[1mAdding Keyword completion (^N^P) -- Searching...[0m[1m[31msearch hit BOTTOM, continuing at TOP[0m[36;37H[K[36;1H[1m[32mScanning: test32.in[0m[36;20H[K[36;9H[1m[32m included file: Xtestfile[0mmatch in file test32.in[36;24H[K[36;1H[1m-- Adding Keyword completion (^N^P) The only match[5;19H[0m[36;36H[K[36;1H[K[36;1H[1m-- INSERT ---- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)-- INSERT --[0m[36;13H[K[36;4H[1mAdding Keyword completion (^N^P) -- Searching...[0m[1m[31msearch hit BOTTOM, continuing at TOP[0m[36;37H[K[36;1H[1m[32mScanning: test32.in[0m[36;20H[K[36;9H[1m[32m included file: Xtestfile[0mmatch in file test32.in[36;24H[K[36;1H[1m-- Adding Keyword completion (^N^P) The only match[5;28H[0m[36;36H[K[36;1H[K[36;1H[1m-- INSERT ---- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)-- INSERT --[0m[36;13H[K[36;4H[1m^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)-- INSERT --[0m[36;13H[K[36;4H[1m^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)-- INSERT --[0m[36;13H[K[36;4H[1mKeyword Local completion (^N^P) -- Searching...[0m[1m[31msearch hit TOP, continuing at BOTTOM[0m[36;37H[K[36;1H[1m-- Keyword Local completion (^N^P) [0m[1m[32mmatch 1 of 3[5;29H[0m[36;1H[K[36;1H[1m-- INSERT ---- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)-- Whole line completion (^L^N^P) -- Searching...[0m[1m[31msearch hit TOP, continuing at BOTTOM[0m[36;37H[K[36;1H[1m[32mScanning: test32.in[0m[36;20H[K[36;1H[1m-- Whole line completion (^L^N^P) [0m[1m[32mmatch 1 of 54[6;29H[0m[36;4H[1mINSERT --[0m[36;13H[K[36;1H[K[36;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) [0m[1m[32mmatch 1 of 54[0m[36;4H[1mAdding Whole line completion (^L^N^P) -- Searching...[0m[1m[31msearch hit TOP, continuing at BOTTOM[0m[36;37H[K[36;1H[1m[32mScanning: test32.in[0m[36;20H[K[36;1H[1m-- Adding Whole line completion (^L^N^P) The only match[7;29H[0m[36;41H[K[36;41H[1m [0m[1m[31mBack at original[7;1H[0m[36;41H[K[36;41H[1m The only match[7;29H[5;17r[0m[5;1H[3L[1;36r[5;1HMakefile[8Cto      run3
Makefile[8Cto      run3
Makefile[8Cto      run3[34h[?25h[36;1H[K[?25l[36;1H[1m-- INSERT --[0m[36;1H[K[7;28H[34h[?25h[8;9H[?25l[36;1H:[34h[?25hse cpt=kXtestfile[?25l[8;9H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw Xtest11.one[?25l"Xtest11.one" [New] 9L, 104C written[18;1H[1m[7mXtest11.one  [8;9H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hw Xtest11.two[?25l"Xtest11.two" [New] 9L, 104C written[8;9H[34h[?25h[?25l[36;1H[1m-- INSERT --[0m[36;13H[K[36;4H[1mKeyword completion (^N^P) -- Searching...[0m[1m[32mScanning dictionary: Xtestfile[0m[36;31H[K[36;1Hmatch in file Xtestfile[36;24H[K[36;1H[1m-- Keyword completion (^N^P) [0m[1m[32mmatch 1 of 9[8;7H[8;17r[0m[8;1H[L[1;36r[8;1Htest11[18;13H[1m[7m[+][8;7H[0mI[34h[?25h [36;1H[K[?25l[36;1H[1m-- Keyword completion (^N^P) [0m[1m[32mmatch 1 of 9[0m[36;1H[K[36;1H[1m-- INSERT --[0m[36;1H[K[8;6H[34h[?25h[?25l[36;1H[1m-- INSERT --[0m[36;1H[K[8;1HXtest11[34h[?25h[?25l[36;1H[1m-- INSERT ---- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)-- File name completion (^F^N^P) -- Searching...[0m[36;34H[1m[32mmatch 1 of 2[0m[36;46H[K[8;12H[36;33H[K[36;33H[1m [0m[1m[32mmatch 2 of 2[8;12H[0m.two[34h[?25h[36;1H[K[?25l[36;1H[1m-- INSERT --[0m[36;1H[K[8;11H[34h[?25h[9;9H[?25l[36;1H:[34h[?25hse cpt=w[?25l[9;9H[34h[?25h[?25l[36;1H[1m-- INSERT ---- Keyword completion (^N^P) -- Searching...[0m[1m[32mScanning: test32.in[0m[36;20H[K[36;1Hmatch in file test32.in[1m-- Keyword completion (^N^P) The only match[9;10H[0m[36;29H[K[36;29H[1m [0m[1m[31mBack at original[9;3H[0m[36;29H[K[36;1Hmatch in file test32.in[36;24H[K[36;1H[1m-- Keyword completion (^N^P) The only match[9;10H[0m[36;29H[K[36;29H[1m [0m[1m[31mBack at original[9;3H[0m[36;29H[K[36;1Hmatch in file test32.in[36;24H[K[36;1H[1m-- Keyword completion (^N^P) The only match[9;10H[9;17r[0m[9;1H[L[1;36r[9;1HSTARTTEST[34h[?25h[36;1H[K[?25l[36;1H[1m-- Keyword completion (^N^P) The only match[0m[36;1H[K[36;1H[1m-- INSERT --[0m[36;1H[K[9;9H[34h[?25h[10;9H[?25l[36;1H:[34h[?25hse cpt=u nohid[?25l[10;9H[34h[?25h[?25l[18;1H[1m[34m~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [10;9H[34h[?25h[?25l[0m[36;1H[1m-- INSERT --[0m[36;13H[K[36;4H[1mKeyword completion (^N^P) -- Searching...[0m[1m[32mScanning: test32.in[0m[36;20H[K[36;1Hmatch in file test32.in[1m-- Keyword completion (^N^P) The only match[10;8H[0m[36;1H[K[36;1H[1m-- INSERT ---- Keyword completion (^N^P) -- Searching...[0m[1m[32mScanning: test32.in[0m[36;20H[K[36;1Hmatch in file test32.in[1m-- Keyword completion (^N^P) [0m[1m[32mmatch 1 of 3[11;7H[0m[36;29H[K[36;1H[K[36;1H[1m-- INSERT ---- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)-- INSERT --[0m[36;13H[K[36;4H[1m^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)-- INSERT --[0m[36;13H[K[36;4H[1mKeyword completion (^N^P) -- Searching...[0m[1m[32mScanning: test32.in[0m[36;20H[K[36;1Hmatch in file test32.in[1m-- Keyword completion (^N^P) The only match[11;7H[10;35r[0m[10;1H[2L[1;36r[10;1HENDTEST
unless[34h[?25h[36;1H[K[?25l[36;1H[1m-- Keyword completion (^N^P) The only match[0m[36;1H[K[36;1H[1m-- INSERT --[0m[36;1H[K[11;6H[34h[?25h[12;6H[?25l[36;1H:[34h[?25hse cpt=t,d def=^\\k* tags=Xtestfile notagbsearch[?25l[12;6H[34h[?25h[?25l[36;1H[1m-- INSERT --[0m[36;13H[K[36;4H[1m^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)-- Tag completion (^]^N^P) -- Searching...[0m[36;28H[1m[32mmatch 1 of 3[0m[36;40H[K[12;7H[36;4H[1mINSERT --[0m[36;13H[K[36;1H[K[36;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) [0m[1m[32mmatch 1 of 3[0m[36;4H[1mDefinition completion (^D^N^P) -- Searching...[0m[36;50H[K[36;1H[1m[32mScanning included file: Xtestfile[0m[36;34H[K[36;1Hmatch in file Xtestfile[36;24H[K[36;1H[1m-- Definition completion (^D^N^P) The only match[12;11H[36;4HINSERT --[0m[36;13H[K[36;1H[K[36;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match-- Adding Definition completion (^D^N^P) -- Searching...[0m[1m[32mScanning included file: Xtestfile[0m[36;34H[K[36;1Hmatch in file Xtestfile[36;24H[K[36;1H[1m-- Adding Definition completion (^D^N^P) The only match[12;20H[36;4HINSERT --[0m[36;13H[K[36;1H[K[36;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match-- INSERT --[0m[36;13H[K[36;4H[1m^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)-- Definition completion (^D^N^P) -- Searching...[0m[1m[32mScanning included file: Xtestfile[0m[36;34H[K[36;1Hmatch in file Xtestfile[36;24H[K[36;1H[1m-- Definition completion (^D^N^P) The only match[12;25H[36;4HINSERT --[0m[36;13H[K[36;1H[K[36;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match-- Adding Definition completion (^D^N^P) -- Searching...[0m[1m[32mScanning included file: Xtestfile[0m[36;34H[K[36;1Hmatch in file Xtestfile[36;24H[K[36;1H[1m-- Adding Definition completion (^D^N^P) The only match[12;37H[36;4HINSERT --[0m[36;13H[K[36;1H[K[36;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match-- Adding Definition completion (^D^N^P) -- Searching...[0m[1m[32mScanning included file: Xtestfile[0m[36;34H[K[36;1Hmatch in file Xtestfile[36;24H[K[36;1H[1m-- Adding Definition completion (^D^N^P) The only match[12;38H[36;4HINSERT --[0m[36;13H[K[36;1H[K[36;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match-- Adding Definition completion (^D^N^P) -- Searching...[0m[1m[32mScanning included file: Xtestfile[0m[36;34H[K[36;1Hmatch in file Xtestfile[36;24H[K[36;1H[1m-- Adding Definition completion (^D^N^P) Word from other line[12;42H[36;4HINSERT --[0m[36;13H[K[36;1H[K[36;1H[1m-- Keyword completion (^N^P) -- Searching...[0m[1m[32mScanning tags.[0m[36;15H[K[36;10H[1m[32mincluded file: Xtestfile[0m[1m-- Keyword completion (^N^P) The only match[13;4H[12;35r[0m[12;1H[2L[1;36r[12;1Htest11file      36Gepeto[8C/Tag/ asd
asd[34h[?25h[36;1H[K[?25l[36;1H[1m-- Keyword completion (^N^P) The only match[0m[36;1H[K[36;1H[1m-- INSERT --[0m[36;1H[K[13;3H[34h[?25h
ru[?25l[36;1H:[34h[?25hwq! test.out[?25l"test.out" [36;12H[K[36;12H[New] 15L, 175C written
[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test33.failed test.ok test.out X* viminfo
cp test33.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test33.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test33.in" 34 lines, 616 characters[1;1HTest for 'lisp'
If the lisp feature is not enabled, this will fail!

STARTTEST
:so small.vim
:set lisp
/^(defun
=G:/^(defun/,$w! test.out
:q!
ENDTEST

(defun html-file (base)
(format nil "~(~A~).html" base))

(defmacro page (name title &rest body)
(let ((ti (gensym)))
`(with-open-file (*standard-output*
(html-file ,name)
:direction :output
:if-exists :supersede)
(let ((,ti ,title))
(as title ,ti)
(with center
(as h2 (string-upcase ,ti)))
(brs 3)
,@body))))

;;; Utilities for generating links

(defmacro with-link (dest &rest body)
`(progn
(format t "<a href=\"~A\">" (html-file ,dest))
,@body
(princ "</a>")))
[1m[34m~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTest for 'lisp'[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[4;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[5;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 5 lines, 63 characters written[5;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[5;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[10;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[11;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[11;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset lisp[?25l[11;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h^(defun[?25l[12;1H[34h[?25h[?25l[36;1H22 lines to indent...23[7Cindented [36;19H[K[13;1H  (format nil "~(~A~).html" base))


  (let ((ti (gensym)))
       `(with-open-file (*standard-output*
                 [8C(html-file ,name)
                  [7C:direction :output
                         :if-exists :supersede)
                        (let ((,ti ,title))
              [15C(as title ,ti)
            [17C(with center
                            [7C(as h2 (string-upcase ,ti)))
       [22C(brs 3)
          [19C,@body))))[31;1H  `(progn
    (format t "<a href=\"~A\">" (html-file ,dest))
    ,@body
    (princ "</a>")))[12;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^(defun/,$w! test.out[?25l[1m[31msearch hit BOTTOM, continuing at TOP[0m"test.out" [36;12H[K[36;12H[New File] 23 lines, 544 characters written[12;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hq![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test34.failed test.ok test.out X* viminfo
cp test34.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test34.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test34.in" 58 lines, 1014 characters[1;1HTest for user functions.
Also test an <expr> mapping calling a function.

STARTTEST
:so small.vim
:function Table(title, ...)
:  let ret = a:title
:  let idx = 1
:  while idx <= a:0
:    exe "let ret = ret . a:" . idx
:    let idx = idx + 1
:  endwhile
:  return ret
:endfunction
:function Compute(n1, n2, divname)
:  if a:n2 == 0
:    return "fail"
:  endif
:  exe "let g:" . a:divname . " = ". a:n1 / a:n2
:  return "ok"
:endfunction
:func Expr1()
:  normal! v
:  return "111"
:endfunc
:func Expr2()
:  call search('XX', 'b')
:  return "222"
:endfunc
:func ListItem()
:  let g:counter += 1
:  return g:counter . '. '
:endfunc
:func ListReset()
:  let g:counter = 0[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTest for user functions.[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[4;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[5;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 51 lines, 916 characters written[5;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[5;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[1;35r[1;1H[21M[1;36r[15;1H:  return ''
:endfunc
:let counter = 0
:inoremap <expr> ( ListItem()
:inoremap <expr> [ ListReset()
:imap <expr> + Expr1()
:imap <expr> * Expr2()
:let retval = "nop"
/^here
C[1m[34m^R[0m=Table("xxx", 4, "asdf")
 [1m[34m^R[0m=Compute(45, 0, "retval")
 [1m[34m^R[0m=retval
 [1m[34m^R[0m=Compute(45, 5, "retval")
 [1m[34m^R[0m=retval

XX+-XX
---*---
(one
(two
[(one again[1m[34m^[[0m:$-5,$wq! test.out
ENDTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hfunction Table(title, ...)[?25l
:  [34h[?25h:  let ret = a:title
[?25l:  [34h[?25h:  let idx = 1
[?25l:  [34h[?25h:  while idx <= a:0
[?25l:    [34h[?25h:    exe "let ret = ret . a:" . idx
[?25l:    [34h[?25h:    let idx = idx + 1
[?25l:    [34h[?25h:  endwhile
[?25l:  [34h[?25h:  return ret
[?25l:  [34h[?25h:endfunction[1;1H[8L[?25l[1;1H:  normal! v
:  return "111"
:endfunc
:func Expr2()
:  call search('XX', 'b')
:  return "222"
:endfunc
:func ListItem()[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25hfunction Compute(n1, n2, divname)[?25l
:  [34h[?25h:  if a:n2 == 0
[?25l:    [34h[?25h:    return "fail"
[?25l:    [34h[?25h:  endif
[?25l:  [34h[?25h:  exe "let g:" . a:divname . " = ". a:n1 / a:n2
[?25l:  [34h[?25h:  return "ok"
[?25l:  [34h[?25h:endfunction[1;1H[6L[?25l[1;1H:  normal! v
:  return "111"
:endfunc
:func Expr2()
:  call search('XX', 'b')
:  return "222"[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25hfunc Expr1()[?25l
:  [34h[?25h:  normal! v
[?25l:  [34h[?25h:  return "111"
[?25l:  [34h[?25h:endfunc[1;1H[3L[?25l[1;1H:  normal! v
:  return "111"
:endfunc[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25hfunc Expr2()[?25l
:  [34h[?25h:  call search('XX', 'b')
[?25l:  [34h[?25h:  return "222"
[?25l:  [34h[?25h:endfunc[1;1H[3L[?25l[1;1H:  normal! v
:  return "111"
:endfunc[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25hfunc ListItem()[?25l
:  [34h[?25h:  let g:counter += 1
[?25l:  [34h[?25h:  return g:counter . '. '
[?25l:  [34h[?25h:endfunc[1;1H[3L[?25l[1;1H:  normal! v
:  return "111"
:endfunc[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25hfunc ListReset()[?25l
:  [34h[?25h:  let g:counter = 0
[?25l:  [34h[?25h:  return ''
[?25l:  [34h[?25h:endfunc[1;1H[3L[?25l[1;1H:  normal! v
:  return "111"
:endfunc[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25hlet counter = 0[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hinoremap <expr> ( ListItem()[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hinoremap <expr> [ ListReset()[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25himap <expr> + Expr1()[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25himap <expr> * Expr2()[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hlet retval = "nop"[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h^here[?25l[1;35r[35;1H
[1;36r[35;1Hhere[36;1H[K[35;1H[34h[?25h[?25lher$
=[34h[?25hTable("xxx", 4, "asdf")[?25l[36;1H[K[36;1H=[34h[?25hCompute(45, 0, "retval")[?25l[36;1H[K[36;1H=[34h[?25hretval[?25l[36;1H[K[36;1H=[34h[?25hCompute(45, 5, "retval")[?25l[36;1H[K[36;1H=[34h[?25hretval
[?25l[1m[37m[41mError detected while processing function Expr1:[0m
[1m[33mline    1:[0m
[1m[37m[41mE523: Not allowed here[0m
[1m[32mPress ENTER or type command to continue[34h[?25h[0m[1;1H[4L[?25l[1;1H:endfunc
:func ListItem()
:  let g:counter += 1
:  return g:counter . '. '
:endfunc[5;9H[K[6;2Hfunc ListReset()
:  let g:counter = 0
:  return ''[8;13H[K[9;2Hendfunc[9;9H[K[10;2Hlet counter = 0
:inoremap <expr> ( ListItem()
:inoremap <expr> [ ListReset()
:imap <expr> + Expr1()
:imap <expr> * Expr2()[15;6Hretval = "nop"
/^he[16;7H[K[17;1HC[1m[34m^R[0m=Table("xxx", 4, "asdf")[17;28H[K[18;1H [1m[34m^R[0m=Compute(45, 0, "retval")
 [1m[34m^R[0m=retval[19;11H[K[20;1H [1m[34m^R[0m=Compute(45, 5, "retval")
 [1m[34m^R[0m=retval[22;1H[K[23;1HXX+-XX[23;7H[K[24;1H---*---[24;8H[K[25;1H(one[25;5H[K[26;1H(two[26;5H[K[27;1H[(one again[1m[34m^[[0m:$-5,$wq! test.out
ENDTEST[29;1H[K[30;1Hxxx4asdf fail nop ok 9
XX111XX
---222---[32;10H[K[33;1H1. one[33;7H[K[34;1H2. two[35;1H[K[36;1H[K[35;1H[34h[?25h[?25l1. one again[34h[?25h[?25l
:[34h[?25h$-5,$wq! test.out[?25l"test.out" [36;12H[K[36;12H[New File] 6 lines, 68 characters written
[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test35.failed test.ok test.out X* viminfo
cp test35.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test35.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test35.in" 21 lines, 448 characters[1;1HTest Ctrl-A and Ctrl-X, which increment and decrement decimal, hexadecimal,
and octal numbers.

STARTTEST
/^start-here
:set nrformats=octal,hex
j[1m[34m^A[0m102[1m[34m^X^A[0ml[1m[34m^X[0ml[1m[34m^A[0m64[1m[34m^A[0m128[1m[34m^X[0m$[1m[34m^X[0m
:set nrformats=octal
0[1m[34m^A[0m102[1m[34m^X^A[0ml[1m[34m^X[0m2[1m[34m^A[0mw65[1m[34m^A[0m129[1m[34m^X[0mblx6lD
:set nrformats=hex
0101[1m[34m^X[0ml257[1m[34m^X^A[0mTxldt [1m[34m^A[0m [1m[34m^X[0m [1m[34m^X[0m
:set nrformats=
0200[1m[34m^X[0ml100[1m[34m^X[0mw78[1m[34m^X^A[0mk
:$-3,$wq! test.out
ENDTEST

start-here
100     0x100     077     0
100     0x100     077
100     0x100     077     0xfF     0xFf
100     0x100     077
[1m[34m~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTest Ctrl-A and Ctrl-X, which increment and decrement decimal, hexadecimal,[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[4;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[5;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 10 lines, 200 characters written[5;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[5;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[15;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[16;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h^start-here[?25l[17;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset nrformats=octal,hex[?25l[17;1H[34h[?25h
[?25l101[34h[?25h[?25l-1     0x100     077     0[18;27H[K[18;2H[34h[?25h[?25l0     0x100     077     0[18;26H[K[18;1H[34h[?25h0[?25l[7C0ff[34h[?25hf[?25l     0100     0[18;20H[34h[?25h[?25l20[34h[?25h[?25l00[34h[?25h0     [?25l-1[34h[?25h[19;26H[?25l[36;1H[K[36;1H:[34h[?25hset nrformats=octal[?25l[19;26H[34h[?25h[?25l101[34h[?25h[?25l-1     0x100     077 -[34h[?25h[?25l0     0x100     077 [34h[?25h0[?25l     -1x100     077[19;8H[34h[?25h[?25l1x100     077 [19;7H[34h[?25h[10C[?25l0200[34h[?25h[?25l37777777777[34h[?25h[19;17H0[?25l7[9C [19;18H[34h[?25h777777[?25l[19;24H[K[19;23H[34h[?25h[20;23H[?25l[36;1H[K[36;1H:[34h[?25hset nrformats=hex[?25l[20;23H[34h[?25h[?25l-1     0x100     077     0xfF     0xFf[20;39H[K[20;2H[34h[?25h1[?25l[7Cffffffff     077     0xfF     0xFf[20;17H[34h[?25h[?25l[20;10H00000000[34h[?25h[20;10H0[?25l     077     0xfF     0xFf[20;40H[K[20;11H[34h[?25h[?25l[7C8[34h[?25h8[?25l[7CFE[34h[?25hE[?25l[7Cfe[34h[?25h[21;26H[?25l[36;1H[K[36;1H:[34h[?25hset nrformats=[?25l[21;26H[34h[?25h[?25l-100     0x100     077-10[34h[?25h0[?25l     -100x100     077[21;13H[34h[?25h[10C[?25l-001[34h[?25h[?25l000 [34h[?25h[20;25H[21;25H[?25l[36;1H[K[36;1H:[34h[?25h$-3,$wq! test.out[?25l"test.out" [36;12H[K[36;12H[New File] 4 lines, 120 characters written
[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test36.failed test.ok test.out X* viminfo
cp test36.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test36.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test36.in" 40 lines, 1596 characters[1;1HTest character classes in regexp

STARTTEST
/^start-here
j:s/\d//g
j:s/\D//g
j:s/\o//g
j:s/\O//g
j:s/\x//g
j:s/\X//g
j:s/\w//g
j:s/\W//g
j:s/\h//g
j:s/\H//g
j:s/\a//g
j:s/\A//g
j:s/\l//g
j:s/\L//g
j:s/\u//g
j:s/\U//g
:/^start-here/+1,$wq! test.out
ENDTEST

start-here[25;9H[1m[34m^L^M[0m !"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~[1m[34m^?~@~B~P~[[0m¦±¼ÇÓé[26;9H[1m[34m^L^M[0m !"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~[1m[34m^?~@~B~P~[[0m¦±¼ÇÓé[27;9H[1m[34m^L^M[0m !"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~[1m[34m^?~@~B~P~[[0m¦±¼ÇÓé[28;9H[1m[34m^L^M[0m !"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~[1m[34m^?~@~B~P~[[0m¦±¼ÇÓé[29;9H[1m[34m^L^M[0m !"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~[1m[34m^?~@~B~P~[[0m¦±¼ÇÓé[30;9H[1m[34m^L^M[0m !"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~[1m[34m^?~@~B~P~[[0m¦±¼ÇÓé[31;9H[1m[34m^L^M[0m !"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~[1m[34m^?~@~B~P~[[0m¦±¼ÇÓé[32;9H[1m[34m^L^M[0m !"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~[1m[34m^?~@~B~P~[[0m¦±¼ÇÓé[33;9H[1m[34m^L^M[0m !"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~[1m[34m^?~@~B~P~[[0m¦±¼ÇÓé[34;9H[1m[34m^L^M[0m !"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~[1m[34m^?~@~B~P~[[0m¦±¼ÇÓé[35;9H[1m[34m^L^M[0m !"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~[1m[34m^?~@~B~P~[[0m¦±¼ÇÓé[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTest character classes in regexp[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[3;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[4;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 18 lines, 204 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[4;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[22;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[23;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h^start-here[?25l[24;1H[34h[?25h[25;8H[?25l[36;1H[K[36;1H:[34h[?25hs/\d//g[?25l10 substitutions on 1 line[25;29H:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~[1m[34m^?~@~B~P~[[0m¦±¼ÇÓé[25;87H[K[25;9H[34h[?25h[26;9H[?25l[36;1H[K[36;1H:[34h[?25hs/\D//g[?25l72 substitutions on 1 line[26;1H0123456789[26;11H[K[26;1H[34h[?25h[27;8H[?25l[36;1H[K[36;1H:[34h[?25hs/\o//g[?25l8 substitutions on 1 line[27;29H89:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~[1m[34m^?~@~B~P~[[0m¦±¼ÇÓé[27;89H[K[27;9H[34h[?25h[28;9H[?25l[36;1H[K[36;1H:[34h[?25hs/\O//g[?25l74 substitutions on 1 line[28;1H01234567[28;9H[K[28;1H[34h[?25h[29;8H[?25l[36;1H[K[36;1H:[34h[?25hs/\x//g[?25l22 substitutions on 1 line[29;29H:;<=>?@GHIXYZ[\]^_`ghiwxyz{|}~[1m[34m^?~@~B~P~[[0m¦±¼ÇÓé[29;75H[K[29;9H[34h[?25h[30;9H[?25l[36;1H[K[36;1H:[34h[?25hs/\X//g[?25l60 substitutions on 1 line[30;1H0123456789ABCDEFabcdef[30;23H[K[30;1H[34h[?25h[31;8H[?25l[36;1H[K[36;1H:[34h[?25hs/\w//g[?25l36 substitutions on 1 line[31;29H:;<=>?@[\]^`{|}~[1m[34m^?~@~B~P~[[0m¦±¼ÇÓé[31;61H[K[31;9H[34h[?25h[32;9H[?25l[36;1H[K[36;1H:[34h[?25hs/\W//g[?25l46 substitutions on 1 line[32;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[32;37H[K[32;1H[34h[?25h[33;8H[?25l[36;1H[K[36;1H:[34h[?25hs/\h//g[?25l26 substitutions on 1 line[33;46H[\]^`{|}~[1m[34m^?~@~B~P~[[0m¦±¼ÇÓé[33;71H[K[33;9H[34h[?25h[34;9H[?25l[36;1H[K[36;1H:[34h[?25hs/\H//g[?25l56 substitutions on 1 line[34;1HABCDEFGHIXYZ_abcdefghiwxyz[34;27H[K[34;1H[34h[?25h[35;8H[?25l[36;1H[K[36;1H:[34h[?25hs/\a//g[?25l25 substitutions on 1 line[35;46H[\]^_`{|}~[1m[34m^?~@~B~P~[[0m¦±¼ÇÓé[35;72H[K[35;9H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;9H[1m[34m^L^M[0m !"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~[1m[34m^?~@~B~P~[[0m¦±¼ÇÓé[36;1H[K[35;9H[34h[?25h[?25l
:[34h[?25hs/\A//g[?25l57 substitutions on 1 line[35;1HABCDEFGHIXYZabcdefghiwxyz[35;26H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;9H[1m[34m^L^M[0m !"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~[1m[34m^?~@~B~P~[[0m¦±¼ÇÓé[36;1H[K[35;8H[34h[?25h[?25l
:[34h[?25hs/\l//g[?25l13 substitutions on 1 line[35;64H{|}~[1m[34m^?~@~B~P~[[0m¦±¼ÇÓé[35;84H[K[35;9H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;9H[1m[34m^L^M[0m !"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~[1m[34m^?~@~B~P~[[0m¦±¼ÇÓé[36;1H[K[35;9H[34h[?25h[?25l
:[34h[?25hs/\L//g[?25l69 substitutions on 1 line[35;1Habcdefghiwxyz[35;14H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;9H[1m[34m^L^M[0m !"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~[1m[34m^?~@~B~P~[[0m¦±¼ÇÓé[36;1H[K[35;8H[34h[?25h[?25l
:[34h[?25hs/\u//g[?25l12 substitutions on 1 line[35;46H[\]^_`abcdefghiwxyz{|}~[1m[34m^?~@~B~P~[[0m¦±¼ÇÓé[35;85H[K[35;9H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;9H[1m[34m^L^M[0m !"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~[1m[34m^?~@~B~P~[[0m¦±¼ÇÓé[36;1H[K[35;9H[34h[?25h[?25l
:[34h[?25hs/\U//g[?25l70 substitutions on 1 line[35;1HABCDEFGHIXYZ[35;14H[K[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^start-here/+1,$wq! test.out[?25l[1m[31msearch hit BOTTOM, continuing at TOP[0m"test.out" [36;12H[K[36;12H[New File] 16 lines, 672 characters written
[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test37.failed test.ok test.out X* viminfo
cp test37.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test37.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test37.in" 116 lines, 3262 characters[1;1HTest for 'scrollbind'. <eralston@computer.org>   Do not add a line below!
STARTTEST
:so small.vim
:set noscrollbind
:set scrollopt=ver,jump
:set scrolloff=2
:set nowrap
:set noequalalways
:set splitbelow
:" TEST using two windows open to one buffer, one extra empty window
:split
:new
[1m[34m^W[0mt:
:resize 8
/^start of window 1$/
zt:
:set scrollbind
[1m[34m^W[0mj:
:resize 7
/^start of window 2$/
zt:
:set scrollbind
:" -- start of tests --
:" TEST scrolling down
L5jHyy[1m[34m^W[0mbpr0[1m[34m^W[0mtHyy[1m[34m^W[0mbpr1[1m[34m^W[0mtL6jHyy[1m[34m^W[0mbpr2[1m[34m^W[0mkHyy[1m[34m^W[0mbpr3:
:" TEST scrolling up
[1m[34m^W[0mtH4k[1m[34m^W[0mjH[1m[34m^W[0mtHyy[1m[34m^W[0mbpr4[1m[34m^W[0mkHyy[1m[34m^W[0mbpr5[1m[34m^W[0mk3k[1m[34m^W[0mtH[1m[34m^W[0mjHyy[1m[34m^W[0mbpr6[1m[34m^W[0mtHyy[1m[34m^W[0mbpr7:
:" TEST horizontal scrolling
:set scrollopt+=hor
gg"zyyG"zpG[1m[34m^W[0mt015zly$[1m[34m^W[0mbp"zpG[1m[34m^W[0mky$[1m[34m^W[0mbp"zpG:
[1m[34m^W[0mk10jH7zhg0y$[1m[34m^W[0mbp"zpG[1m[34m^W[0mtHg0y$[1m[34m^W[0mbp"zpG:
:set scrollopt-=hor
:" ****** tests using two different buffers *****
[1m[34m^W[0mt[1m[34m^W[0mj:
:close[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTest for 'scrollbind'. <eralston@computer.org>   Do not add a line below![36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[2;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[3;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 72 lines, 1498 characters written[3;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[3;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[23m[24m[0m[H[J[1;1H:" TEST syncbind
[1m[34m^W[0mt:set noscb
ggL[1m[34m^W[0mj:set noscb
ggL:set scb
[1m[34m^W[0mt:set scb
G[1m[34m^W[0mjG:syncbind
Hk[1m[34m^W[0mtH[1m[34m^W[0mjHyy[1m[34m^W[0mbp[1m[34m^W[0mtyy[1m[34m^W[0mbp:
[1m[34m^W[0mt:set noscb
ggL[1m[34m^W[0mj:set noscb
ggL:set scb
[1m[34m^W[0mt:set scb
[1m[34m^W[0mtG[1m[34m^W[0mjG[1m[34m^W[0mt:syncbind
Hk[1m[34m^W[0mjH[1m[34m^W[0mtHyy[1m[34m^W[0mbp[1m[34m^W[0mt[1m[34m^W[0mjyy[1m[34m^W[0mbp:
[1m[34m^W[0mtH3k[1m[34m^W[0mjH[1m[34m^W[0mtHyy[1m[34m^W[0mbp[1m[34m^W[0mt[1m[34m^W[0mjyy[1m[34m^W[0mbp:
:" ***** done with tests *****
:w! test.out[13C" Write contents of this file
:qa!
ENDTEST


start of window 1
. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01
. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03
. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04
. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07
. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08
. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09
. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10
. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12
. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13
. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14[18;1H[34h[?25h
[?25l[36;1H:so! Xdotest[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset noscrollbind[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset scrollopt=ver,jump[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset scrolloff=2[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset nowrap[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset noequalalways[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset splitbelow[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" TEST using two windows open to one buffer, one extra empty window[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hsplit[?25l[1;1H[1m[34m^W[0mt:set scb[1;12H[K[2;4HG[1m[34m^W[0mjG[1m[34m^W[0mt:syncbind
Hk[1m[34m^W[0mjH[1m[34m^W[0mtHyy[1m[34m^W[0mbp[1m[34m^W[0mt[1m[34m^W[0mjyy[1m[34m^W[0mbp:
[1m[34m^W[0mtH3k[1m[34m^W[0mjH[1m[34m^W[0mtHyy[1m[34m^W[0mbp[1m[34m^W[0mt[1m[34m^W[0mjyy[1m[34m^W[0mbp:
:" ***** done with tests *****
:w! test.out  [11C" Write contents of this file
:qa![7;5H[K[8;1HENDTEST[8;9H[K[9;1H[K[10;1H[K[11;1Hstart of window 1
. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01
. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03
. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04
. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[16;51H[K[17;1H[7mtest37.in                                                                                           [0m[18;1H:qa![18;5H[K[19;1HENDTEST[21;1H[K[22;1Hstart of window 1[22;18H[K[23;9H1[39C1[24;9H2[39C2[25;9H3[39C3[26;9H4[39C4[27;9H5[39C5[28;9H6[39C6[29;9H7[39C7[30;9H8[39C8[31;8H09[38C09[32;9H0[39C0[33;9H1[39C1[34;9H2[39C2
[1m[7mtest37.in                                                                                           [20;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hnew[?25l[26;1H[7mtest37.in                                                                                           [0m[27;1H[K[28;1H[1m[34m~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [0m[35;1H[1m[7m[No Name][27;1H[34h[?25h[17;1Htest37.in                                                                                           [0m[35;1H[7m[No Name]                                                                                           [9;1H[?25l[0m[36;1H[K[36;1H:[34h[?25h[?25l[9;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hresize 8[?25l[1;1H:" ***** done with tests *****
:w! test.out             " Write contents of this file
:qa![3;5H[K[4;1HENDTEST[4;8H[K[5;1H[K[6;1H[K[7;1Hstart of window 1
. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01
[1m[7mtest37.in                                                                                           [0m[10;1H:qa!
ENDTEST[11;8H[K[12;1H[K[13;1H[K[14;1Hstart of window 1[14;18H[K[15;9H1[39C1[16;9H2[39C2
. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03[17;50H[K[18;1H. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04
. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07
. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08[23;9H9[39C9[24;8H10[38C10[25;8H11[38C11[5;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h^start of window 1$/[?25l[36;21H[K[36;1H[1;8r[8;1H
[1;36r[8;1H. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[36;1H[K[6;1H[34h[?25h[?25l[1;8r[1;1H[3M[1;36r[6;1H. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03
. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04
. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[3;1H[34h[?25h[?25l[36;1H:[34h[?25h[?25l[3;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset scrollbind[?25l[3;1H[34h[?25h[9;1H[7mtest37.in                                                                                           [0m[26;1H[1m[7mtest37.in                                                                                           [12;1H[?25l[0m[36;1H[K[36;1H:[34h[?25h[?25l[12;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hresize 7[?25l[17;1H[1m[7mtest37.in                                                                                           [0m[18;1H[K[19;1H[1m[34m~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [12;1H[34h[?25h[?25l[0m[36;1H[K[36;1H/[34h[?25h^start of window 2$/[?25l[36;21H[K[36;1H[10;1Hend of window 1[11;1H[K[13;1Hstart of window 2
. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01[15;9H2 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02[16;9H3 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03[13;1H[34h[?25h[?25l[10;16r[16;1H
[1;36r[16;1H. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04[36;1H[K[12;1H[34h[?25h[?25l[36;1H:[34h[?25h[?25l[12;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset scrollbind[?25l[12;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" -- start of tests --[?25l[12;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" TEST scrolling down[?25l[12;1H[34h[?25h

[?25l[1;8r[1;1H[5M[1;36r[4;1H. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07
. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08
. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09
. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10[10;16r[10;1H[5M[1;36r[12;1H. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05
. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07
. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08
. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09[36;1H[K[14;1H[34h[?25h[12;1H[17;1H[7mtest37.in                                                                                           [0m[35;1H[1m[7m[No Name]                                                                                           [18;1H[?25l[0m
. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05[19;50H[K[35;11H[1m[7m[+][19;1H[34h[?25h[?25l[0m0[34h[?25h[9;1H[1m[7mtest37.in                                                                                           [0m[35;1H[7m[No Name] [+]                                                                                       [3;1H[9;1Htest37.in                                                                                           [0m[35;1H[1m[7m[No Name] [+]                                                                                       [19;1H[?25l[0m
. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[20;50H[K[20;1H[34h[?25h[?25l1[34h[?25h[9;1H[1m[7mtest37.in                                                                                           [0m[35;1H[7m[No Name] [+]                                                                                       [3;1H


[?25l[1;8r[0m[1;1H[6M[1;36r[3;1H. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12
. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13
. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14
. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15
end of window 1[10;16r[10;1H[6M[1;36r[11;1H. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10
. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12
. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13
. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14
. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15[6;1H[34h[?25h[3;1H[9;1H[7mtest37.in                                                                                           [0m[35;1H[1m[7m[No Name] [+]                                                                                       [20;1H[?25l[0m
. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[21;50H[K[21;1H[34h[?25h[?25l2[34h[?25h[17;1H[1m[7mtest37.in                                                                                           [0m[35;1H[7m[No Name] [+]                                                                                       [12;1H[17;1Htest37.in                                                                                           [0m[35;1H[1m[7m[No Name] [+]                                                                                       [21;1H[?25l[0m
. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[22;50H[K[22;1H[34h[?25h[?25l3[34h[?25h[?25l[36;1H:[34h[?25h[?25l[22;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" TEST scrolling up[?25l[22;1H[34h[?25h[9;1H[1m[7mtest37.in                                                                                           [0m[35;1H[7m[No Name] [+]                                                                                       [3;1H[?25l[1;8r[0m[1;1H[5L[1;36r[1;1H. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04
. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07
. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08[10;9H4[39C4[11;8H05[38C05[12;8H06[38C06[13;8H07[38C07[14;8H08[38C08[15;8H09[38C09[16;9H0[39C0[36;1H[K[4;1H[34h[?25h[9;1H[7mtest37.in                                                                                           [0m[17;1H[1m[7mtest37.in                                                                                           [14;1H[12;1H[9;1Htest37.in                                                                                           [0m[17;1H[7mtest37.in                                                                                           [4;1H[3;1H[9;1Htest37.in                                                                                           [0m[35;1H[1m[7m[No Name] [+]                                                                                       [22;1H[?25l[0m
. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06[23;50H[K[23;1H[34h[?25h[?25l4[34h[?25h[17;1H[1m[7mtest37.in                                                                                           [0m[35;1H[7m[No Name] [+]                                                                                       [12;1H[17;1Htest37.in                                                                                           [0m[35;1H[1m[7m[No Name] [+]                                                                                       [23;1H[?25l[0m
. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06[24;50H[K[24;1H[34h[?25h[?25l5[34h[?25h[17;1H[1m[7mtest37.in                                                                                           [0m[35;1H[7m[No Name] [+]                                                                                       [12;1H[?25l[1;8r[0m[1;1H[4L[1;36r[1;1Hstart of window 1
. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01
. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03[10;16r[10;1H[4L[1;36r[10;1Hstart of window 2
. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01
. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03[34h[?25h[9;1H[1m[7mtest37.in                                                                                           [0m[17;1H[7mtest37.in                                                                                           [6;1H[3;1H[9;1Htest37.in                                                                                           [0m[17;1H[1m[7mtest37.in                                                                                           [13;1H[12;1H[0m[17;1H[7mtest37.in                                                                                           [0m[35;1H[1m[7m[No Name] [+]                                                                                       [24;1H[?25l[0m
. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02[25;50H[K[25;1H[34h[?25h[?25l6[34h[?25h[9;1H[1m[7mtest37.in                                                                                           [0m[35;1H[7m[No Name] [+]                                                                                       [3;1H[9;1Htest37.in                                                                                           [0m[35;1H[1m[7m[No Name] [+]                                                                                       [25;1H[?25l[0m
. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[26;50H[K[26;1H[34h[?25h[?25l7[34h[?25h[?25l[36;1H:[34h[?25h[?25l[26;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" TEST horizontal scrolling[?25l[26;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset scrollopt+=hor[?25l[26;1H[34h[?25h[18;1H[26;1H[?25l[27;1H[K[27;1H[34h[?25h[9;1H[1m[7mtest37.in                                                                                           [0m[35;1H[7m[No Name] [+]                                                                                       [3;1H[?25l[0m[1;1H 1[1;3H[K[2;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01[2;35H[K[3;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[3;35H[K[4;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03[4;35H[K[5;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04[5;35H[K[6;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[6;35H[K[7;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06[7;35H[K[8;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07[8;35H[K[10;1H 2[10;3H[K[11;1HUTSRQPONMLKJIHGREDCBA9876543210 01[11;35H[K[12;1HUTSRQPONMLKJIHGREDCBA9876543210 02[12;35H[K[13;1HUTSRQPONMLKJIHGREDCBA9876543210 03[13;35H[K[14;1HUTSRQPONMLKJIHGREDCBA9876543210 04[14;35H[K[15;1HUTSRQPONMLKJIHGREDCBA9876543210 05[15;35H[K[16;1HUTSRQPONMLKJIHGREDCBA9876543210 06[16;35H[K[3;1H[34h[?25h[9;1H[7mtest37.in                                                                                           [0m[35;1H[1m[7m[No Name] [+]                                                                                       [27;1H[?25l[0m56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[34h[?25h[?25l[28;1H[K[28;1H[34h[?25h[17;1H[1m[7mtest37.in                                                                                           [0m[35;1H[7m[No Name] [+]                                                                                       [12;1H[17;1Htest37.in                                                                                           [0m[35;1H[1m[7m[No Name] [+]                                                                                       [28;1H[?25l[0mUTSRQPONMLKJIHGREDCBA9876543210 02[34h[?25h[?25l[29;1H[K[29;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h[?25l[29;1H[34h[?25h[17;1H[1m[7mtest37.in                                                                                           [0m[35;1H[7m[No Name] [+]                                                                                       [12;1H[?25l[0m[1;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09[2;33H10[3;33H11[4;33H12[5;33H13[6;33H14[7;33H15[8;1H[K[10;1HUTSRQPONMLKJIHGREDCBA9876543210 09[11;33H10[12;33H11[13;33H12[14;33H13[15;33H14[16;33H15[13;1H[34h[?25h[?25l[1;1H. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09
. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10
. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12
. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13
. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14
. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15
end of window 1

. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09
. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10
. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12
. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13
. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14
. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15[12;1H[34h[?25h[?25l[34h[?25h[17;1H[7mtest37.in                                                                                           [0m[35;1H[1m[7m[No Name] [+]                                                                                       [29;1H[?25l[0m. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[34h[?25h[?25l[30;1H[K[30;1H[34h[?25h[9;1H[1m[7mtest37.in                                                                                           [0m[35;1H[7m[No Name] [+]                                                                                       [3;16H[9;1Htest37.in                                                                                           [0m[35;1H[1m[7m[No Name] [+]                                                                                       [30;1H[?25l[0m. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[34h[?25h[?25l[31;1H[K[31;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h[?25l[31;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset scrollopt-=hor[?25l[31;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" ****** tests using two different buffers *****[?25l[31;1H[34h[?25h[9;1H[1m[7mtest37.in                                                                                           [0m[35;1H[7m[No Name] [+]                                                                                       [3;1H[9;1Htest37.in                                                                                           [0m[17;1H[1m[7mtest37.in                                                                                           [12;1H[?25l[0m[36;1H[K[36;1H:[34h[?25h[?25l[12;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hclose[?25l[9;1H[K[10;1H[K[11;1Hstart of window 2[11;18H[K[12;8H0[39C0[13;8H0[39C0[14;8H0[39C0[15;8H0[39C0[16;8H0[39C0[3;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h[?25l[3;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset noscrollbind[?25l[3;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^start of window 2$/,/^end of window 2$/y[?25l18 lines yanked[36;16H[K[3;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hnew[?25l[8;1H[7mtest37.in                                                                                           [0m[10;1H[1m[34m~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [0m[17;1H[1m[7m[No Name][9;1H[34h[?25h[8;1Htest37.in                                                                                           [0m[17;1H[7m[No Name]                                                                                           [3;1H[8;1Htest37.in                                                                                           [0m[17;1H[1m[7m[No Name]                                                                                           [9;1H[?25l[0m[36;1H4 more lines[10;1H[K[11;1H[K[12;1H[K[13;1H[K[17;11H[1m[7m[+][10;1H[34h[?25h


[?25l[0m[36;1H18 more lines[14;1Hstart of window 2[14;18H[K[15;1H. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01[15;50H[K[16;1H. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02[16;50H[K[14;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h[?25l[14;1H[34h[?25h[8;1H[1m[7mtest37.in                                                                                           [0m[17;1H[7m[No Name] [+]                                                                                       [3;1H[?25l[0m[36;1H[K[36;1H/[34h[?25h^start of window 1$/[?25l[36;21H[K[36;1H[1m[31msearch hit BOTTOM, continuing at TOP[0m[1;1HENDTEST[1;8H[K[2;1H[K[3;1H[K[4;1Hstart of window 1[4;18H[K[5;8H01[38C01[6;8H02[38C02[7;8H03[38C03[4;1H[34h[?25h[?25l[1;7r[7;1H
[1;36r[7;1H. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04[36;1H[K[3;1H[34h[?25h[?25l[36;1H:[34h[?25h[?25l[3;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset scrollbind[?25l[3;1H[34h[?25h[8;1H[7mtest37.in                                                                                           [0m[17;1H[1m[7m[No Name] [+]                                                                                       [14;1H[?25l[0m[36;1H[K[36;1H:[34h[?25h[?25l[14;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h^start of window 2$/[?25l[36;21H[K[36;1H[1m[31msearch hit BOTTOM, continuing at TOP[14;1H[34h[?25h[?25l[9;16r[0m[9;1H[3M[1;36r[14;1H. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03
. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04
. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05[36;1H[K[11;1H[34h[?25h[?25l[36;1H:[34h[?25h[?25l[11;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset scrollbind[?25l[11;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" -- start of tests --[?25l[11;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" TEST scrolling down[?25l[11;1H[34h[?25h


[?25l[1;7r[1;1H[5M[1;36r[3;1H. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07
. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08
. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09[9;16r[9;1H[5M[1;36r[12;1H. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07
. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08
. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09
. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10[36;1H[K[14;1H[34h[?25h[11;1H[17;1H[7m[No Name] [+]                                                                                       [0m[35;1H[1m[7m[No Name] [+]                                                                                       [31;1H[?25l[0m
. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05[32;50H[K[32;1H[34h[?25h[?25l0[34h[?25h[8;1H[1m[7mtest37.in                                                                                           [0m[35;1H[7m[No Name] [+]                                                                                       [3;1H[8;1Htest37.in                                                                                           [0m[35;1H[1m[7m[No Name] [+]                                                                                       [32;1H[?25l[0m
. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[33;50H[K[33;1H[34h[?25h[?25l1[34h[?25h[8;1H[1m[7mtest37.in                                                                                           [0m[35;1H[7m[No Name] [+]                                                                                       [3;1H

[?25l[1;7r[0m[1;1H[6M[1;36r[2;1H. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10
. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12
. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13
. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14
. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15[9;16r[9;1H[6M[1;36r[11;1H. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12
. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13
. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14
. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15
. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[5;1H[34h[?25h[3;1H[8;1H[7mtest37.in                                                                                           [0m[35;1H[1m[7m[No Name] [+]                                                                                       [33;1H[?25l[0m
. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[34;50H[K[34;1H[34h[?25h[?25l2[34h[?25h[17;1H[1m[7m[No Name] [+]                                                                                       [0m[35;1H[7m[No Name] [+]                                                                                       [11;1H[17;1H[No Name] [+]                                                                                       [0m[35;1H[1m[7m[No Name] [+]                                                                                       [34;1H[?25l[18;34r[0m[34;1H
[1;36r[34;1H. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[34h[?25h[?25l3[34h[?25h[?25l

:[34h[?25h[?25l[34;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" TEST scrolling up[?25l[34;1H[34h[?25h[8;1H[1m[7mtest37.in                                                                                           [0m[35;1H[7m[No Name] [+]                                                                                       [3;1H[?25l[0m[1;9H4[39C4[2;8H05[38C05[3;8H06[38C06[4;8H07[38C07[5;8H08[38C08[6;8H09[38C09[7;9H0[39C0[9;16r[9;1H[5L[1;36r[9;1H. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04
. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05
. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07
. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08[36;1H[K[4;1H[34h[?25h[8;1H[7mtest37.in                                                                                           [0m[17;1H[1m[7m[No Name] [+]                                                                                       [14;1H[11;1H[8;1Htest37.in                                                                                           [0m[17;1H[7m[No Name] [+]                                                                                       [4;1H[3;1H[8;1Htest37.in                                                                                           [0m[35;1H[1m[7m[No Name] [+]                                                                                       [34;1H[?25l[18;34r[0m[34;1H
[1;36r[34;1H. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06[34h[?25h[?25l4[34h[?25h[17;1H[1m[7m[No Name] [+]                                                                                       [0m[35;1H[7m[No Name] [+]                                                                                       [11;1H[17;1H[No Name] [+]                                                                                       [0m[35;1H[1m[7m[No Name] [+]                                                                                       [34;1H[?25l[18;34r[0m[34;1H
[1;36r[34;1H. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06[34h[?25h[?25l5[34h[?25h[17;1H[1m[7m[No Name] [+]                                                                                       [0m[35;1H[7m[No Name] [+]                                                                                       [11;1H[?25l[1;7r[0m[1;1H[4L[1;36r[1;1Hstart of window 1
. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01
. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03[9;16r[9;1H[4L[1;36r[9;1Hstart of window 2
. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01
. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03[34h[?25h[8;1H[1m[7mtest37.in                                                                                           [0m[17;1H[7m[No Name] [+]                                                                                       [5;1H[3;1H[8;1Htest37.in                                                                                           [0m[17;1H[1m[7m[No Name] [+]                                                                                       [12;1H[11;1H[0m[17;1H[7m[No Name] [+]                                                                                       [0m[35;1H[1m[7m[No Name] [+]                                                                                       [34;1H[?25l[18;34r[0m[34;1H
[1;36r[34;1H. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02[34h[?25h[?25l6[34h[?25h[8;1H[1m[7mtest37.in                                                                                           [0m[35;1H[7m[No Name] [+]                                                                                       [3;1H[8;1Htest37.in                                                                                           [0m[35;1H[1m[7m[No Name] [+]                                                                                       [34;1H[?25l[18;34r[0m[34;1H
[1;36r[34;1H. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[34h[?25h[?25l7[34h[?25h[?25l

:[34h[?25h[?25l[34;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" TEST horizontal scrolling[?25l[34;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset scrollopt+=hor[?25l[34;1H[34h[?25h[?25l[18;34r[18;1H[5L[1;36r[19;1H0 line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05
1 line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
2 line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[36;1H[K[18;1H[34h[?25h[?25l[18;34r[18;1H[5M[1;36r[30;1H3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
4 line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
5 line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
6 line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
7 line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[34h[?25h[?25l[18;34r[34;1H
[1;36r[34;1H[34h[?25h[8;1H[1m[7mtest37.in                                                                                           [0m[35;1H[7m[No Name] [+]                                                                                       [3;1H[?25l[0m[1;1H 1[1;3H[K[2;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01[2;35H[K[3;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[3;35H[K[4;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03[4;35H[K[5;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04[5;35H[K[6;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[6;35H[K[7;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06[7;35H[K[9;1H 2[9;3H[K[10;1HUTSRQPONMLKJIHGREDCBA9876543210 01[10;35H[K[11;1HUTSRQPONMLKJIHGREDCBA9876543210 02[11;35H[K[12;1HUTSRQPONMLKJIHGREDCBA9876543210 03[12;35H[K[13;1HUTSRQPONMLKJIHGREDCBA9876543210 04[13;35H[K[14;1HUTSRQPONMLKJIHGREDCBA9876543210 05[14;35H[K[15;1HUTSRQPONMLKJIHGREDCBA9876543210 06[15;35H[K[16;1HUTSRQPONMLKJIHGREDCBA9876543210 07[16;35H[K[3;1H[34h[?25h[8;1H[7mtest37.in                                                                                           [0m[35;1H[1m[7m[No Name] [+]                                                                                       [34;1H[?25l[0m56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[34h[?25h[?25l[18;34r[34;1H
[1;36r[34;1H[34h[?25h[17;1H[1m[7m[No Name] [+]                                                                                       [0m[35;1H[7m[No Name] [+]                                                                                       [11;1H[17;1H[No Name] [+]                                                                                       [0m[35;1H[1m[7m[No Name] [+]                                                                                       [34;1H[?25l[0mUTSRQPONMLKJIHGREDCBA9876543210 02[34h[?25h[?25l[18;34r[34;1H
[1;36r[34;1H[34h[?25h[?25l

:[34h[?25h[?25l[34;1H[34h[?25h[17;1H[1m[7m[No Name] [+]                                                                                       [0m[35;1H[7m[No Name] [+]                                                                                       [11;1H[?25l[0m[1;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09[2;33H10[3;33H11[4;33H12[5;33H13[6;33H14[7;33H15

UTSRQPONMLKJIHGREDCBA9876543210 09[10;33H10[11;33H11[12;33H12[13;33H13[14;33H14[15;33H15[16;33H16[12;1H[34h[?25h[?25l[1;1H. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09
. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10
. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12
. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13
. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14
. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15

. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09
. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10
. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12
. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13
. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14
. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15
. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[11;1H[34h[?25h[?25l[34h[?25h[17;1H[7m[No Name] [+]                                                                                       [0m[35;1H[1m[7m[No Name] [+]                                                                                       [34;1H[?25l[0m. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[34h[?25h[?25l[18;34r[34;1H
[1;36r[36;1H[K[34;1H[34h[?25h[8;1H[1m[7mtest37.in                                                                                           [0m[35;1H[7m[No Name] [+]                                                                                       [3;16H[8;1Htest37.in                                                                                           [0m[35;1H[1m[7m[No Name] [+]                                                                                       [34;1H[?25l[0m. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[34h[?25h[?25l[18;34r[34;1H
[1;36r[34;1H[34h[?25h[?25l

:[34h[?25h[?25l[34;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset scrollopt-=hor[?25l[34;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" TEST syncbind[?25l[34;1H[34h[?25h[8;1H[1m[7mtest37.in                                                                                           [0m[35;1H[7m[No Name] [+]                                                                                       [3;1H[?25l[0m[36;1H[K[36;1H:[34h[?25hset noscb[?25l[3;1H[34h[?25h[?25l[1;1HTest for 'scrollbind'. <eralston@computer.org>   Do not add a line below!
STARTTEST[2;11H[K[3;1H:so small.vim[3;14H[K[4;1H:set noscrollbind[4;18H[K[5;1H:set scrollopt=ver,jump[5;24H[K[6;1H:set scrolloff=2[6;17H[K[7;1H:set nowrap[7;12H[K[1;1H[34h[?25h[5;1H


[7mtest37.in                                                                                           [0m[17;1H[1m[7m[No Name] [+]                                                                                       [11;1H[?25l[0m[36;1H[K[36;1H:[34h[?25hset noscb[?25l[11;1H[34h[?25h[?25l[9;1H[K[10;1H[K[11;1H[K[12;1H[K[13;1H[K[14;1Hstart of window 2[14;18H[K[15;8H01[38C01[16;8H02[38C02[9;1H[34h[?25h[14;1H[?25l[36;1H[K[36;1H:[34h[?25hset scb[?25l[14;1H[34h[?25h[8;1H[1m[7mtest37.in                                                                                           [0m[17;1H[7m[No Name] [+]                                                                                       [5;1H[?25l[0m[36;1H[K[36;1H:[34h[?25hset scb[?25l[5;1H[34h[?25h[?25l[1;1H. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13[1;50H[K[2;1H. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14
. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15
. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
end of window 2[5;16H[K[6;1H[K[7;1Hend of test37.in (please don't delete this line)

end of window 2
[1m[34m~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [7;1H[34h[?25h[?25l[0m[1;1Hzt:[1;4H[K[2;1H:set scrollbind[2;16H[K[3;1H:" -- start of tests --[3;24H[K[4;1H:" TEST scrolling down[4;23H[K[5;1HL5jHyy[1m[34m^W[0mbpr0[1m[34m^W[0mtHyy[1m[34m^W[0mbpr1[1m[34m^W[0mtL6jHyy[1m[34m^W[0mbpr2[1m[34m^W[0mkHyy[1m[34m^W[0mbpr3:
:" TEST scrolling up
[1m[34m^W[0mtH4k[1m[34m^W[0mjH[1m[34m^W[0mtHyy[1m[34m^W[0mbpr4[1m[34m^W[0mkHyy[1m[34m^W[0mbpr5[1m[34m^W[0mk3k[1m[34m^W[0mtH[1m[34m^W[0mjHyy[1m[34m^W[0mbpr6[1m[34m^W[0mtHyy[1m[34m^W[0mbpr7:
[7mtest37.in                                                                                           [9;16r[0m[9;1H[2L[1;36r[9;1H. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15
. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[17;1H[1m[7m[No Name] [+]                                                                                       [0m[36;1H[K[11;1H[34h[?25h[?25l[36;1H:[34h[?25hsyncbind[?25l[11;1H[34h[?25h[?25l[1;7r[1;1H[L[1;36r[1;1H/^start of window 2$/[9;16r[9;1H[L[1;36r[9;1H. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14[36;1H[K[11;1H[34h[?25h[8;1H[1m[7mtest37.in                                                                                           [0m[17;1H[7m[No Name] [+]                                                                                       [5;1H[3;1H[8;1Htest37.in                                                                                           [0m[17;1H[1m[7m[No Name] [+]                                                                                       [11;1H[0m[17;1H[7m[No Name] [+]                                                                                       [0m[35;1H[1m[7m[No Name] [+]                                                                                       [34;1H[?25l[18;34r[0m[34;1H
[1;36r[34;1H. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[34h[?25h[8;1H[1m[7mtest37.in                                                                                           [0m[35;1H[7m[No Name] [+]                                                                                       [3;1H[8;1Htest37.in                                                                                           [0m[35;1H[1m[7m[No Name] [+]                                                                                       [34;1H[?25l[18;34r[0m[34;1H
[1;36r[34;1H:set scrollbind[34h[?25h[?25l

:[34h[?25h[?25l[34;1H[34h[?25h[8;1H[1m[7mtest37.in                                                                                           [0m[35;1H[7m[No Name] [+]                                                                                       [3;1H[?25l[0m[36;1H[K[36;1H:[34h[?25hset noscb[?25l[3;1H[34h[?25h[?25l[1;1HTest for 'scrollbind'. <eralston@computer.org>   Do not add a line below!
STARTTEST
:so small.vim[3;14H[K[4;2Hset noscrollbind[4;18H[K[5;2Hset scrollopt=ver,jump
:set scrolloff=2[6;17H[K[7;2Hset nowrap[7;12H[K[1;1H[34h[?25h[5;1H


[7mtest37.in                                                                                           [0m[17;1H[1m[7m[No Name] [+]                                                                                       [11;1H[?25l[0m[36;1H[K[36;1H:[34h[?25hset noscb[?25l[11;1H[34h[?25h[?25l[9;1H[K[10;1H[K[11;1H[K[12;1H[K[13;1H[K[14;1Hstart of window 2[14;18H[K[15;1H. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01[15;50H[K[16;1H. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02[16;50H[K[9;1H[34h[?25h[14;1H[?25l[36;1H[K[36;1H:[34h[?25hset scb[?25l[14;1H[34h[?25h[8;1H[1m[7mtest37.in                                                                                           [0m[17;1H[7m[No Name] [+]                                                                                       [5;1H[?25l[0m[36;1H[K[36;1H:[34h[?25hset scb[?25l[5;1H[34h[?25h[?25l[1;1H. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13[1;50H[K[2;1H. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14
. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15
. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
end of window 2[5;16H[K[6;1H[K[7;1Hend of test37.in (please don't delete this line)

end of window 2
[1m[34m~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [7;1H[34h[?25h[?25l[0m[1;1Hzt:[1;4H[K[2;1H:set scrollbind[2;16H[K[3;1H:" -- start of tests --[3;24H[K[4;1H:" TEST scrolling down[4;23H[K[5;1HL5jHyy[1m[34m^W[0mbpr0[1m[34m^W[0mtHyy[1m[34m^W[0mbpr1[1m[34m^W[0mtL6jHyy[1m[34m^W[0mbpr2[1m[34m^W[0mkHyy[1m[34m^W[0mbpr3:
:" TEST scrolling up
[1m[34m^W[0mtH4k[1m[34m^W[0mjH[1m[34m^W[0mtHyy[1m[34m^W[0mbpr4[1m[34m^W[0mkHyy[1m[34m^W[0mbpr5[1m[34m^W[0mk3k[1m[34m^W[0mtH[1m[34m^W[0mjHyy[1m[34m^W[0mbpr6[1m[34m^W[0mtHyy[1m[34m^W[0mbpr7:
[7mtest37.in                                                                                           [9;16r[0m[9;1H[2L[1;36r[9;1H. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15
. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[17;1H[1m[7m[No Name] [+]                                                                                       [0m[36;1H[K[11;1H[34h[?25h[8;1H[1m[7mtest37.in                                                                                           [0m[17;1H[7m[No Name] [+]                                                                                       [5;1H[?25l[36;1H[0m:[34h[?25hsyncbind[?25l[5;1H[34h[?25h[3;1H[?25l[1;7r[1;1H[L[1;36r[1;1H/^start of window 2$/[9;16r[9;1H[2L[1;36r[9;1H. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13
. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14[36;1H[K[3;1H[34h[?25h[?25l[1;7r[1;1H[L[1;36r[1;1H:resize 7[8;1H[7mtest37.in                                                                                           [0m[17;1H[1m[7m[No Name] [+]                                                                                       [12;1H[34h[?25h[11;1H[8;1Htest37.in                                                                                           [0m[17;1H[7m[No Name] [+]                                                                                       [4;1H[3;1H[8;1Htest37.in                                                                                           [0m[35;1H[1m[7m[No Name] [+]                                                                                       [34;1H[?25l[18;34r[0m[34;1H
[1;36r[34;1Hzt:[34h[?25h[8;1H[1m[7mtest37.in                                                                                           [0m[35;1H[7m[No Name] [+]                                                                                       [3;1H[8;1Htest37.in                                                                                           [0m[17;1H[1m[7m[No Name] [+]                                                                                       [11;1H[0m[17;1H[7m[No Name] [+]                                                                                       [0m[35;1H[1m[7m[No Name] [+]                                                                                       [34;1H[?25l[18;34r[0m[34;1H
[1;36r[34;1H. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15[34h[?25h[?25l

:[34h[?25h[?25l[34;1H[34h[?25h[8;1H[1m[7mtest37.in                                                                                           [0m[35;1H[7m[No Name] [+]                                                                                       [3;1H[?25l[1;7r[0m[1;1H[4L[1;36r[1;1H/^start of window 1$/
zt:
:set scrollbind
[1m[34m^W[0mj:[9;16r[9;1H[4L[1;36r[9;1H. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09
. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10
. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12[36;1H[K[4;1H[34h[?25h[8;1H[7mtest37.in                                                                                           [0m[17;1H[1m[7m[No Name] [+]                                                                                       [14;1H[11;1H[8;1Htest37.in                                                                                           [0m[17;1H[7m[No Name] [+]                                                                                       [4;1H[3;1H[8;1Htest37.in                                                                                           [0m[35;1H[1m[7m[No Name] [+]                                                                                       [34;1H[?25l[18;34r[0m[34;1H
[1;36r[34;1H:set scrollbind[34h[?25h[8;1H[1m[7mtest37.in                                                                                           [0m[35;1H[7m[No Name] [+]                                                                                       [3;1H[8;1Htest37.in                                                                                           [0m[17;1H[1m[7m[No Name] [+]                                                                                       [11;1H[0m[17;1H[7m[No Name] [+]                                                                                       [0m[35;1H[1m[7m[No Name] [+]                                                                                       [34;1H[?25l[18;34r[0m[34;1H
[1;36r[34;1H. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[34h[?25h[?25l

:[34h[?25h[?25l[34;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" ***** done with tests *****[?25l[34;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw! test.out             " Write contents of this file[?25l"test.out" [36;12H[K[36;12H[New File] 33 lines, 1329 characters written[35;1H[1m[7mtest.out     [34;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hqa![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test38.failed test.ok test.out X* viminfo
cp test38.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test38.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test38.in" 33 lines, 364 characters[2;1HTest Virtual replace mode.

STARTTEST
:so small.vim
ggdGa
abcdefghi
jk      lmn
    opq rst
[1m[34m^D[0muvwxyz
[1m[34m^[[0mgg:set ai
:set bs=2
gR0[1m[34m^D[0m 1
A
BCDEFGHIJ[16;9HKL
MNO
PQR[1m[34m^[[0mG:ka
o0[1m[34m^D[0m
abcdefghi
jk      lmn
    opq rst
[1m[34m^D[0muvwxyz
[1m[34m^[[0m'ajgR0[1m[34m^D[0m 1
A
BCDEFGHIJ[27;9HKL
MNO
PQR[1m[34m^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^[[0m:$
iab     cdefghi jkl[1m[34m^[[0m0gRAB......CDEFGHI.J[1m[34m^[[0mo[1m[34m^[[0m:
iabcdefghijklmnopqrst[1m[34m^[[0m0gRAB    IJKLMNO QR[1m[34m^[[0m:wq! test.out
ENDTEST

[1m[34m~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[4;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[5;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 27 lines, 316 characters written[5;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[5;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[32;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[33;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[33;1H[34h[?25h[1;1H[?25l
[1m[34m~                                                                                                   [3;1H~                                                                                                   [4;1H~                                                                                                   [5;1H~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [0m[36;1H--No lines in buffer--[1;1H[34h[?25h[?25l
abcdefghi[2;10H[K[3;1Hjk      lmn[3;12H[K[4;1H    opq rst[4;12H[K[5;1Huvwxyz[5;7H[K[6;1H[K[6;1H[34h[?25h[1;1H[?25l[36;1H[K[36;1H:[34h[?25hset ai[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset bs=2[?25l[1;1H[34h[?25h[?25l 1
 A[2;3H[K[3;1H BCDEFGHIJ[3;11H[K[4;5H    KL[4;11H[K[5;1H        MNO[6;9HPQR[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hka[?25l[6;9H[34h[?25h[?25l[7;1H[K[8;1Habcdefghi[8;10H[K[9;1Hjk      lmn[9;12H[K[10;1H    opq rst[10;12H[K[11;1Huvwxyz[11;7H[K[12;1H[K[12;1H[34h[?25h[6;9H
[?25l 1[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$[?25l[12;1H[34h[?25h[?25lab      cdefghi jkl[34h[?25h[?25lAB......CDEFGHI.J[34h[?25h[?25l[13;1H[K[13;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h[?25l[13;1H[34h[?25h[?25labcdefghijklmnopqrst[34h[?25h[?25lAB      IJKLMNO QR[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hwq! test.out[?25l"test.out" [36;12H[K[36;12H[New File] 13 lines, 107 characters written
[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test39.failed test.ok test.out X* viminfo
cp test39.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test39.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test39.in" 24 lines, 364 characters[2;1HTest Visual block mode commands

STARTTEST
:so small.vim
/^abcde
:" Test shift-right of a block
jllll[1m[34m^V[0mjj>wll[1m[34m^V[0mjlll>
:" Test shift-left of a block
G$hhhh[1m[34m^V[0mkk<
:" Test block-insert
Gkl[1m[34m^V[0mkkkIxyz[1m[34m^[[0m
:" Test block-replace
Gllll[1m[34m^V[0mkkklllrq
:" Test block-change
G$khhh[1m[34m^V[0mhhkkcmno[1m[34m^[[0m
:$-4,$wq! test.out
ENDTEST

abcdefghijklm
abcdefghijklm
abcdefghijklm
abcdefghijklm
abcdefghijklm
[1m[34m~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[4;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[5;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 13 lines, 241 characters written[5;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[5;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[18;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h^abcde[?25l[20;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" Test shift-right of a block[?25l[20;1H[34h[?25h
abcd[?25l[34h[?25h[?25l[7me
[0mabcd[34h[?25h[?25l[7me
[0mabcd[34h[?25h[?25l[36;1H3 lines >ed 1 time[36;19H[K[21;5H        efghijklm
abcd        efghijklm
abcd        efghijklm[21;8H[34h[?25h     ef[?25l[34h[?25h[?25l[7mg[22;15H[34h[?25h[?25l[21;16Hh[22;15Hg[34h[?25h[?25l[21;17Hi[22;16Hh[34h[?25h[?25l[21;18Hj[22;17Hi[34h[?25h[?25l[0m[21;15H        ghijklm[22;15H        ghijklm[21;16H[34h[?25h[22;16H[?25l[36;1H[K[36;1H:[34h[?25h" Test shift-left of a block[?25l[22;16H[34h[?25h

[12C[?25l[34h[?25h[?25l[7mi[23;9H[34h[?25h[?25l [22;9H[34h[?25h[?25l[0m[36;1H3 lines <ed 1 time[36;20H[K[22;9Hef    [23;9Hefghijklm[23;18H[K[24;9Hi[22;9H[34h[?25h[23;9H[?25l[36;1H[K[36;1H:[34h[?25h" Test block-insert[?25l[23;9H[34h[?25h
[23;1Ha[?25l[34h[?25h[?25l[7mb[22;2H[34h[?25h[?25lb[21;2H[34h[?25h[?25lb[20;2H[34h[?25h[?25l[0mxyzbcdefghijklm
axyzbcd
axyzbcd
axyzbcd[20;2H[34h[?25h
a[?25l[36;1H[K[36;1H:[34h[?25h" Test block-replace[?25l[21;2H[34h[?25h


abcd[?25l[34h[?25h[?25l[7me[23;5H[34h[?25h[?25lb[22;5H[34h[?25h[?25lb[21;5H[34h[?25h[?25lb[22;6Hc[23;6Hc[24;6Hf[21;6H[34h[?25h[?25lc[22;7Hd[23;7Hd[24;7Hg[21;7H[34h[?25h[?25ld[22;8H [23;8H [24;8Hh[21;8H[34h[?25h[?25l[0mqqqq
axyzqqqq
axyzqqqq
abcdqqqq[21;5H[34h[?25h
axyz[?25l[36;1H[K[36;1H:[34h[?25h" Test block-change[?25l[22;5H[34h[?25h

[12C[23;17H[?25l[34h[?25h[?25l[7mj[34h[?25h[?25li[34h[?25h[?25l[22;12H     [23;11Hghijkl[22;11H[34h[?25h[?25l[21;13Hef[0m[22;15H  [23;11Hg[3Ckl[21;12H[34h[?25h[?25lmno[22;12Hmno[23;12Hmno[21;14H[34h[?25h[22;14H[?25l[36;1H[K[36;1H:[34h[?25h$-4,$wq! test.out[?25l"test.out" [36;12H[K[36;12H[New File] 5 lines, 108 characters written
[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test40.failed test.ok test.out X* viminfo
cp test40.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test40.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test40.in" 63 lines, 1521 characters[1;1HTest for "*Cmd" autocommands

STARTTEST
:so small.vim
:/^start/,$w! Xxx[15C" write lines below to Xxx
:au BufReadCmd testA 0r Xxx|$del
:e testA[24C" will read text of Xxd instead
:au BufWriteCmd testA call append(line("$"), "write")
:w[30C" will append a line to the file
:r testA[24C" should not read anything
:[31C" now we have:
:[31C" 1     start of Xxx
:[31C" 2[13Ctest40
:[31C" 3     end of Xxx
:[31C" 4     write
:au FileReadCmd testB '[r Xxx
:2r testB[23C" will read Xxx below line 2 instead
:[31C" 1     start of Xxx
:[31C" 2[13Ctest40
:[31C" 3     start of Xxx
:[31C" 4[13Ctest40
:[31C" 5     end of Xxx
:[31C" 6     end of Xxx
:[31C" 7     write
:au FileWriteCmd testC '[,']copy $
4GA1[1m[34m^[[0m
:4,5w testC[21C" will copy lines 4 and 5 to the end
:r testC[24C" should not read anything
:[31C" 1     start of Xxx
:[31C" 2[13Ctest40
:[31C" 3     start of Xxx
:[31C" 4[13Ctest401
:[31C" 5     end of Xxx
:[31C" 6     end of Xxx
:[31C" 7     write[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTest for "*Cmd" autocommands[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[3;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[4;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 55 lines, 1440 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[4;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[1;35r[1;1H[24M[1;36r[12;1H:[31C" 8[13Ctest401
:[31C" 9     end of Xxx
:au FILEAppendCmd testD '[,']w! test.out
:w >>testD[22C" will write all lines to test.out
:$r testD[23C" should not read anything
:$w >>test.out[18C" append "end of Xxx" to test.out
:au BufReadCmd testE 0r test.out|$del
:sp testE[23C" split window with test.out
5Goasdf[1m[34m^[^W^W[0m:"
:au BufWriteCmd testE w! test.out
:wall[27C" will write other window to test.out
:[31C" 1     start of Xxx
:[31C" 2[13Ctest40
:[31C" 3     start of Xxx
:[31C" 4[13Ctest401
:[31C" 5     end of Xxx
:[31C" 6     asdf
:[31C" 7     end of Xxx
:[31C" 8     write
:[31C" 9[13Ctest401
:[31C" 10    end of Xxx
:[31C" 11    end of Xxx
:qa!
ENDTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^start/,$w! Xxx[1m[34m^I^I[0m" write lines below to Xxx[?25l"Xxx" [36;7H[K[36;7H[New File] 3 lines, 32 characters written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hau BufReadCmd testA 0r Xxx|$del[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he testA[1m[34m^I^I^I[0m" will read text of Xxd instead[?25l"Xxx" [36;7H[K[36;7H3 lines, 32 characters[1;1Hstart of Xxx
        test40[2;33H[K[3;1Hend of Xxx[3;33H[K[4;1H[1m[34m~                                                                                                   [5;1H~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [3;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hau BufWriteCmd testA call append(line("$"), "write")[?25l[3;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw[1m[34m^I^I^I^I[0m" will append a line to the file[?25l[4;1Hwrite[4;6H[K[3;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hr testA[1m[34m^I^I^I[0m" should not read anything[?25l[1m[37m[41mE484: Can't open file testA[0m[36;28H[K[3;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h[1m[34m^I^I^I^I[0m" now we have:[?25l[3;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h[1m[34m^I^I^I^I[0m" 1[1m[34m^I[0mstart of Xxx[?25l[3;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h[1m[34m^I^I^I^I[0m" 2[1m[34m^I^I[0mtest40[?25l[3;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h[1m[34m^I^I^I^I[0m" 3[1m[34m^I[0mend of Xxx[?25l[3;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h[1m[34m^I^I^I^I[0m" 4[1m[34m^I[0mwrite[?25l[3;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hau FileReadCmd testB '[r Xxx[?25l[3;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h2r testB[1m[34m^I^I^I[0m" will read Xxx below line 2 instead[?25l"Xxx" [36;7H[K[36;7H3 lines, 32 characters[3;35r[3;1H[3L[1;36r[3;1Hstart of Xxx[4;9Htest40
end of Xxx[36;1H[K[3;1H[34h[?25h[?25l[36;1H:[34h[?25h[1m[34m^I^I^I^I[0m" 1[1m[34m^I[0mstart of Xxx[?25l[3;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h[1m[34m^I^I^I^I[0m" 2[1m[34m^I^I[0mtest40[?25l[3;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h[1m[34m^I^I^I^I[0m" 3[1m[34m^I[0mstart of Xxx[?25l[3;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h[1m[34m^I^I^I^I[0m" 4[1m[34m^I^I[0mtest40[?25l[3;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h[1m[34m^I^I^I^I[0m" 5[1m[34m^I[0mend of Xxx[?25l[3;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h[1m[34m^I^I^I^I[0m" 6[1m[34m^I[0mend of Xxx[?25l[3;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h[1m[34m^I^I^I^I[0m" 7[1m[34m^I[0mwrite[?25l[3;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hau FileWriteCmd testC '[,']copy $[?25l[3;1H[34h[?25h[4;9H[?25ltest401[34h[?25h[5;10H[?25l[36;1H[K[36;1H:[34h[?25h4,5w testC[1m[34m^I^I^I[0m" will copy lines 4 and 5 to the end[?25l[8;1H        test401[8;16H[K[9;1Hend of Xxx[9;11H[K[9;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hr testC[1m[34m^I^I^I[0m" should not read anything[?25l[1m[37m[41mE484: Can't open file testC[0m[36;28H[K[9;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h[1m[34m^I^I^I^I[0m" 1[1m[34m^I[0mstart of Xxx[?25l[9;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h[1m[34m^I^I^I^I[0m" 2[1m[34m^I^I[0mtest40[?25l[9;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h[1m[34m^I^I^I^I[0m" 3[1m[34m^I[0mstart of Xxx[?25l[9;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h[1m[34m^I^I^I^I[0m" 4[1m[34m^I^I[0mtest401[?25l[9;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h[1m[34m^I^I^I^I[0m" 5[1m[34m^I[0mend of Xxx[?25l[9;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h[1m[34m^I^I^I^I[0m" 6[1m[34m^I[0mend of Xxx[?25l[9;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h[1m[34m^I^I^I^I[0m" 7[1m[34m^I[0mwrite[?25l[9;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h[1m[34m^I^I^I^I[0m" 8[1m[34m^I^I[0mtest401[?25l[9;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h[1m[34m^I^I^I^I[0m" 9[1m[34m^I[0mend of Xxx[?25l[9;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hau FILEAppendCmd testD '[,']w! test.out[?25l[9;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>testD[1m[34m^I^I^I[0m" will write all lines to test.out[?25l"test.out" [36;12H[K[36;12H[New File] 9 lines, 91 characters written[9;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$r testD[1m[34m^I^I^I[0m" should not read anything[?25l[1m[37m[41mE484: Can't open file testD[0m[36;29H[K[9;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$w >>test.out[1m[34m^I^I^I[0m" append "end of Xxx" to test.out[?25l"test.out" [36;12H[K[36;12H1 line, 11 characters appended[9;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hau BufReadCmd testE 0r test.out|$del[?25l[9;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hsp testE[1m[34m^I^I^I[0m" split window with test.out[?25l"test.out" [36;12H[K[36;12H10 lines, 102 characters[10;1Hend of Xxx[10;11H[K[18;1H[1m[7mtestE                                                                                               [0m[19;1Hstart of Xxx[19;13H[K[20;1H        test40[20;15H[K[21;1Hstart of Xxx[21;13H[K[22;1H        test401[22;16H[K[23;1Hend of Xxx[23;11H[K[24;1Hend of Xxx[24;11H[K[25;1Hwrite[25;6H[K[26;1H        test401[26;16H[K[27;1Hend of Xxx[27;11H[K[35;1H[7mtestA                                                                                               [10;1H[34h[?25h[5;1H[?25l[6;17r[0m[6;1H[L[1;36r[6;1Hasdf[18;7H[1m[7m[+][0m[36;1H[K[6;4H[34h[?25h[18;1H[7mtestE [+]                                                                                           [0m[35;1H[1m[7mtestA                                                                                               [27;1H[?25l[36;1H[0m:[34h[?25h"[?25l[27;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hau BufWriteCmd testE w! test.out[?25l[27;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hwall[1m[34m^I^I^I^I[0m" will write other window to test.out[?25l"test.out" [36;12H[K[36;12H11 lines, 107 characters written[18;7H[7m   [27;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25h[1m[34m^I^I^I^I[0m" 1[1m[34m^I[0mstart of Xxx[?25l[27;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h[1m[34m^I^I^I^I[0m" 2[1m[34m^I^I[0mtest40[?25l[27;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h[1m[34m^I^I^I^I[0m" 3[1m[34m^I[0mstart of Xxx[?25l[27;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h[1m[34m^I^I^I^I[0m" 4[1m[34m^I^I[0mtest401[?25l[27;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h[1m[34m^I^I^I^I[0m" 5[1m[34m^I[0mend of Xxx[?25l[27;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h[1m[34m^I^I^I^I[0m" 6[1m[34m^I[0masdf[?25l[27;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h[1m[34m^I^I^I^I[0m" 7[1m[34m^I[0mend of Xxx[?25l[27;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h[1m[34m^I^I^I^I[0m" 8[1m[34m^I[0mwrite[?25l[27;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h[1m[34m^I^I^I^I[0m" 9[1m[34m^I^I[0mtest401[?25l[27;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h[1m[34m^I^I^I^I[0m" 10[1m[34m^I[0mend of Xxx[?25l[27;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h[1m[34m^I^I^I^I[0m" 11[1m[34m^I[0mend of Xxx[?25l[27;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test41.failed test.ok test.out X* viminfo
cp test41.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test41.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test41.in" 24 lines, 421 characters[1;1HTest for writing and reading a file of over 100 Kbyte

1 line: "This is the start"
3001 lines: "This is the leader"
1 line: "This is the middle"
3001 lines: "This is the trailer"
1 line: "This is the end"

STARTTEST
:%d
aThis is the start
This is the leader
This is the middle
This is the trailer
This is the end[1m[34m^[[0mkY3000p2GY3000p
:w! Xtest
:%d
:e! Xtest
:.w! test.out
3003G:.w >>test.out
6005G:.w >>test.out
:qa!
ENDTEST

[1m[34m~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTest for writing and reading a file of over 100 Kbyte[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[9;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[10;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 13 lines, 196 characters written[10;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[10;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[23;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[24;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h%d[?25l[1;1H[K[2;1H[1m[34m~                                                                                                   [3;1H~                                                                                                   [4;1H~                                                                                                   [5;1H~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [0m[36;1H--No lines in buffer--[1;1H[34h[?25h[?25lThis is the start
This is the leader[2;19H[K[3;1HThis is the middle[3;19H[K[4;1HThis is the trailer[4;20H[K[5;1HThis is the end[5;16H[K[5;15H[34h[?25h[4;15H[?25l[36;1H3000 more lines[36;16H[K[5;13Htrailer
This is the trailer[6;20H[K[7;1HThis is the trailer[7;20H[K[8;1HThis is the trailer[8;20H[K[9;1HThis is the trailer[9;20H[K[10;1HThis is the trailer[10;20H[K[11;1HThis is the trailer[11;20H[K[12;1HThis is the trailer[12;20H[K[13;1HThis is the trailer[13;20H[K[14;1HThis is the trailer[14;20H[K[15;1HThis is the trailer[15;20H[K[16;1HThis is the trailer[16;20H[K[17;1HThis is the trailer[17;20H[K[18;1HThis is the trailer[18;20H[K[19;1HThis is the trailer[19;20H[K[20;1HThis is the trailer[20;20H[K[21;1HThis is the trailer[21;20H[K[22;1HThis is the trailer[22;20H[K[23;1HThis is the trailer[23;20H[K[24;1HThis is the trailer[24;20H[K[25;1HThis is the trailer[25;20H[K[26;1HThis is the trailer[26;20H[K[27;1HThis is the trailer[27;20H[K[28;1HThis is the trailer[28;20H[K[29;1HThis is the trailer[29;20H[K[30;1HThis is the trailer[30;20H[K[31;1HThis is the trailer[31;20H[K[32;1HThis is the trailer[32;20H[K[33;1HThis is the trailer[33;20H[K[34;1HThis is the trailer[34;20H[K[35;1HThis is the trailer[35;20H[K[5;1H[34h[?25h[2;1H[?25l[3;13Hleader[4;13Hleader[4;19H[K[5;13Hleader[5;19H[K[6;13Hleader[6;19H[K[7;13Hleader[7;19H[K[8;13Hleader[8;19H[K[9;13Hleader[9;19H[K[10;13Hleader[10;19H[K[11;13Hleader[11;19H[K[12;13Hleader[12;19H[K[13;13Hleader[13;19H[K[14;13Hleader[14;19H[K[15;13Hleader[15;19H[K[16;13Hleader[16;19H[K[17;13Hleader[17;19H[K[18;13Hleader[18;19H[K[19;13Hleader[19;19H[K[20;13Hleader[20;19H[K[21;13Hleader[21;19H[K[22;13Hleader[22;19H[K[23;13Hleader[23;19H[K[24;13Hleader[24;19H[K[25;13Hleader[25;19H[K[26;13Hleader[26;19H[K[27;13Hleader[27;19H[K[28;13Hleader[28;19H[K[29;13Hleader[29;19H[K[30;13Hleader[30;19H[K[31;13Hleader[31;19H[K[32;13Hleader[32;19H[K[33;13Hleader[33;19H[K[34;13Hleader[34;19H[K[35;13Hleader[35;19H[K[3;1H[34h[?25h
[?25l[36;1H[K[36;1H:[34h[?25hw! Xtest[?25l"Xtest" [36;9H[K[36;9H[New File] 6005 lines, 117092 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h%d[?25l[1;1H[K[2;1H[1m[34m~                                                                                                   [3;1H~                                                                                                   [4;1H~                                                                                                   [5;1H~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [0m[36;1H--No lines in buffer--[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! Xtest[?25l"Xtest" [36;9H[K[36;9H6005 lines, 117092 characters[1;1HThis is the start
This is the leader[2;19H[K[3;1HThis is the leader[3;19H[K[4;1HThis is the leader[4;19H[K[5;1HThis is the leader[5;19H[K[6;1HThis is the leader[6;19H[K[7;1HThis is the leader[7;19H[K[8;1HThis is the leader[8;19H[K[9;1HThis is the leader[9;19H[K[10;1HThis is the leader[10;19H[K[11;1HThis is the leader[11;19H[K[12;1HThis is the leader[12;19H[K[13;1HThis is the leader[13;19H[K[14;1HThis is the leader[14;19H[K[15;1HThis is the leader[15;19H[K[16;1HThis is the leader[16;19H[K[17;1HThis is the leader[17;19H[K[18;1HThis is the leader[18;19H[K[19;1HThis is the leader[19;19H[K[20;1HThis is the leader[20;19H[K[21;1HThis is the leader[21;19H[K[22;1HThis is the leader[22;19H[K[23;1HThis is the leader[23;19H[K[24;1HThis is the leader[24;19H[K[25;1HThis is the leader[25;19H[K[26;1HThis is the leader[26;19H[K[27;1HThis is the leader[27;19H[K[28;1HThis is the leader[28;19H[K[29;1HThis is the leader[29;19H[K[30;1HThis is the leader[30;19H[K[31;1HThis is the leader[31;19H[K[32;1HThis is the leader[32;19H[K[33;1HThis is the leader[33;19H[K[34;1HThis is the leader[34;19H[K[35;1HThis is the leader[35;19H[K[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.w! test.out[?25l"test.out" [36;12H[K[36;12H[New File] 1 line, 18 characters written[1;1H[34h[?25h[?25l[23m[24m[0m[H[J[1;1HThis is the leader
This is the leader
This is the leader
This is the leader
This is the leader
This is the leader
This is the leader
This is the leader
This is the leader
This is the leader
This is the leader
This is the leader
This is the leader
This is the leader
This is the leader
This is the leader
This is the leader
This is the middle
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer[18;1H[34h[?25h[?25l[36;1H:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 19 characters appended[18;1H[34h[?25h[?25l[23m[24m[0m[H[J[1;1HThis is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the trailer
This is the end[34h[?25h[?25l
:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 16 characters appended[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test42.failed test.ok test.out X* viminfo
cp test42.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test42.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test42.in" 130 lines, 2368 characters[1;1HTest for writing and reading a file starting with a BOM

STARTTEST
:so mbyte.vim
:set encoding=utf-8
:set fileencodings=ucs-bom,latin-1
:set ff=unix ffs=unix[11C" This changes the file for DOS and MAC
:" --- Write the test files
:/^latin-1$/+1w! Xtest0
:/^utf-8$/+1w! Xtest1
:/^utf-8-err$/+1w! Xtest2
:/^ucs-2$/+1w! Xtest3
:/^ucs-2le$/+1w! Xtest4
:" Need to add a NUL byte after the NL byte
:set bin
:e! Xtest4[22C" Ignore change from setting 'ff'
o[1m[34m^V^@^[[0m:set noeol
:w
:set ffs& nobinary[14C" Allow default test42.in format
:e #
:set ff=unix[20C" Format for files to write
:/^ucs-4$/+1w! Xtest5
:/^ucs-4le$/+1w! Xtest6
:" Need to add three NUL bytes after the NL byte
:set bin
:e! Xtest6[22C" ! for when setting 'ff' is a change
o[1m[34m^V^@^V^@^V^@^[[0m:set noeol
:w
:set nobin
:e #
:"
:" --- Check that editing a latin-1 file doesn't see a BOM
:e! Xtest0
:redir! >test.out
:set fileencoding bomb?[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTest for writing and reading a file starting with a BOM[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[3;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[4;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 111 lines, 2116 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[4;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[23m[24m[0m[H[J[1;1H:redir END
:set fenc=latin-1
:w >>test.out
:set fenc=ucs-4le
:w! Xtest6x
:"
:" --- Check the files written with BOM
:set bin
:e! test.out
:$r Xtest0x
:$r Xtest1x
:$r Xtest2x
:$r Xtest3x
:$r Xtest4x
:$r Xtest5x
:$r Xtest6x
:set nobin ff&[15C" Write the file in default format
:w! test.out
:qa!
ENDTEST

latin-1
þþlatin-1
utf-8
ï»¿utf-8
utf-8-err
ï»¿utf-8[1m[34m~@[0merr
ucs-2
þÿ[1m[34m^@[0mu[1m[34m^@[0mc[1m[34m^@[0ms[1m[34m^@[0m-[1m[34m^@[0m2[1m[34m^@[0m
ucs-2le
ÿþu[1m[34m^@[0mc[1m[34m^@[0ms[1m[34m^@[0m-[1m[34m^@[0m2[1m[34m^@[0ml[1m[34m^@[0me[1m[34m^@[0m
ucs-4
[1m[34m^@^@[0mþÿ[1m[34m^@^@^@[0mu[1m[34m^@^@^@[0mc[1m[34m^@^@^@[0ms[1m[34m^@^@^@[0m-[1m[34m^@^@^@[0m4[1m[34m^@^@^@[0m
ucs-4le
ÿþ[1m[34m^@^@[0mu[1m[34m^@^@^@[0mc[1m[34m^@^@^@[0ms[1m[34m^@^@^@[0m-[1m[34m^@^@^@[0m4[1m[34m^@^@^@[0ml[1m[34m^@^@^@[0me[1m[34m^@^@^@[20;1H[34h[?25h
[?25l[36;1H[0m:so! Xdotest[21;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso mbyte.vim[?25l[21;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset encoding=utf-8[?25l[23m[24m[0m[H[J[1;1H:redir END
:set fenc=latin-1
:w >>test.out
:set fenc=ucs-4le
:w! Xtest6x
:"
:" --- Check the files written with BOM
:set bin
:e! test.out
:$r Xtest0x
:$r Xtest1x
:$r Xtest2x
:$r Xtest3x
:$r Xtest4x
:$r Xtest5x
:$r Xtest6x
:set nobin ff&[15C" Write the file in default format
:w! test.out
:qa!
ENDTEST

latin-1
[1m[34m<fe><fe>[0mlatin-1
utf-8
[1m[34m<feff>[0mutf-8
utf-8-err
[1m[34m<feff>[0mutf-8[1m[34m<80>[0merr
ucs-2
[1m[34m<fe><ff>^@[0mu[1m[34m^@[0mc[1m[34m^@[0ms[1m[34m^@[0m-[1m[34m^@[0m2[1m[34m^@[0m
ucs-2le
[1m[34m<ff><fe>[0mu[1m[34m^@[0mc[1m[34m^@[0ms[1m[34m^@[0m-[1m[34m^@[0m2[1m[34m^@[0ml[1m[34m^@[0me[1m[34m^@[0m
ucs-4
[1m[34m^@^@<fe><ff>^@^@^@[0mu[1m[34m^@^@^@[0mc[1m[34m^@^@^@[0ms[1m[34m^@^@^@[0m-[1m[34m^@^@^@[0m4[1m[34m^@^@^@[0m
ucs-4le
[1m[34m<ff><fe>^@^@[0mu[1m[34m^@^@^@[0mc[1m[34m^@^@^@[0ms[1m[34m^@^@^@[0m-[1m[34m^@^@^@[0m4[1m[34m^@^@^@[0ml[1m[34m^@^@^@[0me[1m[34m^@^@^@[21;1H[34h[?25h[?25l[36;1H[0m:[34h[?25hset fileencodings=ucs-bom,latin-1[?25l[21;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset ff=unix ffs=unix           " This changes the file for DOS and MAC[?25l[21;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" --- Write the test files[?25l[21;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^latin-1$/+1w! Xtest0[?25l"Xtest0" [36;10H[K[36;1H"Xtest0" [New File] 1 line, 10 characters written"Xtest0" [New File] 1 line, 10 characters written[21;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^utf-8$/+1w! Xtest1[?25l"Xtest1" [36;10H[K[36;1H"Xtest1" [New File] 1 line, 9 characters written"Xtest1" [New File] 1 line, 9 characters written[21;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^utf-8-err$/+1w! Xtest2[?25l"Xtest2" [36;10H[K[36;1H"Xtest2" [New File] 1 line, 13 characters written"Xtest2" [New File] 1 line, 13 characters written[21;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^ucs-2$/+1w! Xtest3[?25l"Xtest3" [36;10H[K[36;1H"Xtest3" [New File] 1 line, 14 characters written"Xtest3" [New File] 1 line, 14 characters written[21;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^ucs-2le$/+1w! Xtest4[?25l"Xtest4" [36;10H[K[36;1H"Xtest4" [New File] 1 line, 17 characters written"Xtest4" [New File] 1 line, 17 characters written[21;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" Need to add a NUL byte after the NL byte[?25l[21;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset bin[?25l[21;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! Xtest4                      " Ignore change from setting 'ff'[?25l"Xtest4" [36;10H[K[36;1H"Xtest4" 1 line, 17 characters[1;1H[1m[34m<ff><fe>[0mu[1m[34m^@[0mc[1m[34m^@[0ms[1m[34m^@[0m-[1m[34m^@[0m2[1m[34m^@[0ml[1m[34m^@[0me[1m[34m^@
~                                                                                                   [3;1H~                                                                                                   [4;1H~                                                                                                   [5;1H~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h
[?25l^@[0m[2;3H[K[2;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset noeol[?25l[2;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw[?25l"Xtest4" "Xtest4" [Incomplete last line] 2 lines, 18 characters written"Xtest4" [Incomplete last line] 2 lines, 18 characters written[2;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset ffs& nobinary              " Allow default test42.in format[?25l[2;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he #[?25l"test42.in" "test42.in" [converted] 130 lines, 2385 characters[1;1H:redir END[1;11H[K[2;1H:set fenc=latin-1
:w >>test.out[3;14H[K[4;1H:set fenc=ucs-4le[4;18H[K[5;1H:w! Xtest6x[5;12H[K[6;1H:"[6;3H[K[7;1H:" --- Check the files written with BOM[7;40H[K[8;1H:set bin[8;9H[K[9;1H:e! test.out[9;13H[K[10;1H:$r Xtest0x[10;12H[K[11;1H:$r Xtest1x[11;12H[K[12;1H:$r Xtest2x[12;12H[K[13;1H:$r Xtest3x[13;12H[K[14;1H:$r Xtest4x[14;12H[K[15;1H:$r Xtest5x[15;12H[K[16;1H:$r Xtest6x[16;12H[K[17;1H:set nobin ff&               " Write the file in default format[17;64H[K[18;1H:w! test.out[18;13H[K[19;1H:qa![19;5H[K[20;1HENDTEST[20;8H[K[21;1H[K[22;1Hlatin-1[22;8H[K[23;1HÃ¾Ã¾latin-1[23;10H[K[24;1Hutf-8[24;6H[K[25;1HÃ¯Â»Â¿utf-8[25;9H[K[26;1Hutf-8-err[26;10H[K[27;1HÃ¯Â»Â¿utf-8[1m[34m<80>[0merr[27;16H[K[28;1Hucs-2[28;6H[K[29;1HÃ¾Ã¿[1m[34m^@[0mu[1m[34m^@[0mc[1m[34m^@[0ms[1m[34m^@[0m-[1m[34m^@[0m2[1m[34m^@[0m[29;20H[K[30;1Hucs-2le[30;8H[K[31;1HÃ¿Ã¾u[1m[34m^@[0mc[1m[34m^@[0ms[1m[34m^@[0m-[1m[34m^@[0m2[1m[34m^@[0ml[1m[34m^@[0me[1m[34m^@[0m[31;24H[K[32;1Hucs-4[32;6H[K[33;1H[1m[34m^@^@[0mÃ¾Ã¿[1m[34m^@^@^@[0mu[1m[34m^@^@^@[0mc[1m[34m^@^@^@[0ms[1m[34m^@^@^@[0m-[1m[34m^@^@^@[0m4[1m[34m^@^@^@[0m[33;48H[K[34;1Hucs-4le[34;8H[K[35;1HÃ¿Ã¾[1m[34m^@^@[0mu[1m[34m^@^@^@[0mc[1m[34m^@^@^@[0ms[1m[34m^@^@^@[0m-[1m[34m^@^@^@[0m4[1m[34m^@^@^@[0ml[1m[34m^@^@^@[0me[1m[34m^@^@^@[0m[35;56H[K[21;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset ff=unix                    " Format for files to write[?25l[21;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^ucs-4$/+1w! Xtest5[?25l"Xtest5" [36;10H[K[36;1H"Xtest5" [converted][New File] 1 line, 30 characters written"Xtest5" [converted][New File] 1 line, 30 characters written[21;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^ucs-4le$/+1w! Xtest6[?25l"Xtest6" [36;10H[K[36;1H"Xtest6" [converted][New File] 1 line, 35 characters written"Xtest6" [converted][New File] 1 line, 35 characters written[21;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" Need to add three NUL bytes after the NL byte[?25l[21;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset bin[?25l[21;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! Xtest6                      " ! for when setting 'ff' is a change[?25l"Xtest6" [36;10H[K[36;1H"Xtest6" 1 line, 33 characters[1;1H[1m[34m<ff><fe>^@^@[0mu[1m[34m^@^@^@[0mc[1m[34m^@^@^@[0ms[1m[34m^@^@^@[0m-[1m[34m^@^@^@[0m4[1m[34m^@^@^@[0ml[1m[34m^@^@^@[0me[1m[34m^@^@^@
~                                                                                                   [3;1H~                                                                                                   [4;1H~                                                                                                   [5;1H~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h
~   [?25l^@^@^@[0m[2;7H[K[2;5H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset noeol[?25l[2;5H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw[?25l"Xtest6" "Xtest6" [Incomplete last line] 2 lines, 36 characters written"Xtest6" [Incomplete last line] 2 lines, 36 characters written[2;5H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset nobin[?25l[2;5H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he #[?25l"test42.in" "test42.in" [converted] 130 lines, 2385 characters[1;1H:redir END[1;11H[K[2;1H:set fenc=latin-1
:w >>test.out[3;14H[K[4;1H:set fenc=ucs-4le[4;18H[K[5;1H:w! Xtest6x[5;12H[K[6;1H:"[6;3H[K[7;1H:" --- Check the files written with BOM[7;40H[K[8;1H:set bin[8;9H[K[9;1H:e! test.out[9;13H[K[10;1H:$r Xtest0x[10;12H[K[11;1H:$r Xtest1x[11;12H[K[12;1H:$r Xtest2x[12;12H[K[13;1H:$r Xtest3x[13;12H[K[14;1H:$r Xtest4x[14;12H[K[15;1H:$r Xtest5x[15;12H[K[16;1H:$r Xtest6x[16;12H[K[17;1H:set nobin ff&               " Write the file in default format[17;64H[K[18;1H:w! test.out[18;13H[K[19;1H:qa![19;5H[K[20;1HENDTEST[20;8H[K[21;1H[K[22;1Hlatin-1[22;8H[K[23;1HÃ¾Ã¾latin-1[23;10H[K[24;1Hutf-8[24;6H[K[25;1HÃ¯Â»Â¿utf-8[25;9H[K[26;1Hutf-8-err[26;10H[K[27;1HÃ¯Â»Â¿utf-8[1m[34m<80>[0merr[27;16H[K[28;1Hucs-2[28;6H[K[29;1HÃ¾Ã¿[1m[34m^@[0mu[1m[34m^@[0mc[1m[34m^@[0ms[1m[34m^@[0m-[1m[34m^@[0m2[1m[34m^@[0m[29;20H[K[30;1Hucs-2le[30;8H[K[31;1HÃ¿Ã¾u[1m[34m^@[0mc[1m[34m^@[0ms[1m[34m^@[0m-[1m[34m^@[0m2[1m[34m^@[0ml[1m[34m^@[0me[1m[34m^@[0m[31;24H[K[32;1Hucs-4[32;6H[K[33;1H[1m[34m^@^@[0mÃ¾Ã¿[1m[34m^@^@^@[0mu[1m[34m^@^@^@[0mc[1m[34m^@^@^@[0ms[1m[34m^@^@^@[0m-[1m[34m^@^@^@[0m4[1m[34m^@^@^@[0m[33;48H[K[34;1Hucs-4le[34;8H[K[35;1HÃ¿Ã¾[1m[34m^@^@[0mu[1m[34m^@^@^@[0mc[1m[34m^@^@^@[0ms[1m[34m^@^@^@[0m-[1m[34m^@^@^@[0m4[1m[34m^@^@^@[0ml[1m[34m^@^@^@[0me[1m[34m^@^@^@[0m[35;56H[K[21;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[21;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" --- Check that editing a latin-1 file doesn't see a BOM[?25l[21;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! Xtest0[?25l"Xtest0" [36;10H[K[36;1H"Xtest0" [converted] 1 line, 12 characters[1;1HÃ¾Ã¾latin-1[1;10H[K[2;1H[1m[34m~                                                                                                   [3;1H~                                                                                                   [4;1H~                                                                                                   [5;1H~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hredir! >test.out[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset fileencoding bomb?[?25l[36;1H[K[36;1H  fileencoding=latin1
nobomb
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hredir END[?25l[1;1H[2L[1;1HÃ¾Ã¾latin-1
[1m[34m~                                                                                                   [0m[36;3H[K[1;1H[34h[?25h[?25l[36;1H:[34h[?25hset fenc=latin-1[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>test.out[?25l"test.out" [36;12H[K[36;1H"test.out" [converted] 1 line, 12 characters appended"test.out" [converted] 1 line, 12 characters appended[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset bomb fenc=latin-1[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw! Xtest0x[?25l"Xtest0x" [36;11H[K[36;1H"Xtest0x" [converted][New File] 1 line, 12 characters written"Xtest0x" [converted][New File] 1 line, 12 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" --- Check utf-8[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! Xtest1[?25l"Xtest1" [36;10H[K[36;1H"Xtest1" 1 line, 9 characters[1;1Hutf-8[1;6H[K[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hredir >>test.out[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset fileencoding bomb?[?25l[36;1H[K[36;1H  fileencoding=utf-8
  bomb
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hredir END[?25l[1;1H[2L[1;1Hutf-8
[1m[34m~                                                                                                   [0m[36;3H[K[1;1H[34h[?25h[?25l[36;1H:[34h[?25hset fenc=latin-1[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>test.out[?25l"test.out" [36;12H[K[36;1H"test.out" [converted] 1 line, 6 characters appended"test.out" [converted] 1 line, 6 characters appended[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset fenc=utf-8[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw! Xtest1x[?25l"Xtest1x" [36;11H[K[36;1H"Xtest1x" [New File] 1 line, 9 characters written"Xtest1x" [New File] 1 line, 9 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" --- Check utf-8 with an error (will fall back to latin-1)[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! Xtest2[?25l"Xtest2" [36;10H[K[36;1H"Xtest2" [converted] 1 line, 17 characters[1;1HÃ¯Â»Â¿utf-8[1m[34m<80>[0merr[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hredir >>test.out[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset fileencoding bomb?[?25l[36;1H[K[36;1H  fileencoding=latin1
nobomb
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hredir END[?25l[1;1H[2L[1;1HÃ¯Â»Â¿utf-8[1m[34m<80>[0merr
[1m[34m~                                                                                                   [0m[36;3H[K[1;1H[34h[?25h[?25l[36;1H:[34h[?25hset fenc=latin-1[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>test.out[?25l"test.out" [36;12H[K[36;1H"test.out" [converted] 1 line, 17 characters appended"test.out" [converted] 1 line, 17 characters appended[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset fenc=utf-8[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw! Xtest2x[?25l"Xtest2x" [36;11H[K[36;1H"Xtest2x" [New File] 1 line, 17 characters written"Xtest2x" [New File] 1 line, 17 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" --- Check ucs-2[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! Xtest3[?25l"Xtest3" [36;10H[K[36;1H"Xtest3" [converted] 1 line, 8 characters[1;1Hucs-2[1;6H[K[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hredir >>test.out[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset fileencoding bomb?[?25l[36;1H[K[36;1H  fileencoding=ucs-2
  bomb
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hredir END[?25l[1;1H[2L[1;1Hucs-2
[1m[34m~                                                                                                   [0m[36;3H[K[1;1H[34h[?25h[?25l[36;1H:[34h[?25hset fenc=latin-1[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>test.out[?25l"test.out" [36;12H[K[36;1H"test.out" [converted] 1 line, 6 characters appended"test.out" [converted] 1 line, 6 characters appended[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset fenc=ucs-2[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw! Xtest3x[?25l"Xtest3x" [36;11H[K[36;1H"Xtest3x" [converted][New File] 1 line, 8 characters written"Xtest3x" [converted][New File] 1 line, 8 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" --- Check ucs-2le[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! Xtest4[?25l"Xtest4" [36;10H[K[36;1H"Xtest4" [converted] 1 line, 10 characters[1;6Hle[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hredir >>test.out[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset fileencoding bomb?[?25l[36;1H[K[36;1H  fileencoding=ucs-2le
  bomb
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hredir END[?25l[1;1H[2L[1;1Hucs-2le
[1m[34m~                                                                                                   [0m[36;3H[K[1;1H[34h[?25h[?25l[36;1H:[34h[?25hset fenc=latin-1[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>test.out[?25l"test.out" [36;12H[K[36;1H"test.out" [converted] 1 line, 8 characters appended"test.out" [converted] 1 line, 8 characters appended[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset fenc=ucs-2le[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw! Xtest4x[?25l"Xtest4x" [36;11H[K[36;1H"Xtest4x" [converted][New File] 1 line, 10 characters written"Xtest4x" [converted][New File] 1 line, 10 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" --- Check ucs-4[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! Xtest5[?25l"Xtest5" [36;10H[K[36;1H"Xtest5" [converted] 1 line, 10 characters[1;5H4[1;6H[K[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hredir >>test.out[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset fileencoding bomb?[?25l[36;1H[K[36;1H  fileencoding=ucs-4
  bomb
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hredir END[?25l[1;1H[2L[1;1Hucs-4
[1m[34m~                                                                                                   [0m[36;3H[K[1;1H[34h[?25h[?25l[36;1H:[34h[?25hset fenc=latin-1[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>test.out[?25l"test.out" [36;12H[K[36;1H"test.out" [converted] 1 line, 6 characters appended"test.out" [converted] 1 line, 6 characters appended[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset fenc=ucs-4[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw! Xtest5x[?25l"Xtest5x" [36;11H[K[36;1H"Xtest5x" [converted][New File] 1 line, 10 characters written"Xtest5x" [converted][New File] 1 line, 10 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" --- Check ucs-4le[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! Xtest6[?25l"Xtest6" [36;10H[K[36;1H"Xtest6" [converted] 1 line, 12 characters[1;6Hle[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hredir >>test.out[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset fileencoding bomb?[?25l[36;1H[K[36;1H  fileencoding=ucs-4le
  bomb
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hredir END[?25l[1;1H[2L[1;1Hucs-4le
[1m[34m~                                                                                                   [0m[36;3H[K[1;1H[34h[?25h[?25l[36;1H:[34h[?25hset fenc=latin-1[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw >>test.out[?25l"test.out" [36;12H[K[36;1H"test.out" [converted] 1 line, 8 characters appended"test.out" [converted] 1 line, 8 characters appended[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset fenc=ucs-4le[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw! Xtest6x[?25l"Xtest6x" [36;11H[K[36;1H"Xtest6x" [converted][New File] 1 line, 12 characters written"Xtest6x" [converted][New File] 1 line, 12 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" --- Check the files written with BOM[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset bin[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! test.out[?25l"test.out" [36;12H[K[36;1H"test.out" 35 lines, 273 characters[1;1H[K[2;1H[K[3;1H  fileencoding=latin1[3;22H[K[4;1Hnobomb[4;7H[K[5;1H[1m[34m<fe><fe>[0mlatin-1[5;16H[K[6;1H[K[7;1H[K[8;1H  fileencoding=utf-8[8;21H[K[9;1H  bomb[9;7H[K[10;1Hutf-8[10;6H[K[11;1H[K[12;1H[K[13;1H  fileencoding=latin1[13;22H[K[14;1Hnobomb[14;7H[K[15;1H[1m[34m<feff>[0mutf-8[1m[34m<80>[0merr[15;19H[K[16;1H[K[17;1H[K[18;1H  fileencoding=ucs-2[18;21H[K[19;1H  bomb[19;7H[K[20;1Hucs-2[20;6H[K[21;1H[K[22;1H[K[23;1H  fileencoding=ucs-2le[23;23H[K[24;1H  bomb[24;7H[K[25;1Hucs-2le[25;8H[K[26;1H[K[27;1H[K[28;1H  fileencoding=ucs-4[28;21H[K[29;1H  bomb[29;7H[K[30;1Hucs-4[30;6H[K[31;1H[K[32;1H[K[33;1H  fileencoding=ucs-4le[33;23H[K[34;1H  bomb[34;7H[K[35;1Hucs-4le[35;8H[K[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$r Xtest0x[?25l"Xtest0x" [36;11H[K[36;1H"Xtest0x" 1 line, 10 characters[1;35r[35;1H
[1;36r[35;1H[1m[34m<fe><fe>[0mlatin-1[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h$r Xtest1x[?25l"Xtest1x" [36;11H[K[36;1H"Xtest1x" 1 line, 9 characters[1;35r[35;1H
[1;36r[35;1H[1m[34m<feff>[0mutf-8[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h$r Xtest2x[?25l"Xtest2x" [36;11H[K[36;1H"Xtest2x" 1 line, 17 characters[1;35r[35;1H
[1;36r[35;1HÃ¯Â»Â¿utf-8[1m[34m<80>[0merr[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h$r Xtest3x[?25l"Xtest3x" [36;11H[K[36;1H"Xtest3x" 1 line, 14 characters[1;35r[35;1H
[1;36r[35;1H[1m[34m<fe><ff>^@[0mu[1m[34m^@[0mc[1m[34m^@[0ms[1m[34m^@[0m-[1m[34m^@[0m2[1m[34m^@[0m[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h$r Xtest4x[?25l"Xtest4x" [36;11H[K[36;1H"Xtest4x" [Incomplete last line] 2 lines, 18 characters[1;35r[35;1H
[1;36r[35;1H[1m[34m<ff><fe>[0mu[1m[34m^@[0mc[1m[34m^@[0ms[1m[34m^@[0m-[1m[34m^@[0m2[1m[34m^@[0ml[1m[34m^@[0me[1m[34m^@[0m[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h$r Xtest5x[?25l"Xtest5x" [36;11H[K[36;1H"Xtest5x" 1 line, 28 characters[1;35r[1;1H[2M[1;36r[34;1H[1m[34m^@
^@^@<fe><ff>^@^@^@[0mu[1m[34m^@^@^@[0mc[1m[34m^@^@^@[0ms[1m[34m^@^@^@[0m-[1m[34m^@^@^@[0m4[1m[34m^@^@^@[0m[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h$r Xtest6x[?25l"Xtest6x" [36;11H[K[36;1H"Xtest6x" [Incomplete last line] 2 lines, 36 characters[1;35r[35;1H
[1;36r[35;1H[1m[34m<ff><fe>^@^@[0mu[1m[34m^@^@^@[0mc[1m[34m^@^@^@[0ms[1m[34m^@^@^@[0m-[1m[34m^@^@^@[0m4[1m[34m^@^@^@[0ml[1m[34m^@^@^@[0me[1m[34m^@^@^@[0m[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25hset nobin ff&               " Write the file in default format[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw! test.out[?25l"test.out" [36;12H[K[36;1H"test.out" 44 lines, 407 characters written"test.out" 44 lines, 407 characters written[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test43.failed test.ok test.out X* viminfo
cp test43.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test43.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test43.in" 27 lines, 412 characters[1;1HTests for regexp with various magic settings.

STARTTEST
:set nocompatible viminfo+=nviminfo
/^1
/a*b\{2}c\+/e
x/\Md\*e\{2}f\+/e
x:set nomagic
/g\*h\{2}i\+/e
x/\mj*k\{2}l\+/e
x/\vm*n{2}o+/e
x/\V^aa$
x:set magic
/\v(a)(b)\2\1\1/e
x/\V[ab]\(\[xy]\)\1
x:?^1?,$w! test.out
:qa!
ENDTEST

1 a aa abb abbccc
2 d dd dee deefff
3 g gg ghh ghhiii
4 j jj jkk jkklll
5 m mm mnn mnnooo
6 x ^aa$ x
7 (a)(b) abbaa
8 axx [ab]xx
[1m[34m~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTests for regexp with various magic settings.[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[3;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[4;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 14 lines, 217 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[4;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[18;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset nocompatible viminfo+=nviminfo[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h^1[?25l[20;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25ha*b\{2}c\+/e[?25l[20;17H[34h[?25h[?25l[20;17H[K[20;16H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h\Md\*e\{2}f\+/e[?25l[21;17H[34h[?25h[?25l[21;17H[K[21;16H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset nomagic[?25l[21;16H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25hg\*h\{2}i\+/e[?25l[22;17H[34h[?25h[?25l[22;17H[K[22;16H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h\mj*k\{2}l\+/e[?25l[23;17H[34h[?25h[?25l[23;17H[K[23;16H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h\vm*n{2}o+/e[?25l[24;17H[34h[?25h[?25l[24;17H[K[24;16H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h\V^aa$[?25l[25;5H[34h[?25h[?25laa$ x[25;10H[K[25;5H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset magic[?25l[25;5H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h\v(a)(b)\2\1\1/e[?25l[26;14H[34h[?25h[?25l[26;14H[K[26;13H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h\V[ab]\(\[xy]\)\1[?25l[27;7H[34h[?25h[?25lab]x[27;12H[K[27;7H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h?^1?,$w! test.out[?25l"test.out" [36;12H[K[36;12H[New] 8L, 121C written[27;7H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test44.failed test.ok test.out X* viminfo
cp test44.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test44.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test44.in" 55 lines, 1137 characters[1;1HTests for regexp with multi-byte encoding and various magic settings.
Test matchstr() with a count and multi-byte chars.

STARTTEST
:so mbyte.vim
:set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo
/^1
/a*b\{2}c\+/e
x/\Md\*e\{2}f\+/e
x:set nomagic
/g\*h\{2}i\+/e
x/\mj*k\{2}l\+/e
x/\vm*n{2}o+/e
x/\V^aa$
x:set magic
/\v(a)(b)\2\1\1/e
x/\V[ab]\(\[xy]\)\1
x:" Now search for multi-byte without composing char
/à¸¡
x:" Now search for multi-byte with composing char
/à¸¡à¹[1m[34m~H[0m
x:" find word by change of word class
/ã[1m[34m~A[0m¡\<ã[1m[34m~B[0m«ã[1m[34m~C[0m¨\>ã[1m[34m~A[0m¯
x:" Test \%u, [\u] and friends
/\%u20ac
x/[\u4f7f\u5929]\+
x/\%U12345678
x/[\U1234abcd\u1234\uabcd]
x/\%d21879b
x:?^1?,$w! test.out
:e! test.out
G:put =matchstr(\"×[1m[34m~P[0m×[1m[34m~Q[0m×[1m[34m~R[0m×[1m[34m~S[0m\", \".\", 0, 2) " ×[1m[34m~Q[0m
:put =matchstr(\"×[1m[34m~P[0m×[1m[34m~Q[0m×[1m[34m~R[0m×[1m[34m~S[0m\", \"..\", 0, 2) " ×[1m[34m~Q[0m×[1m[34m~R[0m
:put =matchstr(\"×[1m[34m~P[0m×[1m[34m~Q[0m×[1m[34m~R[0m×[1m[34m~S[0m\", \".\", 0, 0) " ×[1m[34m~P[0m
:put =matchstr(\"×[1m[34m~P[0m×[1m[34m~Q[0m×[1m[34m~R[0m×[1m[34m~S[0m\", \".\", 4, -1) " ×[1m[34m~R[1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTests for regexp with multi-byte encoding and various magic settings.[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[4;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[5;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 33 lines, 760 characters written[5;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[5;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[1;35r[1;1H[3M[1;36r[33;1H:w!
:qa!
ENDTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso mbyte.vim[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo[?25l[23m[24m[0m[H[J[1;1H:so mbyte.vim
:set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo
/^1
/a*b\{2}c\+/e
x/\Md\*e\{2}f\+/e
x:set nomagic
/g\*h\{2}i\+/e
x/\mj*k\{2}l\+/e
x/\vm*n{2}o+/e
x/\V^aa$
x:set magic
/\v(a)(b)\2\1\1/e
x/\V[ab]\(\[xy]\)\1
x:" Now search for multi-byte without composing char
/¿
x:" Now search for multi-byte with composing char
/¿
x:" find word by change of word class
/¿?\<¿?¿?\>¿?
x:" Test \%u, [\u] and friends
/\%u20ac
x/[\u4f7f\u5929]\+
x/\%U12345678
x/[\U1234abcd\u1234\uabcd]
x/\%d21879b
x:?^1?,$w! test.out
:e! test.out
G:put =matchstr(\"¿¿¿¿\", \".\", 0, 2) " ¿
:put =matchstr(\"¿¿¿¿\", \"..\", 0, 2) " ¿¿
:put =matchstr(\"¿¿¿¿\", \".\", 0, 0) " ¿
:put =matchstr(\"¿¿¿¿\", \".\", 4, -1) " ¿
:w!
:qa!
ENDTEST
[34h[?25h[?25l
/[34h[?25h^1[?25l/^1[1;35r[35;1H
[1;36r[35;1H1 a aa abb abbccc[36;1H[K[35;1H[34h[?25h[?25l
/[34h[?25ha*b\{2}c\+/e[?25l/a*b\{2}c\+/e[35;17H[34h[?25h[?25l[35;17H[K[35;16H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h\Md\*e\{2}f\+/e[?25l/\Md\*e\{2}f\+/e[1;35r[35;1H
[1;36r[35;1H2 d dd dee deefff[36;1H[K[35;17H[34h[?25h[?25l[35;17H[K[35;16H[34h[?25h[?25l
:[34h[?25hset nomagic[?25l[35;16H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25hg\*h\{2}i\+/e[?25l/g\*h\{2}i\+/e[1;35r[35;1H
[1;36r[35;1H3 g gg ghh ghhiii[36;1H[K[35;17H[34h[?25h[?25l[35;17H[K[35;16H[34h[?25h[?25l
/[34h[?25h\mj*k\{2}l\+/e[?25l/\mj*k\{2}l\+/e[1;35r[35;1H
[1;36r[35;1H4 j jj jkk jkklll[36;1H[K[35;17H[34h[?25h[?25l[35;17H[K[35;16H[34h[?25h[?25l
/[34h[?25h\vm*n{2}o+/e[?25l/\vm*n{2}o+/e[1;35r[35;1H
[1;36r[35;1H5 m mm mnn mnnooo[36;1H[K[35;17H[34h[?25h[?25l[35;17H[K[35;16H[34h[?25h[?25l
/[34h[?25h\V^aa$[?25l/\V^aa$[1;35r[35;1H
[1;36r[35;1H6 x ^aa$ x[36;1H[K[35;5H[34h[?25h[?25laa$ x[35;10H[K[35;5H[34h[?25h[?25l
:[34h[?25hset magic[?25l[35;5H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h\v(a)(b)\2\1\1/e[?25l/\v(a)(b)\2\1\1/e[1;35r[35;1H
[1;36r[35;1H7 (a)(b) abbaa[36;1H[K[35;14H[34h[?25h[?25l[35;14H[K[35;13H[34h[?25h[?25l
/[34h[?25h\V[ab]\(\[xy]\)\1[?25l/\V[ab]\(\[xy]\)\1[1;35r[35;1H
[1;36r[35;1H8 axx [ab]xx[36;1H[K[35;7H[34h[?25h[?25lab]x[35;12H[K[35;7H[34h[?25h[?25l
:[34h[?25h" Now search for multi-byte without composing char[?25l[35;7H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h¿[?25l/[1;35r[35;1H
[1;36r[35;1H9 ¿¿x ¿¿x[36;1H[K[35;8H[34h[?25h[?25lx[35;9H[K[35;8H[34h[?25h[?25l
:[34h[?25h" Now search for multi-byte with composing char[?25l[35;8H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h¿¿[?25l/[1;35r[35;1H
[1;36r[35;1Ha ¿¿x ¿¿x[36;1H[K[35;8H[34h[?25h[?25lx[35;9H[K[35;8H[34h[?25h[?25l
:[34h[?25h" find word by change of word class[?25l[35;8H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h¿?\<¿?¿?\>¿?[?25l/[2C\<[4C\>[1;35r[35;1H
[1;36r[35;1Hb ¿?¿?¿?¿?[36;1H[K[35;3H[34h[?25h[?25l¿?¿?¿?[35;9H[K[35;3H[34h[?25h[?25l
:[34h[?25h" Test \%u, [\u] and friends[?25l[35;3H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h\%u20ac[?25l/\%u20ac[1;35r[35;1H
[1;36r[35;1Hc x ¬¿x[36;1H[K[35;6H[34h[?25h[?25lx[35;7H[K[35;6H[34h[?25h[?25l
/[34h[?25h[\u4f7f\u5929]\+[?25l/[\u4f7f\u5929]\+[1;35r[35;1H
[1;36r[35;1Hd ¿?¿?x[36;1H[K[35;3H[34h[?25h[?25l¿?x [35;7H[K[35;3H[34h[?25h[?25l
/[34h[?25h\%U12345678[?25l/\%U12345678[1;35r[35;1H
[1;36r[35;1He [1m[34m?[0my[36;1H[K[35;3H[34h[?25h[?25ly[35;4H[K[35;3H[34h[?25h[?25l
/[34h[?25h[\U1234abcd\u1234\uabcd][?25l/[\U1234abcd\u1234\uabcd][1;35r[35;1H
[1;36r[35;1Hf [1m[34m?[0mz[36;1H[K[35;3H[34h[?25h[?25lz[35;4H[K[35;3H[34h[?25h[?25l
/[34h[?25h\%d21879b[?25l/\%d21879b[1;35r[35;1H
[1;36r[35;1Hg a¿?bb[36;1H[K[35;4H[34h[?25h[?25lbb[35;6H[K[35;4H[34h[?25h[?25l
:[34h[?25h?^1?,$w! test.out[?25l"test.out" [36;12H[K[36;1H"test.out" [New] 16L, 195C written"test.out" [New] 16L, 195C written[35;4H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he! test.out[?25l"test.out" [36;12H[K[36;1H"test.out" 16L, 195C[1;1H1 a aa abb abbcc
2 d dd dee deeff[2;18H[K[3;1H3 g gg ghh ghhii
4 j jj jkk jkkll[4;17H[K[5;1H5 m mm mnn mnnoo
6 x aa$ x[6;10H[K[7;1H7 (a)(b) abba
8 axx ab]xx[8;12H[K[9;1H9 ¿¿x ¿x[9;9H[K[10;1Ha ¿¿x ¿x[10;9H[K[11;1Hb ¿?¿?¿?[11;9H[K[12;1Hc x ¬x[12;7H[K[13;1Hd ¿?x[13;6H[K[14;1He y[14;4H[K[15;1Hf z[15;4H[K[16;1Hg abb
[1m[34m~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[16;1H[?25l[0m[36;1H[K[36;1H:[34h[?25hput =matchstr(\"¿¿¿¿\", \".\", 0, 2) " ¿[?25l[17;1H¿[17;2H[K[17;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hput =matchstr(\"¿¿¿¿\", \"..\", 0, 2) " ¿¿[?25l[18;1H¿¿[18;3H[K[18;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hput =matchstr(\"¿¿¿¿\", \".\", 0, 0) " ¿[?25l[19;1H¿[19;2H[K[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hput =matchstr(\"¿¿¿¿\", \".\", 4, -1) " ¿[?25l[20;1H¿[20;2H[K[20;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw![?25l"test.out" "test.out" 20L, 209C written"test.out" 20L, 209C written[20;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test45.failed test.ok test.out X* viminfo
cp test45.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test45.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test45.in" 72 lines, 1498 characters[1;1HTests for folding. vim: set ft=vim :

STARTTEST
:so small.vim
:" We also need the +syntax feature here.
:if !has("syntax")
   e! test.ok
   w! test.out
   qa!
:endif
:" basic test if a fold can be created, opened, moving to the end and closed
/^1
zf2j:call append("$", "manual " . getline(foldclosed(".")))
zo:call append("$", foldclosed("."))
]z:call append("$", getline("."))
zc:call append("$", getline(foldclosed(".")))
:" test folding with markers.
:set fdm=marker fdl=1 fdc=3
/^5
:call append("$", "marker " . foldlevel("."))
[z:call append("$", foldlevel("."))
jo{{ [1m[34m^[[0mr{jj:call append("$", foldlevel("."))
kYpj:call append("$", foldlevel("."))
:" test folding with indent
:set fdm=indent sw=2
/^2 b
i  [1m[34m^[[0mjI    [1m[34m^[[0m:call append("$", "indent " . foldlevel("."))
k:call append("$", foldlevel("."))
:" test syntax folding
:set fdm=syntax fdl=0
:syn region Hup start="dd" end="hh" fold
Gzk:call append("$", "folding " . getline("."))
k:call append("$", getline("."))
:" test expression folding
:fun Flvl()[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTests for folding. vim: set ft=vim :[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[3;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[4;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 55 lines, 1365 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[4;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[23m[24m[0m[H[J[1;5Hreturn 2
  elseif l =~ "gg$"
    return "s1"
  elseif l =~ "ii$"
    return ">2"
  elseif l =~ "kk$"
    return "0"
  endif
  return "="
endfun
:set fdm=expr fde=Flvl()
/bb$
:call append("$", "expr " . foldlevel("."))
/hh$
:call append("$", foldlevel("."))
/ii$
:call append("$", foldlevel("."))
/kk$
:call append("$", foldlevel("."))
:/^last/+1,$w! test.out
:qa!
ENDTEST

1 aa
2 bb
3 cc
4 dd {{{
5 ee {{{ }}}
6 ff }}}
7 gg
8 hh
9 ii
a jj
b kk
last[22;1H[34h[?25h
[?25l[36;1H:so! Xdotest[23;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[23;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" We also need the +syntax feature here.[?25l[23;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hif !has("syntax")[?25l
:  [34h[?25h   e! test.ok
[?25l:  [34h[?25h   w! test.out
[?25l:  [34h[?25h   qa!
[?25l:  [34h[?25h:endif[1;1H[4L[?25l[1;5Hreturn 2
  elseif l =~ "gg$"
    return "s1"
  elseif l =~ "ii$"[36;1H[K[23;1H[34h[?25h[?25l[36;1H:[34h[?25h" basic test if a fold can be created, opened, moving to the end and closed[?25l[23;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h^1[?25l[24;1H[34h[?25h[?25l[1m[36m[40m+--  3 lines: 1 aa----------------------------------------------------------------------------------[0m[25;1H4 dd {{{
5 ee {{{ }}}
6 ff }}}
7 gg[28;6H[K[29;1H8 hh[29;6H[K[30;1H9 ii
a jj
b kk
last
[1m[34m~                                                                                                   [35;1H~                                                                                                   [24;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hcall append("$", "manual " . getline(foldclosed(".")))[?25l[34;1Hmanual 1 aa[34;12H[K[24;1H[34h[?25h[?25l1 aa[24;5H[K[25;1H2 bb[25;6H[K[26;1H3 cc[26;6H[K[27;1H4 dd {{{
5 ee {{{ }}}
6 ff }}}
7 gg
8 hh
9 ii
a jj
b kk[34;5H[K[35;1Hlast[35;5H[K[24;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hcall append("$", foldclosed("."))[?25l[24;1H[34h[?25h

[?25l[36;1H[K[36;1H:[34h[?25hcall append("$", getline("."))[?25l[26;1H[34h[?25h[?25l[24;1H[1m[36m[40m+--  3 lines: 1 aa----------------------------------------------------------------------------------[0m[25;1H4 dd {{{
5 ee {{{ }}}
6 ff }}}
7 gg[28;6H[K[29;1H8 hh[29;6H[K[30;1H9 ii
a jj
b kk
last
manual 1 aa
-1[35;3H[K[24;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hcall append("$", getline(foldclosed(".")))[?25l[24;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" test folding with markers.[?25l[24;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset fdm=marker fdl=1 fdc=3[?25l[1;1H[1m[36m[40m   [0m    return 2
[1m[36m[40m   [0m  elseif l =~ "gg$"
[1m[36m[40m   [0m    return "s1"
[1m[36m[40m   [0m  elseif l =~ "ii$"
[1m[36m[40m   [0m    return ">2"
[1m[36m[40m   [0m  elseif l =~ "kk$"
[1m[36m[40m   [0m    return "0"
[1m[36m[40m   [0m  endif
[1m[36m[40m   [0m  return "="
[1m[36m[40m   [0mendfun
[1m[36m[40m   [0m:set fdm=expr fde=Flvl()
[1m[36m[40m   [0m/bb$
[1m[36m[40m   [0m:call append("$", "expr " . foldlevel("."))
[1m[36m[40m   [0m/hh$
[1m[36m[40m   [0m:call append("$", foldlevel("."))
[1m[36m[40m   [0m/ii$
[1m[36m[40m   [0m:call append("$", foldlevel("."))
[1m[36m[40m   [0m/kk$
[1m[36m[40m   [0m:call append("$", foldlevel("."))
[1m[36m[40m   [0m:/^last/+1,$w! test.out
[1m[36m[40m   [0m:qa!
[1m[36m[40m   [0mENDTEST
[1m[36m[40m   
   [0m1 aa[24;8H[K[25;1H[1m[36m[40m   [0m2 bb[25;8H[K[26;1H[1m[36m[40m   [0m3 cc[26;8H[K[27;1H[1m[36m[40m-  [0m4 dd {{{
[1m[36m[40m|- [0m5 ee {{{ }}}
[1m[36m[40m|  [0m6 ff }}}
[1m[36m[40m   [0m7 gg
[1m[36m[40m   [0m8 hh
[1m[36m[40m   [0m9 ii
[1m[36m[40m   [0ma jj
[1m[36m[40m   [0mb kk[34;8H[K[35;1H[1m[36m[40m   [0mlast[26;4H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h^5[?25l[28;4H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hcall append("$", "marker " . foldlevel("."))[?25l[28;4H[34h[?25h[27;4H[?25l[36;1H[K[36;1H:[34h[?25hcall append("$", foldlevel("."))[?25l[27;4H[34h[?25h[28;4H[?25l[30;35r[30;1H[L[1;36r[29;4H{{ [29;7H[K[30;1H[1m[36m[40m|  [0m6 ff }}}[36;1H[K[29;6H[34h[?25h[?25l[29;2H[1m[36m[40m-[0m[3C{[30;2H[1m[36m[40m|
|
|
|
|
|[29;6H[34h[?25h[30;6H[31;6H[?25l[36;1H[0m:[34h[?25hcall append("$", foldlevel("."))[?25l[31;6H[34h[?25h[30;6H[?25l[31;4H6 ff }}}
[1m[36m[40m [0m[2C7 gg
[1m[36m[40m [0m[2C8 hh
[1m[36m[40m [0m[2C9 ii
[1m[36m[40m [0m[2Ca jj[31;4H[34h[?25h[32;4H[?25l[36;1H[K[36;1H:[34h[?25hcall append("$", foldlevel("."))[?25l[32;4H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" test folding with indent[?25l[32;4H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset fdm=indent sw=2[?25l[1;1H[1m[36m[40m|-
|
|-
|
|-
|
|-
|
|[27;1H 
  
  
  
 
   [34h[?25h[?25l[0m[36;1H[K[36;1H/[34h[?25h^2 b[?25l[1m[31msearch hit BOTTOM, continuing at TOP[25;4H[34h[?25h[?25l[0m[1m[36m[40m-[0m[2C  2 bb[34h[?25h[26;5H[?25l[1m[36m[40m|-[0m[1C    3 cc[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hcall append("$", "indent " . foldlevel("."))[?25l[26;7H[34h[?25h[25;7H[?25l[36;1H[K[36;1H:[34h[?25hcall append("$", foldlevel("."))[?25l[25;7H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" test syntax folding[?25l[25;7H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset fdm=syntax fdl=0[?25l[1;1H[1m[36m[40m  
 
  
 
  
 
  
 
 [25;1H 
  [25;7H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hsyn region Hup start="dd" end="hh" fold[?25l[27;1H[1m[36m[40m+  +--  7 lines: 4 dd ------------------------------------------------------------------------------[0m[28;4H9 ii[28;9H[K[29;4Ha jj[30;4Hb kk[30;9H[K[31;4Hlast[31;9H[K[32;4Hmanual 1 aa[33;4H-1[33;6H[K[34;4H3 cc[35;4H1 aa[25;7H[34h[?25h[?25l[1;35r[1;1H[6M[1;36r[30;1H[1m[36m[40m   [0mmarker 2
[1m[36m[40m   [0m1
[1m[36m[40m   [0m1
[1m[36m[40m   [0m0
[1m[36m[40m   [0mindent 2
[1m[36m[40m   [0m1[36;1H[K[35;4H[34h[?25h[21;4H[?25l[36;1H:[34h[?25hcall append("$", "folding " . getline("."))[?25l[21;4H[34h[?25h[20;4H[?25l[36;1H[K[36;1H:[34h[?25hcall append("$", getline("."))[?25l[20;4H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" test expression folding[?25l[20;4H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hfun Flvl()[?25l
:  [34h[?25h  let l = getline(v:lnum)
[?25l:  [34h[?25h  if l =~ "bb$"
[?25l:    [34h[?25h    return 2
[?25l:    [34h[?25h  elseif l =~ "gg$"
[?25l:    [34h[?25h    return "s1"
[?25l:    [34h[?25h  elseif l =~ "ii$"
[?25l:    [34h[?25h    return ">2"
[?25l:    [34h[?25h  elseif l =~ "kk$"
[?25l:    [34h[?25h    return "0"
[?25l:    [34h[?25h  endif
[?25l:  [34h[?25h  return "="
[?25l:  [34h[?25hendfun[1;1H[12L[?25l[1;1H[1m[36m[40m   [0m    return "0"
[1m[36m[40m   [0m  endif
[1m[36m[40m   [0m  return "="
[1m[36m[40m   [0mendfun
[1m[36m[40m   [0m:set fdm=expr fde=Flvl()
[1m[36m[40m   [0m/bb$
[1m[36m[40m   [0m:call append("$", "expr " . foldlevel("."))
[1m[36m[40m   [0m/hh$
[1m[36m[40m   [0m:call append("$", foldlevel("."))
[1m[36m[40m   [0m/ii$
[1m[36m[40m   [0m:call append("$", foldlevel("."))
[1m[36m[40m   [0m/kk$[36;1H[K[20;4H[34h[?25h[?25l[36;1H:[34h[?25hset fdm=expr fde=Flvl()[?25l[19;1H[1m[36m[40m+  +-- 11 lines: 2 bb-------------------------------------------------------------------------------[0m[20;4Hb kk[20;8H[K[21;1H[1m[36m[40m [0m[2Clast[21;8H[K[22;4Hmanual 1 aa[23;4H-1[23;6H[K[24;4H3 cc[25;4H1 aa[26;6Hrker 2[26;13H[K[27;4H1[27;5H[K[28;4H1[28;6H[K[29;4H0[29;6H[K[30;4Hindent[32;4Hfolding 8 hh[33;4H    3 cc[34;4H[1m[34m~                                                                                                [35;4H~                                                                                                [19;4H[34h[?25h[?25l[0m[36;1H[K[36;1H/[34h[?25hbb$[?25l[1m[31msearch hit BOTTOM, continuing at TOP[0m[19;1H[1m[36m[40m--[0m[1C  2 bb[19;10H[K[20;1H[1m[36m[40m||[0m[1C    3 cc
[1m[36m[40m||[0m[1C4 dd {{{
[1m[36m[40m||[0m[1C5 ee {{{ }}}
[1m[36m[40m||[0m[1C{{{
[1m[36m[40m||[0m[1C6 ff }}}
[1m[36m[40m||[0m[1C6 ff }}}
[1m[36m[40m||[0m[1C7 gg[26;8H[K[27;1H[1m[36m[40m|[0m[2C8 hh
[1m[36m[40m|+ +---  2 lines: 9 ii------------------------------------------------------------------------------[0m[29;4Hb kk[30;4Hlast[30;8H[K[31;4Hmanual 1 aa[32;4H-1[32;6H[K[33;4H3 cc[33;8H[K[34;4H1 aa[34;8H[K[35;4Hmarker 2[35;12H[K[19;8H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hcall append("$", "expr " . foldlevel("."))[?25l[19;8H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25hhh$[?25l[27;6H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hcall append("$", foldlevel("."))[?25l[27;6H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25hii$[?25l[28;2H[1m[36m[40m-[0m[1C9 ii[28;8H[K[29;1H[1m[36m[40m||[0m[1Ca jj[30;4Hb kk[31;4Hlast[31;8H[K[32;4Hmanual 1 aa[33;4H-1[33;6H[K[34;4H3 cc[35;4H1 aa[35;8H[K[28;6H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hcall append("$", foldlevel("."))[?25l[28;6H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25hkk$[?25l[30;6H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hcall append("$", foldlevel("."))[?25l[30;6H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^last/+1,$w! test.out[?25l"test.out" [36;12H[K[36;12H[New File] 16 lines, 86 characters written[30;6H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test46.failed test.ok test.out X* viminfo
cp test46.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test46.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test46.in" 27 lines, 431 characters[1;1HTests for multi-line regexps with ":s". vim: set ft=vim :

STARTTEST
:" test if replacing a line break works with a back reference
:/^1/,/^2/s/\n\(.\)/ \1/
:" test if inserting a line break works with a back reference
:/^3/,/^4/s/\(.\)$/\r\1/
:" test if replacing a line break with another line break works
:/^5/,/^6/s/\(\_d\{3}\)/x\1x/
:/^1/,$w! test.out
:qa!
ENDTEST

1 aa
bb
cc
2 dd
ee
3 ef
gh
4 ij
5 a8
8b c9
9d
6 e7
77f
xxxxx
[1m[34m~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTests for multi-line regexps with ":s". vim: set ft=vim :[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[3;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[4;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 8 lines, 292 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[4;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[12;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[13;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" test if replacing a line break works with a back reference[?25l[13;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^1/,/^2/s/\n\(.\)/ \1/[?25l4 substitutions on 1 line[14;35r[14;1H[4M[1;36r[14;1H1 aa bb cc 2 dd ee[32;1H[1m[34m~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [0m[36;1H[K[36;1H4 substitutions on 1 line[14;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" test if inserting a line break works with a back reference[?25l[14;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^3/,/^4/s/\(.\)$/\r\1/[?25l3 substitutions on 3 lines[18;35r[18;1H[3L[1;36r[15;4H[K[16;1Hf[16;2H[K[17;1Hg[17;3H[K[18;1Hh
4 i
j[36;1H[K[36;1H3 substitutions on 3 lines[20;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" test if replacing a line break with another line break works[?25l[20;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^5/,/^6/s/\(\_d\{3}\)/x\1x/[?25l3 substitutions on 2 lines[36;27H[K[21;4Hx8
8xb cx9
9xd
6 ex7
7x7f[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^1/,$w! test.out[?25l[1m[31msearch hit BOTTOM, continuing at TOP[0m"test.out" [36;12H[K[36;12H[New File] 13 lines, 70 characters written[25;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test47.failed test.ok test.out X* viminfo
cp test47.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test47.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test47.in" 44 lines, 1040 characters[1;1HTests for vertical splits and filler lines in diff mode

STARTTEST
:so small.vim
/^1
yG:new
pkdd:w! Xtest
ddGpkkrXoxxx[1m[34m^[[0m:w! Xtest2
:file Nop
ggoyyy[1m[34m^[[0mjjjozzzz[1m[34m^[[0m
:vert diffsplit Xtest
:vert diffsplit Xtest2
:" jump to second window for a moment to have filler line appear at start of
:" first window
[1m[34m^W^W[0mgg[1m[34m^W[0mpgg:let one = winline()
j:let one = one . "-" . winline()
j:let one = one . "-" . winline()
j:let one = one . "-" . winline()
j:let one = one . "-" . winline()
j:let one = one . "-" . winline()
[1m[34m^W^W[0mgg:let two = winline()
j:let two = two . "-" . winline()
j:let two = two . "-" . winline()
j:let two = two . "-" . winline()
j:let two = two . "-" . winline()
[1m[34m^W^W[0mgg:let three = winline()
j:let three = three . "-" . winline()
j:let three = three . "-" . winline()
j:let three = three . "-" . winline()
j:let three = three . "-" . winline()
j:let three = three . "-" . winline()
j:let three = three . "-" . winline()
[1m[34m^W^W[0m:call append("$", one)
:call append("$", two)
:call append("$", three)[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTests for vertical splits and filler lines in diff mode[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[3;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[4;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 34 lines, 939 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[4;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[1;35r[1;1H[3M[1;36r[33;1H:$-2,$w! test.out
:qa!
ENDTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h^1[?25l[1;35r[35;1H
[1;36r[35;1H1 aa[36;1H[K[35;1H[34h[?25h[?25l
5 lines yanked[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hnew[?25l[1;1H[K[2;1H[1m[34m~                                                                                                   [3;1H~                                                                                                   [4;1H~                                                                                                   [5;1H~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [0m[18;1H[1m[7m[No Name]                                                                                           [0m[20;1H[1m[34m^W^W[0mgg:let three = winline()[20;29H[K[21;1Hj:let three = three . "-" . winline()[27;1H[1m[34m^W^W[0m:call append("$", one)[27;27H[K[28;1H:call append("$", two)[28;23H[K[29;20Hhree)
:$-2,$w! test.out[30;19H[K[31;2Hqa![31;5H[K[32;1HENDTEST[33;1H[K[34;1H1 aa
[7mtest47.in                                                                                           [1;1H[34h[?25h[?25l[0m[36;1H5 more lines[2;1H1 aa[2;5H[K[3;1H2 bb[3;5H[K[4;1H3 cc[4;5H[K[5;1H4 dd[5;5H[K[6;1H5 ee[6;5H[K[18;11H[1m[7m[+][2;1H[34h[?25h[1;1H[?25l[1;17r[0m[17;1H
[1;36r[17;1H[1m[34m~                                                                                                   [0m[36;1H[K[1;1H[34h[?25h[?25l[36;1H:[34h[?25hw! Xtest[?25l"Xtest" [36;9H[K[36;9H[New File] 5 lines, 25 characters written[18;1H[1m[7mXtest        [1;1H[34h[?25h[?25l[1;17r[0m[17;1H
[1;36r[17;1H[1m[34m~                                                                                                   [0m[18;7H[1m[7m[+][0m[36;1H[K[1;1H[34h[?25h


[?25l
1 aa[5;5H[K[5;1H[34h[?25h[4;1H[3;1H[?25lX[34h[?25h[?25l[4;17r[4;1H[L[1;36r[4;1Hxxx[34h[?25h[?25l[36;1H:[34h[?25hw! Xtest2[?25l"Xtest2" [36;10H[K[36;10H[New File] 6 lines, 29 characters written[18;7H[1m[7m   [4;3H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hfile Nop[?25l"Nop" [Not edited] line 4 of 6 --66%-- col 3[18;1H[1m[7mNop  [4;3H[34h[?25h[1;1H[?25l[2;17r[0m[2;1H[L[1;36r[2;1Hyyy[18;5H[1m[7m[+][0m[36;1H[K[2;3H[34h[?25h
3 
X 
xx[?25l[6;17r[6;1H[L[1;36r[6;1Hzzzz[34h[?25h
5 e[?25l[36;1H:[34h[?25hvert diffsplit Xtest[?25l"Xtest" [36;9H[K[36;9H5 lines, 25 characters[1;1H[1m[36m[40m  [0m[44m1 aa                                            [0m[7m|[0m
[1m[36m[40m  [0m2 bb[44C[7m|[0m
[1m[36m[40m  [0m[1m[34m[46m------------------------------------------------[0m[7m|[0m
[1m[36m[40m  [0m3 cc[44C[7m|[0m
[1m[36m[40m  [0m[1m[41m4[0m[45m dd                                            [0m[7m|[0m
[1m[36m[40m  [0m[1m[34m[46m------------------------------------------------[0m[7m|[0m
[1m[36m[40m  [0m[1m[34m[46m------------------------------------------------[0m[7m|[0m
[1m[36m[40m  [0m5 ee[44C[7m|[9;51H|[10;51H|[11;51H|[12;51H|[13;51H|[14;51H|[15;51H|[16;51H|[17;51H|[0m[9;1H[1m[36m[40m  [0m[1m[34m[46m------------------------------------------------[0m
[1m[36m[40m  
  
  
  
  
  
  
  [0m[10;3H[1m[34m~[11;3H~[12;3H~[13;3H~[14;3H~[15;3H~[16;3H~[17;3H~[0m
[1m[7mXtest  [0m[1;52H[1m[36m[40m  [0m[1m[34m[46m-----------------------------------------------[0m[2;52H[1m[36m[40m  [0m2 bb[3;52H[1m[36m[40m  [0m[44myyy                                            [0m[4;52H[1m[36m[40m  [0m3 cc[5;52H[1m[36m[40m  [0m[1m[41mX[0m[45m dd                                           [0m[6;52H[1m[36m[40m  [0m[44mxxx                                            [0m[7;52H[1m[36m[40m  [0m[44mzzzz                                           [0m[8;52H[1m[36m[40m  [0m5 ee[9;52H[1m[36m[40m  [0m[44m1 aa                                           [0m[10;52H[1m[36m[40m  [11;52H  [12;52H  [13;52H  [14;52H  [15;52H  [16;52H  [17;52H  [0m[10;54H[1m[34m~[11;54H~[12;54H~[13;54H~[14;54H~[15;54H~[16;54H~[17;54H~[0m[18;52H[7mNop [+]                                          [1;3H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hvert diffsplit Xtest2[?25l"Xtest2" [36;10H[K[36;10H6 lines, 29 characters[23m[24m[0m[H[J[1;1H[1m[36m[40m  [0m2 bb[27C[7m|[0m
[1m[36m[40m  [0m[1m[34m[46m-------------------------------[0m[7m|[0m
[1m[36m[40m  [0m3 cc[27C[7m|[0m
[1m[36m[40m  [0m[1m[41mX[0m[45m dd                           [0m[7m|[0m
[1m[36m[40m  [0m[45mxxx                            [0m[7m|[0m
[1m[36m[40m  [0m[1m[34m[46m-------------------------------[0m[7m|[0m
[1m[36m[40m  [0m5 ee[27C[7m|[0m
[1m[36m[40m  [0m[44m1 aa                           [0m[7m|[9;34H|[10;34H|[11;34H|[12;34H|[13;34H|[14;34H|[15;34H|[16;34H|[17;34H|[0m[9;1H[1m[36m[40m  
  
  
  
  
  
  
  
  [0m[9;3H[1m[34m~                              [10;3H~                              [11;3H~                              [12;3H~                              [13;3H~                              [14;3H~                              [15;3H~                              [16;3H~                              [17;3H~                              [0m
[1m[7mXtest2                            [0m[1;35H[1m[36m[40m  [0m2 bb[27C[7m|[0m[2;35H[1m[36m[40m  [0m[1m[34m[46m-------------------------------[0m[7m|[0m[3;35H[1m[36m[40m  [0m3 cc[27C[7m|[0m[4;35H[1m[36m[40m  [0m[1m[41m4[0m[45m dd                           [0m[7m|[0m[5;35H[1m[36m[40m  [0m[1m[34m[46m-------------------------------[0m[7m|[0m[6;35H[1m[36m[40m  [0m[1m[34m[46m-------------------------------[0m[7m|[0m[7;35H[1m[36m[40m  [0m5 ee[27C[7m|[8;68H|[9;68H|[10;68H|[11;68H|[12;68H|[13;68H|[14;68H|[15;68H|[16;68H|[17;68H|[0m[8;35H[1m[36m[40m  [0m[1m[34m[46m-------------------------------[0m[9;35H[1m[36m[40m  [10;35H  [11;35H  [12;35H  [13;35H  [14;35H  [15;35H  [16;35H  [17;35H  [0m[9;37H[1m[34m~                              [10;37H~                              [11;37H~                              [12;37H~                              [13;37H~                              [14;37H~                              [15;37H~                              [16;37H~                              [17;37H~                              [0m[18;35H[7mXtest                             [0m[1;69H[1m[36m[40m  [0m2 bb[2;69H[1m[36m[40m  [0m[44myyy                           [0m[3;69H[1m[36m[40m  [0m3 cc[4;69H[1m[36m[40m  [0m[1m[41mX[0m[45m dd                          [0m[5;69H[1m[36m[40m  [0m[45mxxx                           [0m[6;69H[1m[36m[40m  [0m[44mzzzz                          [0m[7;69H[1m[36m[40m  [0m5 ee[8;69H[1m[36m[40m  [0m[44m1 aa                          [0m[9;69H[1m[36m[40m  [10;69H  [11;69H  [12;69H  [13;69H  [14;69H  [15;69H  [16;69H  [17;69H  [0m[9;71H[1m[34m~                             [10;71H~                             [11;71H~                             [12;71H~                             [13;71H~                             [14;71H~                             [15;71H~                             [16;71H~                             [17;71H~                             [0m[18;69H[7mNop [+]                         [0m[19;1Hj:let two = two . "-" . winline()
[1m[34m^W^W[0mgg:let three = winline()
j:let three = three . "-" . winline()
j:let three = three . "-" . winline()
j:let three = three . "-" . winline()
j:let three = three . "-" . winline()
j:let three = three . "-" . winline()
j:let three = three . "-" . winline()
[1m[34m^W^W[0m:call append("$", one)
:call append("$", two)
:call append("$", three)
:$-2,$w! test.out
:qa!
ENDTEST

1 aa
[7mtest47.in                                                                                           [1;3H[34h[?25h[?25l[36;1H[0m:[34h[?25h" jump to second window for a moment to have filler line appear at start of[?25l[1;3H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" first window[?25l[1;3H[34h[?25h[?25l[18;1H[7mXtest2                            [0m[1m[7mXtest                             [1;37H[34h[?25h[?25l[0m[1;3H[1m[34m[46m-------------------------------[0m[2;3H2 bb                           [3;3H[1m[34m[46m-------------------------------[0m[4;3H3 cc                           [5;3H[1m[41mX[0m[45m dd[6;3Hxxx                            [0m[7;3H[1m[34m[46m-------------------------------[0m[8;3H5 ee                           [9;3H[44m1 aa                           [0m[1;1H[34C                                 [2;35H[1m[36m[40m  [0m2 bb                           [3;35H[1m[36m[40m  [0m[1m[34m[46m-------------------------------[0m[4;35H[1m[36m[40m  [0m3 cc                           [5;35H[1m[36m[40m  [0m[1m[41m4[0m[45m dd                           [0m[6;35H[1m[36m[40m  [0m[1m[34m[46m-------------------------------[0m[7;35H[1m[36m[40m  [0m[1m[34m[46m-------------------------------[0m[8;35H[1m[36m[40m  [0m5 ee                           [9;35H[1m[36m[40m  [0m[1m[34m[46m-------------------------------[0m[10;35H[1m[36m[40m  [0m[1m[34m~                              [0m[11;35H[1m[36m[40m  [0m[1m[34m~                              [0m[12;35H[1m[36m[40m  [0m[1m[34m~                              [0m[13;35H[1m[36m[40m  [0m[1m[34m~                              [0m[14;35H[1m[36m[40m  [0m[1m[34m~                              [0m[15;35H[1m[36m[40m  [0m[1m[34m~                              [0m[16;35H[1m[36m[40m  [0m[1m[34m~                              [0m[17;35H[1m[36m[40m  [0m[1m[34m~                              [0m[1;35H[1m[36m[40m  [0m[44m1 aa                           [0m[3C[1m[34m[46m------------------------------[0m[2;71H2 bb[2;75H[K[3;71H[44myyy                           [0m[4;71H3 cc[4;75H[K[5;71H[1m[41mX[0m[45m dd[6;71Hxxx                           [0m[7;71H[44mzzzz                          [0m[8;71H5 ee[8;75H[K[9;71H[44m1 aa                          [0m[36;1H[K[1;37H[34h[?25h[?25l[18;1H[1m[7mXtest2                            [0m[7mXtest                             [2;3H[34h[?25h[?25l[36;1H[0m:[34h[?25hlet one = winline()[?25l[2;3H[34h[?25h[4;3H[?25l[36;1H[K[36;1H:[34h[?25hlet one = one . "-" . winline()[?25l[4;3H[34h[?25h[5;3H[?25l[36;1H[K[36;1H:[34h[?25hlet one = one . "-" . winline()[?25l[5;3H[34h[?25h[6;3H[?25l[36;1H[K[36;1H:[34h[?25hlet one = one . "-" . winline()[?25l[6;3H[34h[?25h[8;3H[?25l[36;1H[K[36;1H:[34h[?25hlet one = one . "-" . winline()[?25l[8;3H[34h[?25h[9;3H[?25l[36;1H[K[36;1H:[34h[?25hlet one = one . "-" . winline()[?25l[9;3H[34h[?25h[?25l[18;1H[7mXtest2                            [0m[1m[7mXtest                             [1;37H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hlet two = winline()[?25l[1;37H[34h[?25h[2;37H[?25l[36;1H[K[36;1H:[34h[?25hlet two = two . "-" . winline()[?25l[2;37H[34h[?25h[4;37H[?25l[36;1H[K[36;1H:[34h[?25hlet two = two . "-" . winline()[?25l[4;37H[34h[?25h[5;37H[?25l[36;1H[K[36;1H:[34h[?25hlet two = two . "-" . winline()[?25l[5;37H[34h[?25h[8;37H[?25l[36;1H[K[36;1H:[34h[?25hlet two = two . "-" . winline()[?25l[8;37H[34h[?25h[?25l[18;35H[7mXtest                             [0m[1m[7mNop [+]                         [8;74H[34h[?25h[2;71H[?25l[0m[36;1H[K[36;1H:[34h[?25hlet three = winline()[?25l[2;71H[34h[?25h[3;71H[?25l[36;1H[K[36;1H:[34h[?25hlet three = three . "-" . winline()[?25l[3;71H[34h[?25h[4;71H[?25l[36;1H[K[36;1H:[34h[?25hlet three = three . "-" . winline()[?25l[4;71H[34h[?25h[5;71H[?25l[36;1H[K[36;1H:[34h[?25hlet three = three . "-" . winline()[?25l[5;71H[34h[?25h[6;71H[?25l[36;1H[K[36;1H:[34h[?25hlet three = three . "-" . winline()[?25l[6;71H[34h[?25h[7;71H[?25l[36;1H[K[36;1H:[34h[?25hlet three = three . "-" . winline()[?25l[7;71H[34h[?25h[8;71H[?25l[36;1H[K[36;1H:[34h[?25hlet three = three . "-" . winline()[?25l[8;71H[34h[?25h[18;69H[7mNop [+]                         [0m[35;1H[1m[7mtest47.in                                                                                           [34;1H[?25l[0m[36;1H[K[36;1H:[34h[?25hcall append("$", one)[?25l[35;11H[1m[7m[+][34;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hcall append("$", two)[?25l[34;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hcall append("$", three)[?25l[34;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$-2,$w! test.out[?25l"test.out" [36;12H[K[36;12H[New File] 3 lines, 36 characters written[34;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test48.failed test.ok test.out X* viminfo
cp test48.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test48.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test48.in" 74 lines, 1452 characters[1;1HThis is a test of 'virtualedit'.

STARTTEST
:so small.vim
:set noswf
:set ve=all
-dgg
:"
:"   Insert "keyword keyw", ESC, C CTRL-N, shows "keyword ykeyword".
:"    Repeating CTRL-N fixes it. (Mary Ellen Foster)
2/w
C[1m[34m^N^[[0m
:"
:"   Using "C" then then <CR> moves the last remaining character to the next
:"    line.  (Mary Ellen Foster)
j^/are
C[1m[34m^M[0mare belong to vim[1m[34m^[[0m
:"
:"   When past the end of a line that ends in a single character "b" skips
:"    that word.
^$15lbC7[1m[34m^[[0m
:"
:"   Make sure 'i' works
$4li<-- should be 3 ' '[1m[34m^[[0m
:"
:"   Make sure 'C' works
$4lC<-- should be 3 ' '[1m[34m^[[0m
:"
:"   Make sure 'a' works
$4la<-- should be 4 ' '[1m[34m^[[0m
:"
:"   Make sure 'A' works
$4lA<-- should be 0 ' '[1m[34m^[[0m
:"
:"   Make sure 'D' works[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HThis is a test of 'virtualedit'.[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[3;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[4;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 54 lines, 1250 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[4;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[23m[24m[0m[H[J[1;1H^2w[1m[34m^V[0m3jyGp
:"
:" Test "r" beyond the end of the line
:set ve=all
/^"r"
$5lrxa<-- should be 'x'[1m[34m^[[0m
:"
:"   Test to make sure 'x' can delete control characters
:set display=uhex
^xxxxxxi[This line should contain only the text between the brackets.][1m[34m^[[0m
:set display=
:"
:"   Test for ^Y/^E due to bad w_virtcol value, reported by
:"   Roy <royl@netropolis.net>.
^O[1m[34m^[[0m3li[1m[34m^E^[[0m4li[1m[34m^E^[[0m4li[1m[34m^E[0m   <-- should show the name of a noted text editor[1m[34m^[[0m
^o[1m[34m^[[0m4li[1m[34m^Y^[[0m4li[1m[34m^Y^[[0m4li[1m[34m^Y[0m   <-- and its version number[1m[34m^[[0m-dd
:"
:wq! test.out
ENDTEST
keyword keyw
all your base are belong to us
1 2 3 4 5 6
'i'
'C'
'a'
'A'
'D'
this is a test
this is a test
this is a test
"r"
a[1m[34m^V[0mb[1m[34m^M[0msd
abcv6efi.him0kl[19;1H[34h[?25h
[?25l[36;1H:so! Xdotest[20;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[20;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset noswf[?25l[20;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset ve=all[?25l[20;1H[34h[?25h[19;1H[?25l[36;1H58 fewer lines[1;35r[1;1H[19M[1;36r[17;1H[1m[34m~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [0m[36;1H[K[36;1H58 fewer lines[1;1H[34h[?25h
[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[2;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"   Insert "keyword keyw", ESC, C CTRL-N, shows "keyword ykeyword".[?25l[2;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"    Repeating CTRL-N fixes it. (Mary Ellen Foster)[?25l[2;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25hw[?25l[1m[31msearch hit BOTTOM, continuing at TOP[1;12H[34h[?25h[?25l[0m$[36;1H[1m[32mScanning tags.[0m[36;15H[K[36;1HThe only match[1;16H[36;1H[K[1;12Hword[34h[?25h[2;15H[?25l[36;1H:[34h[?25h"[?25l[2;15H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"   Using "C" then then <CR> moves the last remaining character to the next[?25l[2;15H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"    line.  (Mary Ellen Foster)[?25l[2;15H[34h[?25h[3;15H[?25l[36;1H[K[36;1H/[34h[?25hare[?25l[1m[31msearch hit BOTTOM, continuing at TOP[2;15H[34h[?25h[?25l[0m[15C$[2;15H[K[3;1Hare belong to vim
1 2 3 4 5 6
'i
'C
'a
'A
'D'[9;4H[K[12;1Hthis is a test
"r"[13;4H[K[14;2H[1m[34m^V[0mb[1m[34m^M[0msd[14;9H[K[15;1Habcv6efi.him0kl[17;1H[K[3;17H[34h[?25h[4;17H[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[4;17H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"   When past the end of a line that ends in a single character "b" skips[?25l[4;17H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"    that word.[?25l[4;17H[34h[?25h[10C[15C[4;11H[?25l$7[34h[?25h[5;11H[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[5;11H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"   Make sure 'i' works[?25l[5;11H[34h[?25h'i'   [?25l<-- should be 3 ' '[34h[?25h[6;25H[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[6;25H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"   Make sure 'C' works[?25l[6;25H[34h[?25h'C'   [?25l$<-- should be 3 ' '[34h[?25h[7;25H[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[7;25H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"   Make sure 'a' works[?25l[7;25H[34h[?25h'a'   [?25l <-- should be 4 ' '[34h[?25h[8;26H[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[8;26H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"   Make sure 'A' works[?25l[8;26H[34h[?25h'A'   [?25l<-- should be 0 ' '[34h[?25h[9;22H[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[9;22H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"   Make sure 'D' works[?25l[9;22H[34h[?25h'D'   [?25l<-- 'D' should be intact[34h[?25h[10;30H[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[10;30H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"   Test for yank bug reported by Mark Waggoner.[?25l[10;30H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset ve=block[?25l[10;14H[34h[?25h[8C[?25l[34h[?25h[?25l[7ma[11;9Ha[12;9Ha[13;9H[34h[?25h[?25l[0m[10;9Ha[11;9Ha[12;9Ha[36;1Hblock of 4 lines yanked[10;9H[34h[?25h[17;1H[?25l[36;1H3 more lines[36;13H[K[17;1Ha
a[18;2H[K[19;1Ha[19;2H[K[20;1H [20;2H[K[17;1H[34h[?25h
[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[18;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" Test "r" beyond the end of the line[?25l[18;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset ve=all[?25l[18;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h^"r"[?25l[1m[31msearch hit BOTTOM, continuing at TOP[13;1H[34h[?25h[0m"r"    [?25lx[34h[?25h[?25lx<-- should be 'x'[34h[?25h[14;25H[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[14;25H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"   Test to make sure 'x' can delete control characters[?25l[14;25H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset display=uhex[?25l[14;2H[1m[34m<16>[0mb[1m[34m<0d>[0msd[16C[34h[?25h[?25l[1m[34m<16>[0mb[1m[34m<0d>[0msd[14;12H[K[14;1H[34h[?25h[?25lb[1m[34m<0d>[0msd[14;8H[K[14;1H[34h[?25h[?25l[1m[34m<0d>[0msd[14;7H[K[14;1H[34h[?25h[?25lsd[14;3H[K[14;1H[34h[?25h[?25ld[14;2H[K[14;1H[34h[?25h[?25l[14;1H[K[14;1H[34h[?25h[?25l[This line should contain only the text between the brackets.][34h[?25h[15;62H[?25l[36;1H[K[36;1H:[34h[?25hset display=[?25l[15;62H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[15;62H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"   Test for ^Y/^E due to bad w_virtcol value, reported by[?25l[15;62H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"   Roy <royl@netropolis.net>.[?25l[15;62H[34h[?25h[?25l[15;35r[15;1H[L[1;36r[36;1H[K[15;1H[34h[?25h   [?25lv[34h[?25hv   [?25li[34h[?25hi   [?25lm   <-- should show the name of a noted text editor[34h[?25h[16;62H[?25l[17;35r[17;1H[L[1;36r[17;1H[34h[?25h    [?25l6[34h[?25h6   [?25l.[34h[?25h.   [?25l0   <-- and its version number[34h[?25h[16;1H[?25l[16;35r[35;1H
[1;36r[35;1H[1m[34m~                                                                                                   [16;5H[34h[?25h
[0m    [?25l[36;1H:[34h[?25h"[?25l[17;5H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hwq! test.out[?25l"test.out" [36;12H[K[36;12H[New File] 21 lines, 443 characters written
[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test49.failed test.ok test.out X* viminfo
cp test49.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test49.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test49.in" 13 lines, 320 characters[1;1HThis is a test of the script language.

If after adding a new test, the test output doesn't appear properly in
test49.failed, try to add one ore more "G"s at the line before ENDTEST.

STARTTEST
:so small.vim
:se nocp nomore viminfo+=nviminfo
:so test49.vim
GGGGGGGGGG"rp:.-,$wq! test.out
ENDTEST

Results of test49.vim:
[1m[34m~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HThis is a test of the script language.[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[6;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[7;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 4 lines, 94 characters written[7;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[7;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[11;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[12;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[12;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hse nocp nomore viminfo+=nviminfo[?25l[12;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso test49.vim[?25l[1m[37m[41mError detected while processing function G:[0m
[1m[33mline   16:[0m
[1m[37m[41mE171: Missing :endif:     endwhile[0m
*** Test   1: OK (34695)
   function F()
1      Xpath 1[37C" X: 1
2      let first = 1
3      XloopINIT 2 8
4      while 1
5[10CXloop 1[33C" X: 2      + 0 * 16
6[10Cif first
7[14CXloop 2[29C" X: 4      + 0 * 32
8[14Clet first = 0
9[14CXloopNEXT
10[13Cbreak
11[9Celse
12[13CXloop 4[29C" X: 0      + 0 * 64
13[13Creturn
14[9Cendif
15     endwhile
   endfunction[20;1H"/tmp/v101798/0"[21;1H[K[22;1H[K[23;1H[K[24;1H[K[25;1H[K[26;1H[K[27;1H[K[28;1H[K[29;1H[K[30;1H[K[31;1H[K[32;1H[K[33;1H[K[34;1H[K[35;1H[K[36;4H[K[20;18H[noeol] 18L, 528C
15 substitutions on 15 lines
E486: Pattern not found: ^\s*$"/tmp/v101798/0" [22;19H[K[22;18H15L, 476C written"test49.in" [22;13H[K[22;13H13L, 320C
   function G()
1      Xpath 256[35C" X: 256    + 0 * 2048
2      let first = 1
3      XloopINIT 512 8
4      while 1
5[10CXloop 1[33C" X: 512    + 0 * 4096
6[10Cif first
7[14CXloop 2[29C" X: 1024   + 0 * 8192
8[14Clet first = 0
9[14CXloopNEXT
10[13Cbreak
11[9Celse
12[13CXloop 4[29C" X: 0      + 0 * 16384
13[13Creturn
14[9Cendif
15[9Cif 1    " unmatched :if
16     endwhile
   endfunction[19;1H"/tmp/v101798/1"[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;1H[K[25;1H[K[26;1H[K[27;1H[K[28;1H[K[29;1H[K[30;1H[K[31;1H[K[32;1H[K[33;1H[K[34;1H[K[35;1H[K[36;4H[K[19;18H[noeol] 19L, 588C
16 substitutions on 16 lines
E486: Pattern not found: ^\s*$"/tmp/v101798/1" [21;19H[K[21;18H16L, 534C written"test49.in" [21;13H[K[21;13H13L, 320C
[1m[37m[41mError detected while processing /tmp/v101798/1:[0m
[1m[33mline   16:[0m
[1m[37m[41mE171: Missing :endif:      endwhile[0m
*** Test   2: OK (34695)
*** Test   3: OK (1384648195)
*** Test   4: OK (32883)
   function F()
1      if 1
2[10CXpath 1[33C" X: 1
3[10Clet loops = 3
4[10CXloopINIT 2 16
5[10Cwhile loops > 0[25C"    3:  2:     1:
6[14CXloop 1[29C" X: 2 + 2*16 + 0*16*16
7[14Cif (loops == 2)
8[18CXloop 2[25C" X:     4*16
9[18Creturn
10[17CXloop 4[25C" X:     0
11[13Cendif
12[13CXloop 8[29C" X: 16
13[13Clet loops = loops - 1
14[13CXloopNEXT
15[9Cendwhile
16[9CXpath 8192[30C" X: 0
17     else
18[9CXpath 16384[29C" X: 0
19     endif
   endfunction[16;1H"/tmp/v101798/2"[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;1H[K[25;1H[K[26;1H[K[27;1H[K[28;1H[K[29;1H[K[30;1H[K[31;1H[K[32;1H[K[33;1H[K[34;1H[K[35;1H[K[36;4H[K[16;18H[noeol] 22L, 784C
19 substitutions on 19 lines
E486: Pattern not found: ^\s*$"/tmp/v101798/2" [18;19H[K[18;18H19L, 724C written"test49.in" [18;13H[K[18;13H13L, 320C
*** Test   5: OK (32883)"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"/tmp/v101798/3" [19;18H[K[19;18H[New] 53L, 1582C written[19;18H[K[19;18H14L, 358C appended[19;18H[K[19;18H26L, 824C appended[19;18H[K[19;18H34L, 986C appended
:!echo 'source /tmp/v101798/3' >/tmp/v101798/4[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[20;1H[K[20;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/4" [20;18H[K[20;18H130L, 2431C appended[20;18H[K[20;18H131L, 2453C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/5[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[22;1H:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1[23;1H' -c 'let ExtraVimResult = "/tmp/v101798/5"' -S /tmp/v101798/4[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[22;1H"/tmp/v101798/5" [22;18H[K[23;1H[K[22;18H21L, 130C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [22;13H[K[22;13H13L, 320C
*** Test   6: OK (603978947)
[1m[37m[41mError detected while processing /sources/vim70/src/testdir/test49.vim:[0m
[1m[33mline  976:[0m
[1m[37m[41mE492: Not an editor command: ^Iasdf[0m
[1m[33mline  988:[0m
[1m[37m[41mE492: Not an editor command: ^Iasdf[0m
[1m[33mline  996:[0m
[1m[37m[41mE492: Not an editor command: asdf[0m
[1m[33mline  999:[0m
[1m[37m[41mE492: Not an editor command: asdf | Xpath 32768^I^I^I^I" X: 0[0m
*** Test   7: OK (90563)
[1m[37m[41mError detected while processing function F:[0m
[1m[33mline    5:[0m
[1m[37m[41mE492: Not an editor command: ^I    asdf[0m
[1m[33mline    7:[0m
[1m[37m[41mE492: Not an editor command: ^I    asdf | Xpath 8^I^I^I" X: 0[0m
[1m[33mline   19:[0m
[1m[37m[41mE492: Not an editor command: ^I    asdf[0m
[1m[33mline   21:[0m
[1m[37m[41mE492: Not an editor command: ^I    asdf | Xpath 2048^I^I^I" X: 0[0m
[1m[33mline   29:[0m
[1m[37m[41mE121: Undefined variable: novar[0m
[1m[37m[41mE15: Invalid expression: novar^I^I" returns (default return value 0)[0m
[1m[37m[41mError detected while processing function G:[0m
[1m[33mline    5:[0m
[1m[37m[41mE492: Not an editor command: ^I    asdf^I^I" returns -1[0m
[1m[37m[41mError detected while processing function H:[0m
[1m[33mline    5:[0m
[1m[37m[41mE492: Not an editor command: ^I    asdf^I^I" returns -1[0m
*** Test   8: OK (562493431)
[1m[37m[41mError detected while processing function F..G..H..I:[0m
[1m[33mline    2:[0m
[1m[37m[41mE492: Not an editor command:     asdf^I^I" error[0m
*** Test   9: OK (363)
[1m[37m[41mError detected while processing /sources/vim70/src/testdir/test49.vim:[0m
[1m[33mline 1201:[0m
[1m[37m[41mE15: Invalid expression: | strlen("\"") | Xpath 512^I^I" X: 0[0m
[1m[37m[41mE15: Invalid expression: 1 ||| strlen("\"") | Xpath 512^I^I" X: 0[0m
[1m[33mline 1211:[0m
[1m[37m[41mE15: Invalid expression: | strlen("\"") | Xpath 8192^I^I" X: 0[0m
[1m[37m[41mE15: Invalid expression: 1 ||| strlen("\"") | Xpath 8192^I^I" X: 0[0m
[1m[33mline 1220:[0m
[1m[37m[41mE15: Invalid expression: | strlen("\"") | Xpath 131072^I^I" X: 0[0m
[1m[37m[41mE15: Invalid expression: 1 ||| strlen("\"") | Xpath 131072^I^I" X: 0[0m
*** Test  10: OK (559615)
[1m[33mline 1252:[0m
[1m[37m[41mE492: Not an editor command:     asdf^I^I" error[0m
*** Test  11: OK (2049)
1
[1m[33mline 1330:[0m
[1m[37m[41mE492: Not an editor command:     asdf^I^I" error[0m
[1m[33mline 1338:[0m
[1m[37m[41mE492: Not an editor command:     asdf^I^I" error[0m
*** Test  12: OK (352256)
[1m[33mline 1357:[0m
[1m[37m[41mE121: Undefined variable: asdf[0m
[1m[37m[41mE15: Invalid expression: asdf[0m
[1m[33mline 1368:[0m
[1m[37m[41mE121: Undefined variable: asdf[0m
[1m[37m[41mE15: Invalid expression: asdf | Xpath 32 | endwhile | Xpath 64^I" X: 0[0m
*** Test  13: OK (145)
[1m[37m[41mError detected while processing function F:[0m
[1m[33mline    8:[0m
[1m[37m[41mE121: Undefined variable: g:boolvar[0m
[1m[37m[41mE15: Invalid expression: g:boolvar^I" possibly undefined[0m
*** Test  14: OK (42413)
[1m[37m[41mE121: Undefined variable: g:boolvar[0m
[1m[37m[41mE15: Invalid expression: g:boolvar | Xloop 8 | else | Xloop 16 | endif    " X: 8[0m
*** Test  15: OK (42413)
[1m[33mline    5:[0m
[1m[37m[41mE583: multiple :else:     else^I^I[0m
[1m[37m[41mError detected while processing function G:[0m
[1m[33mline    5:[0m
[1m[37m[41mE584: :elseif after :else:     elseif 1^I^I" aborts function[0m
[1m[37m[41mError detected while processing function H:[0m
[1m[33mline    7:[0m
[1m[37m[41mE583: multiple :else:     else^I^I[0m
[1m[37m[41mError detected while processing function I:[0m
[1m[33mline    7:[0m
[1m[37m[41mE584: :elseif after :else:     elseif 1^I^I" aborts function[0m
*** Test  16: OK (8722)
[1m[37m[41mError detected while processing function F:[0m
[1m[33mline   18:[0m
[1m[37m[41mE171: Missing :endif:     endwhile^I[0m
[1m[37m[41mE171: Missing :endif:     endwhile^I[0m
[1m[33mline   34:[0m
[1m[37m[41mE171: Missing :endif:     endwhile^I[0m
[1m[37m[41mE171: Missing :endif:     endwhile^I[0m
[1m[37m[41mE171: Missing :endif:     endwhile^I[0m
[1m[33mline   47:[0m
[1m[37m[41mE580: :endif without :if: ^Iendif^I[0m
[1m[37m[41mE580: :endif without :if: ^Iendif^I[0m
[1m[37m[41mE580: :endif without :if: ^Iendif^I[0m
[1m[37m[41mError detected while processing /sources/vim70/src/testdir/test49.vim:[0m
[1m[33mline 1626:[0m
[1m[37m[41mE171: Missing :endif: endwhile [0m
*** Test  17: OK (285127993)"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/6[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/6" [36;18H[K[36;18H16L, 304C appended[36;18H[K[36;18H17L, 326C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/7[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q[1m[34m^M[0mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin
= 1' -c 'let ExtraVimResult = "/tmp/v101798/7"' -c 'breakadd file 8 /tmp/v101798/6' -S /tmp/v101798
[35;100H/[36;1H6[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/7" [34;18H[K[35;1H[K[36;1H[K[34;18H3L, 6C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/8[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/8" [35;18H[K[35;18H6L, 127C appended[35;18H[K[35;18H7L, 149C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/9[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q[1m[34m^M[0mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin
= 1' -c 'let ExtraVimResult = "/tmp/v101798/9"' -c 'breakadd file 4 /tmp/v101798/8' -S /tmp/v101798
[35;100H/[36;1H8[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/9" [34;18H[K[35;1H[K[36;1H[K[34;18H1L, 5C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/10[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/10" [35;19H[K[35;19H21L, 486C appended[35;19H[K[35;19H22L, 508C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/11[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q[1m[34m^M[0mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin
= 1' -c 'let ExtraVimResult = "/tmp/v101798/11"' -c 'breakadd func 7 F' -S /tmp/v101798/10[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H"/tmp/v101798/11" [35;19H[K[36;1H[K[35;19H3L, 18C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [35;13H[K[35;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/12[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/12" [36;19H[K[36;19H13L, 364C appended[36;19H[K[36;19H14L, 386C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/13[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q[1m[34m^M[0mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin
= 1' -c 'let ExtraVimResult = "/tmp/v101798/13"' -c 'breakadd func 3 G' -S /tmp/v101798/12[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H"/tmp/v101798/13" [35;19H[K[36;1H[K[35;19H1L, 9C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [35;13H[K[35;13H13L, 320C
*** Test  18: OK (67224583)"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/14[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/14" [36;19H[K[36;19H12L, 201C appended[36;19H[K[36;19H13L, 223C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/15[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin =
[35;100H1[36;1H' -c 'let ExtraVimResult = "/tmp/v101798/15"' -S /tmp/v101798/14[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H"/tmp/v101798/15" [35;19H[K[36;1H[K[35;19H2L, 4C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [35;13H[K[35;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/16[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/16" [36;19H[K[36;19H12L, 205C appended[36;19H[K[36;19H13L, 227C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/17[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin =
[35;100H1[36;1H' -c 'let ExtraVimResult = "/tmp/v101798/17"' -S /tmp/v101798/16[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H"/tmp/v101798/17" [35;19H[K[36;1H[K[35;19H2L, 7C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [35;13H[K[35;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/18[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/18" [36;19H[K[36;19H6L, 122C appended[36;19H[K[36;19H7L, 144C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/19[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin =
[35;100H1[36;1H' -c 'let ExtraVimResult = "/tmp/v101798/19"' -S /tmp/v101798/18[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H"/tmp/v101798/19" [35;19H[K[36;1H[K[35;19H1L, 5C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [35;13H[K[35;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/20[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/20" [36;19H[K[36;19H8L, 176C appended[36;19H[K[36;19H9L, 198C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/21[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin =
[35;100H1[36;1H' -c 'let ExtraVimResult = "/tmp/v101798/21"' -S /tmp/v101798/20[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H"/tmp/v101798/21" [35;19H[K[36;1H[K[35;19H1L, 6C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [35;13H[K[35;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/22[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/22" [36;19H[K[36;19H10L, 215C appended[36;19H[K[36;19H11L, 237C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/23[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin =
[35;100H1[36;1H' -c 'let ExtraVimResult = "/tmp/v101798/23"' -S /tmp/v101798/22[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H"/tmp/v101798/23" [35;19H[K[36;1H[K[35;19H1L, 8C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [35;13H[K[35;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/24[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/24" [36;19H[K[36;19H7L, 149C appended[36;19H[K[36;19H8L, 171C[36;19H[K[36;19H8L, 170C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/25[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin =
[35;100H1[36;1H' -c 'let ExtraVimResult = "/tmp/v101798/25"' -S /tmp/v101798/24[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H"/tmp/v101798/25" [35;19H[K[36;1H[K[35;19H1L, 9C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [35;13H[K[35;13H13L, 320C
*** Test  19: OK (69275973)"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/26[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/26" [36;19H[K[36;19H9L, 135C appended[36;19H[K[36;19H10L, 157C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/27[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin =
[35;100H1[36;1H' -c 'let ExtraVimResult = "/tmp/v101798/27"' -S /tmp/v101798/26[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H"/tmp/v101798/27" [35;19H[K[36;1H[K[35;19H2L, 4C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [35;13H[K[35;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/28[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/28" [36;19H[K[36;19H10L, 155C appended[36;19H[K[36;19H11L, 177C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/29[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin =
[35;100H1[36;1H' -c 'let ExtraVimResult = "/tmp/v101798/29"' -S /tmp/v101798/28[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H"/tmp/v101798/29" [35;19H[K[36;1H[K[35;19H3L, 8C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [35;13H[K[35;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/30[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/30" [36;19H[K[36;19H12L, 204C appended[36;19H[K[36;19H13L, 226C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/31[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin =
[35;100H1[36;1H' -c 'let ExtraVimResult = "/tmp/v101798/31"' -S /tmp/v101798/30[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H"/tmp/v101798/31" [35;19H[K[36;1H[K[35;19H4L, 18C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [35;13H[K[35;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/32[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/32" [36;19H[K[36;19H12L, 214C appended[36;19H[K[36;19H13L, 236C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/33[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin =
[35;100H1[36;1H' -c 'let ExtraVimResult = "/tmp/v101798/33"' -S /tmp/v101798/32[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H"/tmp/v101798/33" [35;19H[K[36;1H[K[35;19H4L, 22C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [35;13H[K[35;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/34[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/34" [36;19H[K[36;19H12L, 211C appended[36;19H[K[36;19H13L, 233C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/35[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin =
[35;100H1[36;1H' -c 'let ExtraVimResult = "/tmp/v101798/35"' -S /tmp/v101798/34[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H"/tmp/v101798/35" [35;19H[K[36;1H[K[35;19H3L, 22C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [35;13H[K[35;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/36[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/36" [36;19H[K[36;19H14L, 263C appended[36;19H[K[36;19H15L, 285C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/37[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin =
[35;100H1[36;1H' -c 'let ExtraVimResult = "/tmp/v101798/37"' -S /tmp/v101798/36[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H"/tmp/v101798/37" [35;19H[K[36;1H[K[35;19H4L, 34C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [35;13H[K[35;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/38[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/38" [36;19H[K[36;19H14L, 277C appended[36;19H[K[36;19H15L, 299C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/39[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin =
[35;100H1[36;1H' -c 'let ExtraVimResult = "/tmp/v101798/39"' -S /tmp/v101798/38[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H"/tmp/v101798/39" [35;19H[K[36;1H[K[35;19H4L, 40C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [35;13H[K[35;13H13L, 320C
*** Test  20: OK (1874575085)"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/40[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/40" [36;19H[K[36;19H58L, 1022C appended[36;19H[K[36;19H59L, 1044C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/41[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin =
[35;100H1[36;1H' -c 'let ExtraVimResult = "/tmp/v101798/41"' -S /tmp/v101798/40[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H"/tmp/v101798/41" [35;19H[K[36;1H[K[35;19H9L, 56C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [35;13H[K[35;13H13L, 320C
*** Test  21: OK (147932225)"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/42[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/42" [36;19H[K[36;19H23L, 418C appended[36;19H[K[36;19H24L, 440C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/43[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin =
[35;100H1[36;1H' -c 'let ExtraVimResult = "/tmp/v101798/43"' -S /tmp/v101798/42[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H"/tmp/v101798/43" [35;19H[K[36;1H[K[35;19H1L, 2C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [35;13H[K[35;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/44[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/44" [36;19H[K[36;19H23L, 437C appended[36;19H[K[36;19H24L, 459C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/45[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q[1m[34m^M[0mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin
= 1' -c 'let ExtraVimResult = "/tmp/v101798/45"' -c 'breakadd func 2 Interrupt' -S /tmp/v101798/44[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H"/tmp/v101798/45" [35;19H[K[36;1H[K[35;19H1L, 3C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [35;13H[K[35;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/46[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/46" [36;19H[K[36;19H21L, 386C appended[36;19H[K[36;19H22L, 408C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/47[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin =
[35;100H1[36;1H' -c 'let ExtraVimResult = "/tmp/v101798/47"' -S /tmp/v101798/46[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H"/tmp/v101798/47" [35;19H[K[36;1H[K[35;19H1L, 5C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [35;13H[K[35;13H13L, 320C
*** Test  22: OK (4161)"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/48[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/48" [36;19H[K[36;19H25L, 432C appended[36;19H[K[36;19H26L, 454C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/49[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin =
[35;100H1[36;1H' -c 'let ExtraVimResult = "/tmp/v101798/49"' -S /tmp/v101798/48[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H"/tmp/v101798/49" [35;19H[K[36;1H[K[35;19H3L, 8C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [35;13H[K[35;13H13L, 320C
*** Test  23: OK (49)"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/50[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/50" [36;19H[K[36;19H16L, 392C appended[36;19H[K[36;19H17L, 414C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/51[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin =
[35;100H1[36;1H' -c 'let ExtraVimResult = "/tmp/v101798/51"' -S /tmp/v101798/50[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H"/tmp/v101798/51" [35;19H[K[36;1H[K[35;19H3L, 7C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [35;13H[K[35;13H13L, 320C
*** Test  24: OK (41)
*** Test  25: OK (260177811)
*** Test  26: OK (1681500476)
*** Test  27: OK (1996459)
   function F()
1      try
2[10CXpath 1[33C" X: 1
3[10Ctry
4[14CXpath 2[29C" X: 2
5[14Creturn
6[14CXpath 4[29C" X: 0
7[10Cfinally
8[14CXpath 8[29C" X: 8
9[10Cendtry
10[9CXpath 16[32C" X: 0
11     finally
12[9CXpath 32[32C" X: 32
13     endtry
14     Xpath 64[36C" X: 0
   endfunction[21;1H"/tmp/v101798/52"[22;1H[K[23;1H[K[24;1H[K[25;1H[K[26;1H[K[27;1H[K[28;1H[K[29;1H[K[30;1H[K[31;1H[K[32;1H[K[33;1H[K[34;1H[K[35;1H[K[36;4H[K[21;19H[noeol] 17L, 552C
14 substitutions on 14 lines
E486: Pattern not found: ^\s*$"/tmp/v101798/52"[23;19H[K[23;19H14L, 502C written"test49.in" [23;13H[K[23;13H13L, 320C
   function G()
1      try
2[10CXpath 128[31C" X: 128
3[10Creturn
4[10CXpath 256[31C" X: 0
5      finally
6[10CXpath 512[31C" X: 512
7[10Ccall F()
8[10CXpath 1024[30C" X: 1024
9      endtry
10     Xpath 2048[34C" X: 0
   endfunction[24;1H"/tmp/v101798/53"[25;1H[K[26;1H[K[27;1H[K[28;1H[K[29;1H[K[30;1H[K[31;1H[K[32;1H[K[33;1H[K[34;1H[K[35;4H[K[24;19H[noeol] 13L, 406C
10 substitutions on 10 lines
E486: Pattern not found: ^\s*$"/tmp/v101798/53"[26;19H[K[26;19H10L, 378C written"test49.in" [26;13H[K[26;13H13L, 320C
   function H()
1      try
2[10CXpath 4096[30C" X: 4096
3[10Ccall G()
4[10CXpath 8192[30C" X: 8192
5      finally
6[10CXpath 16384[29C" X: 16384
7[10Creturn
8[10CXpath 32768[29C" X: 0
9      endtry
10     Xpath 65536[33C" X: 0
   endfunction[25;1H"/tmp/v101798/54"[26;1H[K[27;1H[K[28;1H[K[29;1H[K[30;1H[K[31;1H[K[32;1H[K[33;1H[K[34;1H[K[35;1H[K[36;4H[K[25;19H[noeol] 13L, 409C
10 substitutions on 10 lines
E486: Pattern not found: ^\s*$"/tmp/v101798/54"[27;19H[K[27;19H10L, 381C written"test49.in" [27;13H[K[27;13H13L, 320C
*** Test  28: OK (1996459)"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/55[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[29;1H[K[29;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/55" [29;19H[K[29;19H39L, 721C appended[29;19H[K[29;19H40L, 743C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/56[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[31;1H:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1[32;1H' -c 'let ExtraVimResult = "/tmp/v101798/56"' -S /tmp/v101798/55[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[31;1H"/tmp/v101798/56" [31;19H[K[32;1H[K[31;19H6L, 21C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [31;13H[K[31;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/57[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[32;1H[K[32;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/57" [32;19H[K[32;19H23L, 509C appended[32;19H[K[32;19H24L, 531C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/58[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1[35;1H' -c 'let ExtraVimResult = "/tmp/v101798/58"' -S /tmp/v101798/57[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/58" [34;19H[K[35;1H[K[34;19H4L, 34C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C
*** Test  29: OK (170428555)"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/59[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/59" [36;19H[K[36;19H60L, 1101C appended[36;19H[K[36;19H61L, 1123C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/60[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let Extr
[35;100Ha[36;1HVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798/60"' -c 'breakadd func 3 F' -c 'breakadd file
[35;100H1[36;1H9 /tmp/v101798/59' -c 'breakadd file 31 /tmp/v101798/59' -S /tmp/v101798/59[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/60" [34;19H[K[35;1H[K[36;1H[K[34;19H16L, 89C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C
*** Test  30: OK (190905173)"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/61[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/61" [36;19H[K[36;19H60L, 1122C appended[36;19H[K[36;19H61L, 1144C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/62[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin =
[35;100H1[36;1H' -c 'let ExtraVimResult = "/tmp/v101798/62"' -S /tmp/v101798/61[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H"/tmp/v101798/62" [35;19H[K[36;1H[K[35;19H16L, 89C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [35;13H[K[35;13H13L, 320C
*** Test  31: OK (190905173)
*** Test  32: OK (354833067)
*** Test  33: OK (1216907538)"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/63[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/63" [36;19H[K[36;19H63L, 1288C appended[36;19H[K[36;19H64L, 1310C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/64[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c
[35;100H'[36;1Hlet ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798/64"' -c 'breakadd func 16 C' -S /tmp/
[35;100Hv[36;1H101798/63[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/64" [34;19H[K[35;1H[K[36;1H[K[34;19H17L, 127C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C
*** Test  34: OK (2146584868)"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/65[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/65" [36;19H[K[36;19H63L, 1285C appended[36;19H[K[36;19H64L, 1307C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/66[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c
[35;100H'[36;1Hlet ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798/66"' -c 'breakadd func 16 B' -S /tmp/
[35;100Hv[36;1H101798/65[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/66" [34;19H[K[35;1H[K[36;1H[K[34;19H17L, 127C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C
*** Test  35: OK (2146584868)"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/67[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/67" [36;19H[K[36;19H66L, 1430C appended[36;19H[K[36;19H67L, 1452C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/68[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'le
[35;100Ht[36;2HExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798/68"' -c 'breakadd func 16 R' -S /tmp/v10
[35;100H1[36;1H798/67[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/68" [34;19H[K[35;2H[K[36;1H[K[34;19H9L, 81C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C
*** Test  36: OK (1071644672)"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/69[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/69" [36;19H[K[36;19H73L, 1488C appended[36;19H[K[36;19H74L, 1510C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/70[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin =
[35;100H1[36;1H' -c 'let ExtraVimResult = "/tmp/v101798/70"' -c 'breakadd func 16 F' -S /tmp/v101798/69[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H"/tmp/v101798/70" [35;19H[K[36;1H[K[35;19H9L, 81C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [35;13H[K[35;13H13L, 320C
*** Test  37: OK (1071644672)"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/71[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/71" [36;19H[K[36;19H82L, 1519C appended[36;19H[K[36;19H83L, 1541C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/72[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c
[35;100H'[36;1Hlet ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798/72"' -c 'breakadd func 16 E' -S /tmp/
[35;100Hv[36;1H101798/71[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/72" [34;19H[K[35;1H[K[36;1H[K[34;19H8L, 63C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C
*** Test  38: OK (357908480)"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/73[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/73" [36;19H[K[36;19H83L, 1538C appended[36;19H[K[36;19H84L, 1560C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/74[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set v
[35;100Hi[36;1Hminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798/74"' -c 'breakad
[35;100Hd[36;2Hfunc 16 I' -c 'breakadd func 22 I' -S /tmp/v101798/73[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/74" [34;19H[K[35;1H[K[36;2H[K[34;19H8L, 63C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C
*** Test  39: OK (357908480)"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/75[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/75" [36;19H[K[36;19H82L, 1519C appended[36;19H[K[36;19H83L, 1541C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/76[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c
[35;100H'[36;1Hlet ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798/76"' -c 'breakadd func 16 T' -S /tmp/
[35;100Hv[36;1H101798/75[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/76" [34;19H[K[35;1H[K[36;1H[K[34;19H8L, 63C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C
*** Test  40: OK (357908480)
*** Test  41: OK (3076095)
*** Test  42: OK (1505155949)
*** Test  43: OK (1157763329)
*** Test  44: OK (1031761407)
*** Test  45: OK (1157763329)
*** Test  46: OK (739407)
*** Test  47: OK (371213935)
*** Test  48: OK (756255461)
*** Test  49: OK (179000669)
   function C()
1      try
2[10CXpath 1[33C" X: 1
3[10Cthrow "arrgh"
4[10CXpath 2[33C" X: 0
5      catch /arrgh/
6[10CXpath 4[33C" X: 4
7      endtry
8      Xpath 8[37C" X: 8
   endfunction[27;1H"/tmp/v101798/77"[28;1H[K[29;1H[K[30;1H[K[31;1H[K[32;1H[K[33;1H[K[34;1H[K[35;1H[K[36;4H[K[27;19H[noeol] 11L, 334C
8 substitutions on 8 lines
E486: Pattern not found: ^\s*$"/tmp/v101798/77"[29;19H[K[29;19H8L, 295C written"test49.in" [29;13H[K[29;13H13L, 320C
   function T1()
1      XloopNEXT
2      try
3[10CXloop 1[33C" X: 16 + 16*16
4[10Cthrow "arrgh"
5[10CXloop 2[33C" X: 0
6      finally
7[10CXloop 4[33C" X: 64 + 64*16
8      endtry
9      Xloop 8[37C" X: 0
   endfunction[26;1H"/tmp/v101798/78"[27;1H[K[28;1H[K[29;1H[K[30;1H[K[31;1H[K[32;1H[K[33;1H[K[34;1H[K[35;1H[K[36;4H[K[26;19H[noeol] 12L, 364C
9 substitutions on 9 lines
E486: Pattern not found: ^\s*$"/tmp/v101798/78"[28;19H[K[28;19H9L, 323C written"test49.in" [28;13H[K[28;13H13L, 320C
   function T2()
1      try
2[10CXpath 4096[30C" X: 4096
3[10Ccall T1()
4[10CXpath 8192[30C" X: 0
5      finally
6[10CXpath 16384[29C" X: 16384
7      endtry
8      Xpath 32768[33C" X: 0
   endfunction[27;1H"/tmp/v101798/79"[28;1H[K[29;1H[K[30;1H[K[31;1H[K[32;1H[K[33;1H[K[34;1H[K[35;1H[K[36;4H[K[27;19H[noeol] 11L, 332C
8 substitutions on 8 lines
E486: Pattern not found: ^\s*$"/tmp/v101798/79"[29;19H[K[29;19H8L, 305C written"test49.in" [29;13H[K[29;13H13L, 320C
*** Test  50: OK (363550045)
*** Test  51: OK (40744667)"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/81[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[32;1H[K[32;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/81" [32;19H[K[32;19H2L, 41C appended[32;19H[K[32;19H3L, 63C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/82[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/80' -c 'de[35;1Hbuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798/8[36;1H2"' -S /tmp/v101798/81[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/82" [34;19H[K[35;1H[K[36;1H[K[34;19H1L, 2C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/80" [34;19H[K[34;19H8L, 182C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/83[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/83" [35;19H[K[35;19H7L, 115C appended[35;19H[K[35;19H8L, 137C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/84[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/80' -c 'd
[35;100He[36;1Hbuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798/
[35;100H8[36;1H4"' -S /tmp/v101798/83[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/84" [34;19H[K[35;1H[K[36;1H[K[34;19H1L, 2C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/80" [34;19H[K[34;19H8L, 181C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/85[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/85" [35;19H[K[35;19H12L, 180C appended[35;19H[K[35;19H13L, 202C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/86[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/80' -c 'd
[35;100He[36;1Hbuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798/
[35;100H8[36;1H6"' -S /tmp/v101798/85[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/86" [34;19H[K[35;1H[K[36;1H[K[34;19H2L, 8C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/80" [34;19H[K[34;19H10L, 209C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/87[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/87" [35;19H[K[35;19H8L, 139C appended[35;19H[K[35;19H9L, 161C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/88[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/80' -c 'd
[35;100He[36;1Hbuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798/
[35;100H8[36;1H8"' -S /tmp/v101798/87[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/88" [34;19H[K[35;1H[K[36;1H[K[34;19H2L, 11C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/80" [34;19H[K[34;19H10L, 217C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/89[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/89" [35;19H[K[35;19H5L, 87C appended[35;19H[K[35;19H6L, 109C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/90[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q[1m[34m^M[0mq' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/80' -c
'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v1017
[35;100H9[36;1H8/90"' -c 'breakadd file 4 /tmp/v101798/89' -S /tmp/v101798/89[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/90" [34;19H[K[35;1H[K[36;1H[K[34;19H1L, 7C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/80" [34;19H[K[34;19H[noeol] 9L, 202C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/91[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/91" [35;19H[K[35;19H7L, 189C appended[35;19H[K[35;19H8L, 211C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/92[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/80' -c 'd
[35;100He[36;1Hbuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798/
[35;100H9[36;1H2"' -S /tmp/v101798/91[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/92" [34;19H[K[35;1H[K[36;1H[K[34;19H1L, 8C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/80" [34;19H[K[34;19H9L, 252C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/93[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/93" [35;19H[K[35;19H7L, 199C appended[35;19H[K[35;19H8L, 221C[35;19H[K[35;19H8L, 220C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/94[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/80' -c 'd
[35;100He[36;1Hbuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798/
[35;100H9[36;1H4"' -S /tmp/v101798/93[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/94" [34;19H[K[35;1H[K[36;1H[K[34;19H1L, 10C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/80" [34;19H[K[34;19H9L, 214C"test49.in" [34;13H[K[34;13H13L, 320C
*** Test  52: OK (1247112011)"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/96[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/96" [36;19H[K[36;19H1L, 10C appended[36;19H[K[36;19H2L, 32C[36;19H[K[36;19H2L, 31C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/97[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/95' -c 'd
[35;100He[36;1Hbuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798/
[35;100H9[36;1H7"' -S /tmp/v101798/96[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/97" [34;19H[K[35;1H[K[36;1H[K[34;19H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/95" [34;19H[K[34;19H6L, 154C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/98[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/98" [35;19H[K[35;19H3L, 39C appended[35;19H[K[35;19H4L, 61C
3 substitutions on 3 lines"/tmp/v101798/98" [36;20H[K[36;19H4L, 58C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/99[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/95' -c 'd
[35;100He[36;1Hbuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798/
[35;100H9[36;1H9"' -S /tmp/v101798/98[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/99" [34;19H[K[35;1H[K[36;1H[K[34;19H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/95" [34;19H[K[34;19H6L, 158C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/100[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/100" [35;20H[K[35;20H4L, 45C appended[35;20H[K[35;20H5L, 67C
4 substitutions on 4 lines"/tmp/v101798/100"[36;20H[K[36;20H5L, 63C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/101[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/95' -c 'd
[35;100He[36;1Hbuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798/
[35;100H1[36;1H01"' -S /tmp/v101798/100[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/101" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/95" [34;19H[K[34;19H6L, 159C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/102[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/102" [35;20H[K[35;20H3L, 33C appended[35;20H[K[35;20H4L, 55C
3 substitutions on 3 lines"/tmp/v101798/102"[36;20H[K[36;20H4L, 52C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/103[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/95' -c 'd
[35;100He[36;1Hbuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798/
[35;100H1[36;1H03"' -S /tmp/v101798/102[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/103" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/95" [34;19H[K[34;19H6L, 159C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/104[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/104" [35;20H[K[35;20H5L, 65C appended[35;20H[K[35;20H6L, 87C
5 substitutions on 5 lines"/tmp/v101798/104"[36;20H[K[36;20H6L, 82C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/105[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/95' -c 'd
[35;100He[36;1Hbuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798/
[35;100H1[36;1H05"' -S /tmp/v101798/104[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/105" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/95" [34;19H[K[34;19H6L, 159C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/106[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/106" [35;20H[K[35;20H1L, 9C appended[35;20H[K[35;20H2L, 31C[35;20H[K[35;20H2L, 30C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/107[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/95' -c 'd
[35;100He[36;1Hbuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798/
[35;100H1[36;1H07"' -S /tmp/v101798/106[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/107" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/95" [34;19H[K[34;19H6L, 153C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/108[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/108" [35;20H[K[35;20H3L, 38C appended[35;20H[K[35;20H4L, 60C
3 substitutions on 3 lines"/tmp/v101798/108"[36;20H[K[36;20H4L, 57C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/109[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/95' -c 'd
[35;100He[36;1Hbuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798/
[35;100H1[36;1H09"' -S /tmp/v101798/108[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/109" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/95" [34;19H[K[34;19H6L, 157C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/110[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/110" [35;20H[K[35;20H4L, 44C appended[35;20H[K[35;20H5L, 66C
4 substitutions on 4 lines"/tmp/v101798/110"[36;20H[K[36;20H5L, 62C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/111[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/95' -c 'd
[35;100He[36;1Hbuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798/
[35;100H1[36;1H11"' -S /tmp/v101798/110[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/111" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/95" [34;19H[K[34;19H6L, 157C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/112[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/112" [35;20H[K[35;20H3L, 32C appended[35;20H[K[35;20H4L, 54C
3 substitutions on 3 lines"/tmp/v101798/112"[36;20H[K[36;20H4L, 51C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/113[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/95' -c 'd
[35;100He[36;1Hbuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798/
[35;100H1[36;1H13"' -S /tmp/v101798/112[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/113" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/95" [34;19H[K[34;19H6L, 157C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/114[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/114" [35;20H[K[35;20H5L, 64C appended[35;20H[K[35;20H6L, 86C
5 substitutions on 5 lines"/tmp/v101798/114"[36;20H[K[36;20H6L, 81C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/115[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/95' -c 'd
[35;100He[36;1Hbuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798/
[35;100H1[36;1H15"' -S /tmp/v101798/114[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/115" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/95" [34;19H[K[34;19H6L, 157C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/116[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/116" [35;20H[K[35;20H1L, 11C appended[35;20H[K[35;20H2L, 33C[35;20H[K[35;20H2L, 32C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/117[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/95' -c 'd
[35;100He[36;1Hbuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798/
[35;100H1[36;1H17"' -S /tmp/v101798/116[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/117" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/95" [34;19H[K[34;19H6L, 157C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/118[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/118" [35;20H[K[35;20H3L, 40C appended[35;20H[K[35;20H4L, 62C
3 substitutions on 3 lines"/tmp/v101798/118"[36;20H[K[36;20H4L, 59C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/119[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/95' -c 'd
[35;100He[36;1Hbuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798/
[35;100H1[36;1H19"' -S /tmp/v101798/118[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/119" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/95" [34;19H[K[34;19H6L, 161C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/120[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/120" [35;20H[K[35;20H4L, 46C appended[35;20H[K[35;20H5L, 68C
4 substitutions on 4 lines"/tmp/v101798/120"[36;20H[K[36;20H5L, 64C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/121[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/95' -c 'd
[35;100He[36;1Hbuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798/
[35;100H1[36;1H21"' -S /tmp/v101798/120[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/121" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/95" [34;19H[K[34;19H6L, 161C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/122[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/122" [35;20H[K[35;20H3L, 34C appended[35;20H[K[35;20H4L, 56C
3 substitutions on 3 lines"/tmp/v101798/122"[36;20H[K[36;20H4L, 53C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/123[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/95' -c 'd
[35;100He[36;1Hbuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798/
[35;100H1[36;1H23"' -S /tmp/v101798/122[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/123" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/95" [34;19H[K[34;19H6L, 161C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/124[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/124" [35;20H[K[35;20H5L, 66C appended[35;20H[K[35;20H6L, 88C
5 substitutions on 5 lines"/tmp/v101798/124"[36;20H[K[36;20H6L, 83C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/125[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/95' -c 'd
[35;100He[36;1Hbuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798/
[35;100H1[36;1H25"' -S /tmp/v101798/124[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/125" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/95" [34;19H[K[34;19H6L, 161C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/126[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/126" [35;20H[K[35;20H4L, 37C appended[35;20H[K[35;20H5L, 59C
4 substitutions on 4 lines"/tmp/v101798/126"[36;20H[K[36;20H5L, 55C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/127[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/95' -c 'd
[35;100He[36;1Hbuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798/
[35;100H1[36;1H27"' -S /tmp/v101798/126[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/127" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/95" [34;19H[K[34;19H6L, 150C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/128[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/128" [35;20H[K[35;20H4L, 41C appended[35;20H[K[35;20H5L, 63C
4 substitutions on 4 lines"/tmp/v101798/128"[36;20H[K[36;20H5L, 59C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/129[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/95' -c 'd
[35;100He[36;1Hbuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798/
[35;100H1[36;1H29"' -S /tmp/v101798/128[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/129" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/95" [34;19H[K[34;19H6L, 159C"test49.in" [34;13H[K[34;13H13L, 320C
*** Test  53: OK (131071)"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/131[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/131" [36;20H[K[36;20H1L, 13C appended[36;20H[K[36;20H2L, 35C[36;20H[K[36;20H2L, 34C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/132[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/130' -c '
[35;100Hd[36;1Hebuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798
[35;100H/[36;1H132"' -S /tmp/v101798/131[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/132" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/130" [34;20H[K[34;20H6L, 164C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/133[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/133" [35;20H[K[35;20H3L, 36C appended[35;20H[K[35;20H4L, 58C
3 substitutions on 3 lines"/tmp/v101798/133"[36;20H[K[36;20H4L, 55C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/134[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/130' -c '
[35;100Hd[36;1Hebuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798
[35;100H/[36;1H134"' -S /tmp/v101798/133[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/134" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/130" [34;20H[K[34;20H6L, 168C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/135[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/135" [35;20H[K[35;20H3L, 38C appended[35;20H[K[35;20H4L, 60C
3 substitutions on 3 lines"/tmp/v101798/135"[36;20H[K[36;20H4L, 57C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/136[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/130' -c '
[35;100Hd[36;1Hebuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798
[35;100H/[36;1H136"' -S /tmp/v101798/135[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/136" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/130" [34;20H[K[34;20H6L, 154C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/137[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/137" [35;20H[K[35;20H4L, 48C appended[35;20H[K[35;20H5L, 70C
4 substitutions on 4 lines"/tmp/v101798/137"[36;20H[K[36;20H5L, 66C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/138[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/130' -c '
[35;100Hd[36;1Hebuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798
[35;100H/[36;1H138"' -S /tmp/v101798/137[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/138" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/130" [34;20H[K[34;20H6L, 168C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/139[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/139" [35;20H[K[35;20H4L, 53C appended[35;20H[K[35;20H5L, 75C
4 substitutions on 4 lines"/tmp/v101798/139"[36;20H[K[36;20H5L, 71C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/140[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/130' -c '
[35;100Hd[36;1Hebuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798
[35;100H/[36;1H140"' -S /tmp/v101798/139[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/140" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/130" [34;20H[K[34;20H6L, 155C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/141[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/141" [35;20H[K[35;20H5L, 62C appended[35;20H[K[35;20H6L, 84C
5 substitutions on 5 lines"/tmp/v101798/141"[36;20H[K[36;20H6L, 79C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/142[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/130' -c '
[35;100Hd[36;1Hebuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798
[35;100H/[36;1H142"' -S /tmp/v101798/141[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/142" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/130" [34;20H[K[34;20H6L, 155C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/143[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/143" [35;20H[K[35;20H5L, 64C appended[35;20H[K[35;20H6L, 86C
5 substitutions on 5 lines"/tmp/v101798/143"[36;20H[K[36;20H6L, 81C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/144[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/130' -c '
[35;100Hd[36;1Hebuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798
[35;100H/[36;1H144"' -S /tmp/v101798/143[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/144" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/130" [34;20H[K[34;20H6L, 154C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/145[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/145" [35;20H[K[35;20H3L, 36C appended[35;20H[K[35;20H4L, 58C
3 substitutions on 3 lines"/tmp/v101798/145"[36;20H[K[36;20H4L, 55C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/146[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/130' -c '
[35;100Hd[36;1Hebuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798
[35;100H/[36;1H146"' -S /tmp/v101798/145[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/146" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/130" [34;20H[K[34;20H6L, 168C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/147[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/147" [35;20H[K[35;20H5L, 67C appended[35;20H[K[35;20H6L, 89C
5 substitutions on 5 lines"/tmp/v101798/147"[36;20H[K[36;20H6L, 84C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/148[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/130' -c '
[35;100Hd[36;1Hebuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798
[35;100H/[36;1H148"' -S /tmp/v101798/147[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/148" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/130" [34;20H[K[34;20H6L, 167C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/149[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/149" [35;20H[K[35;20H5L, 68C appended[35;20H[K[35;20H6L, 90C
5 substitutions on 5 lines"/tmp/v101798/149"[36;20H[K[36;20H6L, 85C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/150[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/130' -c '
[35;100Hd[36;1Hebuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798
[35;100H/[36;1H150"' -S /tmp/v101798/149[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/150" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/130" [34;20H[K[34;20H6L, 168C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/151[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/151" [35;20H[K[35;20H7L, 95C appended[35;20H[K[35;20H8L, 117C
7 substitutions on 7 lines"/tmp/v101798/151"[36;20H[K[36;20H8L, 110C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/152[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/130' -c '
[35;100Hd[36;1Hebuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798
[35;100H/[36;1H152"' -S /tmp/v101798/151[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/152" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/130" [34;20H[K[34;20H6L, 167C"test49.in" [34;13H[K[34;13H13L, 320C
*** Test  54: OK (2047)"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/154[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/154" [36;20H[K[36;20H1L, 13C appended[36;20H[K[36;20H2L, 35C[36;20H[K[36;20H2L, 34C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/155[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/153' -c '
[35;100Hd[36;1Hebuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798
[35;100H/[36;1H155"' -S /tmp/v101798/154[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/155" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/153" [34;20H[K[34;20H6L, 172C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/156[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/156" [35;20H[K[35;20H3L, 36C appended[35;20H[K[35;20H4L, 58C
3 substitutions on 3 lines"/tmp/v101798/156"[36;20H[K[36;20H4L, 55C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/157[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/153' -c '
[35;100Hd[36;1Hebuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798
[35;100H/[36;1H157"' -S /tmp/v101798/156[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/157" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/153" [34;20H[K[34;20H6L, 176C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/158[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/158" [35;20H[K[35;20H4L, 48C appended[35;20H[K[35;20H5L, 70C
4 substitutions on 4 lines"/tmp/v101798/158"[36;20H[K[36;20H5L, 66C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/159[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/153' -c '
[35;100Hd[36;1Hebuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798
[35;100H/[36;1H159"' -S /tmp/v101798/158[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/159" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/153" [34;20H[K[34;20H6L, 176C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/160[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/160" [35;20H[K[35;20H3L, 36C appended[35;20H[K[35;20H4L, 58C
3 substitutions on 3 lines"/tmp/v101798/160"[36;20H[K[36;20H4L, 55C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/161[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/153' -c '
[35;100Hd[36;1Hebuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798
[35;100H/[36;1H161"' -S /tmp/v101798/160[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/161" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/153" [34;20H[K[34;20H6L, 176C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/162[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/162" [35;20H[K[35;20H5L, 68C appended[35;20H[K[35;20H6L, 90C
5 substitutions on 5 lines"/tmp/v101798/162"[36;20H[K[36;20H6L, 85C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/163[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/153' -c '
[35;100Hd[36;1Hebuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798
[35;100H/[36;1H163"' -S /tmp/v101798/162[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/163" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/153" [34;20H[K[34;20H6L, 176C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/164[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/164" [35;20H[K[35;20H1L, 10C appended[35;20H[K[35;20H2L, 32C[35;20H[K[35;20H2L, 31C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/165[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/153' -c '
[35;100Hd[36;1Hebuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798
[35;100H/[36;1H165"' -S /tmp/v101798/164[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/165" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/153" [34;20H[K[34;20H6L, 166C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/166[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/166" [35;20H[K[35;20H3L, 33C appended[35;20H[K[35;20H4L, 55C
3 substitutions on 3 lines"/tmp/v101798/166"[36;20H[K[36;20H4L, 52C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/167[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/153' -c '
[35;100Hd[36;1Hebuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798
[35;100H/[36;1H167"' -S /tmp/v101798/166[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/167" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/153" [34;20H[K[34;20H6L, 170C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/168[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/168" [35;20H[K[35;20H4L, 45C appended[35;20H[K[35;20H5L, 67C
4 substitutions on 4 lines"/tmp/v101798/168"[36;20H[K[36;20H5L, 63C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/169[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/153' -c '
[35;100Hd[36;1Hebuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798
[35;100H/[36;1H169"' -S /tmp/v101798/168[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/169" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/153" [34;20H[K[34;20H6L, 170C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/170[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/170" [35;20H[K[35;20H3L, 33C appended[35;20H[K[35;20H4L, 55C
3 substitutions on 3 lines"/tmp/v101798/170"[36;20H[K[36;20H4L, 52C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/171[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/153' -c '
[35;100Hd[36;1Hebuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798
[35;100H/[36;1H171"' -S /tmp/v101798/170[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/171" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/153" [34;20H[K[34;20H6L, 170C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/172[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/172" [35;20H[K[35;20H5L, 65C appended[35;20H[K[35;20H6L, 87C
5 substitutions on 5 lines"/tmp/v101798/172"[36;20H[K[36;20H6L, 82C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/173[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/153' -c '
[35;100Hd[36;1Hebuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798
[35;100H/[36;1H173"' -S /tmp/v101798/172[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/173" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/153" [34;20H[K[34;20H6L, 170C"test49.in" [34;13H[K[34;13H13L, 320C
*** Test  55: OK (1023)"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/175[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/175" [36;20H[K[36;20H1L, 11C appended[36;20H[K[36;20H2L, 33C[36;20H[K[36;20H2L, 32C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/176[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/174' -c '
[35;100Hd[36;1Hebuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798
[35;100H/[36;1H176"' -S /tmp/v101798/175[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/176" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/174" [34;20H[K[34;20H6L, 158C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/177[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/177" [35;20H[K[35;20H3L, 34C appended[35;20H[K[35;20H4L, 56C
3 substitutions on 3 lines"/tmp/v101798/177"[36;20H[K[36;20H4L, 53C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/178[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/174' -c '
[35;100Hd[36;1Hebuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798
[35;100H/[36;1H178"' -S /tmp/v101798/177[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/178" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/174" [34;20H[K[34;20H6L, 162C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/179[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/179" [35;20H[K[35;20H3L, 40C appended[35;20H[K[35;20H4L, 62C
3 substitutions on 3 lines"/tmp/v101798/179"[36;20H[K[36;20H4L, 59C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/180[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/174' -c '
[35;100Hd[36;1Hebuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798
[35;100H/[36;1H180"' -S /tmp/v101798/179[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/180" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/174" [34;20H[K[34;20H6L, 162C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/181[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/181" [35;20H[K[35;20H3L, 32C appended[35;20H[K[35;20H4L, 54C
3 substitutions on 3 lines"/tmp/v101798/181"[36;20H[K[36;20H4L, 51C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/182[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/174' -c '
[35;100Hd[36;1Hebuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798
[35;100H/[36;1H182"' -S /tmp/v101798/181[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/182" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/174" [34;20H[K[34;20H6L, 152C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/183[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/183" [35;20H[K[35;20H3L, 35C appended[35;20H[K[35;20H4L, 57C
3 substitutions on 3 lines"/tmp/v101798/183"[36;20H[K[36;20H4L, 54C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/184[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/174' -c '
[35;100Hd[36;1Hebuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798
[35;100H/[36;1H184"' -S /tmp/v101798/183[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/184" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/174" [34;20H[K[34;20H6L, 155C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/185[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/185" [35;20H[K[35;20H4L, 44C appended[35;20H[K[35;20H5L, 66C
4 substitutions on 4 lines"/tmp/v101798/185"[36;20H[K[36;20H5L, 62C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/186[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/174' -c '
[35;100Hd[36;1Hebuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798
[35;100H/[36;1H186"' -S /tmp/v101798/185[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/186" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/174" [34;20H[K[34;20H6L, 152C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/187[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/187" [35;20H[K[35;20H4L, 47C appended[35;20H[K[35;20H5L, 69C
4 substitutions on 4 lines"/tmp/v101798/187"[36;20H[K[36;20H5L, 65C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/188[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/174' -c '
[35;100Hd[36;1Hebuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798
[35;100H/[36;1H188"' -S /tmp/v101798/187[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/188" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/174" [34;20H[K[34;20H6L, 155C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/189[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/189" [35;20H[K[35;20H5L, 64C appended[35;20H[K[35;20H6L, 86C
5 substitutions on 5 lines"/tmp/v101798/189"[36;20H[K[36;20H6L, 81C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/190[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/174' -c '
[35;100Hd[36;1Hebuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798
[35;100H/[36;1H190"' -S /tmp/v101798/189[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/190" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/174" [34;20H[K[34;20H6L, 152C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/191[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/191" [35;20H[K[35;20H5L, 67C appended[35;20H[K[35;20H6L, 89C
5 substitutions on 5 lines"/tmp/v101798/191"[36;20H[K[36;20H6L, 84C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/192[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/tmp/v101798/174' -c '
[35;100Hd[36;1Hebuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798
[35;100H/[36;1H192"' -S /tmp/v101798/191[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/192" [34;21H[K[35;1H[K[36;1H[K[34;20H0L, 0C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/tmp/v101798/174" [34;20H[K[34;20H6L, 155C"test49.in" [34;13H[K[34;13H13L, 320C
*** Test  56: OK (511)
   function FuncException()
1      let g:exception = v:exception
   endfunction[34;1H"/tmp/v101798/193" [34;20H[K[35;1H[K[36;4H[K[34;20H[noeol] 4L, 80C
E486: Pattern not found: ^\s*$"/tmp/v101798/193" [35;20H[K[35;20H1L, 36C written"test49.in" [35;13H[K[35;13H13L, 320C
   function FuncThrowpoint()
1      let g:throwpoint = v:throwpoint
   endfunction[34;1H"/tmp/v101798/194" [34;20H[K[35;1H[K[36;4H[K[34;20H[noeol] 4L, 83C
E486: Pattern not found: ^\s*$"/tmp/v101798/194" [35;20H[K[35;20H1L, 38C written"test49.in" [35;13H[K[35;13H13L, 320C
   function T(arg, line)
1      if a:line == 2
2[10Cthrow a:arg[13C" in line 2
3      elseif a:line == 4
4[10Cthrow a:arg[13C" in line 4
5      elseif a:line == 6
6[10Cthrow a:arg[13C" in line 6
7      elseif a:line == 8
8[10Cthrow a:arg[13C" in line 8
9      endif
   endfunction[26;1H"/tmp/v101798/195"[26;20H[K[27;1H[K[28;1H[K[29;1H[K[30;1H[K[31;1H[K[32;1H[K[33;1H[K[34;1H[K[35;1H[K[36;4H[K[26;20H[noeol] 12L, 341C
9 substitutions on 9 lines
8 substitutions on 8 lines
E486: Pattern not found: ^\s*$"/tmp/v101798/195" [29;20H[K[29;20H9L, 292C written"test49.in" [29;13H[K[29;13H13L, 320C
   function G(arg, line)
1      call T(a:arg, a:line)
   endfunction[30;1H"/tmp/v101798/196"[30;20H[K[31;1H[K[32;4H[K[30;20H[noeol] 4L, 69C
E486: Pattern not found: ^\s*$"/tmp/v101798/196" [31;20H[K[31;20H1L, 30C written"test49.in" [31;13H[K[31;13H13L, 320C
   function F(arg, line)
1      call G(a:arg, a:line)
   endfunction[32;1H"/tmp/v101798/197"[32;20H[K[33;1H[K[34;4H[K[32;20H[noeol] 4L, 69C
E486: Pattern not found: ^\s*$"/tmp/v101798/197" [33;20H[K[33;20H1L, 30C written"test49.in" [33;13H[K[33;13H13L, 320C
*** Test  57: OK (2147450880)"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/198[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/198" [35;20H[K[35;20H87L, 1700C appended[35;20H[K[35;20H88L, 1722C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/199[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q[1m[34m^M[0mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin
= 1' -c 'let ExtraVimResult = "/tmp/v101798/199"' -c 'breakadd func 4 T' -S /tmp/v101798/198[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H"/tmp/v101798/199" [35;20H[K[36;1H[K[35;20H8L, 36C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [35;13H[K[35;13H13L, 320C
*** Test  58: OK (624945)"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/200[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/200" [36;20H[K[36;20H293L, 5789C appended[36;20H[K[36;20H294L, 5811C
3 substitutions on 3 lines"/tmp/v101798/200"[36;20H[K[36;20H294L, 5808C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/201[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q[1m[34m^M[0mq[1m[34m^M[0mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBe
[35;100Hg[36;1Hin = 1' -c 'let ExtraVimResult = "/tmp/v101798/201"' -c 'breakadd file 115 /tmp/v101798/200' -c 'br
[35;100He[36;1Hakadd file 225 /tmp/v101798/200' -S /tmp/v101798/200[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/201"[34;20H[K[35;1H[K[36;1H[K[34;20H28L, 162C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C
*** Test  59: OK (2038431743)"/n/o/n/w/r/i/t/a/b/l/e/_/f/i/l/e""/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/202[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/202" [36;20H[K[36;20H33L, 765C appended[36;20H[K[36;20H34L, 787C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/203[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q[1m[34m^M[0mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin
= 1' -c 'let ExtraVimResult = "/tmp/v101798/203"' -c 'breakadd file 7 /tmp/v101798/202' -S /tmp/v10
[35;100H1[36;1H798/202[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/203" [34;20H[K[35;1H[K[36;1H[K[34;20H3L, 27C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C
*** Test  60: OK (311511339)"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/204[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/204" [36;20H[K[36;20H115L, 2272C appended[36;20H[K[36;20H116L, 2294C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/205[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'le
[35;100Ht[36;2HExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798/205"' -c 'breakadd file 8 /tmp/v101798/2
[35;100H0[36;1H4' -c 'breakadd file 36 /tmp/v101798/204' -c 'breakadd file 40 /tmp/v101798/204' -c 'breakadd file
[35;100H6[36;1H9 /tmp/v101798/204' -c 'breakadd file 95 /tmp/v101798/204' -c 'breakadd file 97 /tmp/v101798/204' -
[35;100HS[36;2H/tmp/v101798/204[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[32;1H"/tmp/v101798/205" [32;20H[K[33;2H[K[34;1H[K[35;1H[K[36;2H[K[32;20H14L, 81C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [32;13H[K[32;13H13L, 320C
*** Test  61: OK (374889517)
   function F()
1      while 1
2      " Missing :endwhile
   endfunction[33;1H"/tmp/v101798/206"[34;1H[K[35;1H[K[36;4H[K[33;20H[noeol] 5L, 73C
E486: Pattern not found: ^\s*$"/tmp/v101798/206" [34;20H[K[34;20H2L, 40C written"test49.in" [34;13H[K[34;13H13L, 320C
*** Test  62: OK (286331153)"/i/m/p/o/s/s/i/b/l/e" [35;24H[K[36;1H[1m[37m[41mError detected while processing /sources/vim70/src/testdir/test49.vim:[0m
[1m[33mline 6342:[0m
[1m[37m[41m"/i/m/p/o/s/s/i/b/l/e" E212: Can't open file for writing[0m
*** Test  63: OK (236978127)"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/207[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/207" [36;20H[K[36;20H149L, 2828C appended[36;20H[K[36;20H150L, 2850C
6 substitutions on 6 lines"/tmp/v101798/207"[36;20H[K[36;20H150L, 2844C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/208[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q[1m[34m^M[0mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin
= 1' -c 'let ExtraVimResult = "/tmp/v101798/208"' -c 'breakadd file 63 /tmp/v101798/207' -S /tmp/v1
[35;100H0[36;1H1798/207[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/208" [34;20H[K[35;1H[K[36;1H[K[34;20H16L, 97C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C
*** Test  64: OK (1499645335)
*** Test  65: OK (70187)"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/209[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/209" [36;20H[K[36;20H78L, 1520C appended[36;20H[K[36;20H79L, 1542C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/210[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q[1m[34m^M[0mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin
= 1' -c 'let ExtraVimResult = "/tmp/v101798/210"' -c 'breakadd func 8 F' -S /tmp/v101798/209[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H"/tmp/v101798/210" [35;20H[K[36;1H[K[35;20H6L, 22C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [35;13H[K[35;13H13L, 320C
*** Test  66: OK (5464)
*** Test  67: OK (212514423)
*** Test  68: OK (212514423)
*** Test  69: OK (8995471)
*** Test  70: OK (69544277)
*** Test  71: OK (34886997)
*** Test  72: OK (1789569365)
   function F0()
   endfunction
   function F1()
   endfunction
*** Test  73: OK (9032615)"/tmp/v101798/211" [New File]"test49.in" [36;13H[K[36;13H13L, 320C"/tmp/v101798/212" [New File]"test49.in" [36;13H[K[36;13H13L, 320C
*** Test  74: OK (224907669)
*** Test  75: OK (2000403408)"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/213[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/213" [36;20H[K[36;20H253L, 6369C appended[36;20H[K[36;20H254L, 6391C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/214[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminf
[35;100Ho[36;1H' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798/214"' -c 'breakadd func 2 INT'
[35;100H-[36;1HS /tmp/v101798/213[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/214" [34;20H[K[35;1H[K[36;1H[K[34;20H28L, 167C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C
*** Test  76: OK (1610087935)
[1m[37m[41mError detected while processing function ERR:[0m
[1m[33mline    2:[0m
[1m[37m[41mE492: Not an editor command:     asdf[0m
[1m[37m[41mE492: Not an editor command:     asdf[0m
[1m[37m[41mE492: Not an editor command:     asdf[0m
*** Test  77: OK (1388671)"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/215[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/215" [36;20H[K[36;20H161L, 4543C appended[36;20H[K[36;20H162L, 4565C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/216[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin =
[35;100H1[36;1H' -c 'let ExtraVimResult = "/tmp/v101798/216"' -S /tmp/v101798/215[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H"/tmp/v101798/216" [35;21H[K[36;1H[K[35;20H1L, 10C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [35;13H[K[35;13H13L, 320C
*** Test  78: OK (134217728)
[1m[37m[41mError detected while processing function NEXT:[0m
[1m[33mline    1:[0m
[1m[37m[41mE121: Undefined variable: novar[0m
[1m[37m[41mE15: Invalid expression: novar | Xloop 1[0m
[1m[37m[41mE121: Undefined variable: novar[0m
[1m[37m[41mE488: Trailing characters[0m
[1m[37m[41mE108: No such variable: "novar"[0m
[1m[37m[41mE488: Trailing characters[0m
[1m[37m[41mE121: Undefined variable: novar[0m
[1m[37m[41mE15: Invalid expression: novar[0m
[1m[37m[41mE475: Invalid argument: {novar} | Xloop 1[0m
[1m[37m[41mE121: Undefined variable: novar[0m
[1m[37m[41mE15: Invalid expression:  novar[0m
[1m[37m[41mE475: Invalid argument: { novar} | Xloop 1[0m
*** Test  79: OK (70288929)
[1m[37m[41mError detected while processing /sources/vim70/src/testdir/test49.vim:[0m
[1m[33mline 8828:[0m
[1m[37m[41mE584: :elseif after :else: elseif 1 ||| 2[0m
[1m[33mline 8838:[0m
[1m[37m[41mE584: :elseif after :else: elseif 1 ||| 2[0m
[1m[33mline 8846:[0m
[1m[37m[41mE582: :elseif without :if: elseif 1 ||| 2[0m
[1m[33mline 8854:[0m
[1m[37m[41mE582: :elseif without :if:     elseif 1 ||| 2[0m
*** Test  80: OK (17895765)"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/217[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/217" [36;20H[K[36;20H15L, 272C appended[36;20H[K[36;20H16L, 294C[36;20H[K[36;20H16L, 293C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/218[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin =
[35;100H1[36;1H' -c 'let ExtraVimResult = "/tmp/v101798/218"' -S /tmp/v101798/217[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H"/tmp/v101798/218" [35;21H[K[36;1H[K[35;20H2L, 4C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [35;13H[K[35;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/219[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/219" [36;20H[K[36;20H12L, 227C appended[36;20H[K[36;20H13L, 249C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/220[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q[1m[34m^M[0mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin
= 1' -c 'let ExtraVimResult = "/tmp/v101798/220"' -c 'breakadd file 8 /tmp/v101798/219' -S /tmp/v10
[35;100H1[36;1H798/219[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/220" [34;20H[K[35;1H[K[36;1H[K[34;20H2L, 8C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C
*** Test  81: OK (387)"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/221[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/221" [36;20H[K[36;20H20L, 417C appended[36;20H[K[36;20H21L, 439C[36;20H[K[36;20H21L, 438C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/222[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin =
[35;100H1[36;1H' -c 'let ExtraVimResult = "/tmp/v101798/222"' -S /tmp/v101798/221[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H"/tmp/v101798/222" [35;21H[K[36;1H[K[35;20H1L, 2C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [35;13H[K[35;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/223[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/223" [36;20H[K[36;20H24L, 480C appended[36;20H[K[36;20H25L, 502C[36;20H[K[36;20H25L, 501C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/224[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin =
[35;100H1[36;1H' -c 'let ExtraVimResult = "/tmp/v101798/224"' -S /tmp/v101798/223[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H"/tmp/v101798/224" [35;21H[K[36;1H[K[35;20H1L, 4C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [35;13H[K[35;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/225[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/225" [36;20H[K[36;20H17L, 390C appended[36;20H[K[36;20H18L, 412C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/226[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q[1m[34m^M[0mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin
= 1' -c 'let ExtraVimResult = "/tmp/v101798/226"' -c 'breakadd file 7 /tmp/v101798/225' -S /tmp/v10
[35;100H1[36;1H798/225[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/226" [34;20H[K[35;1H[K[36;1H[K[34;20H1L, 6C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/227[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H[K[35;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/227" [35;20H[K[35;20H21L, 444C appended[35;20H[K[35;20H22L, 466C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/228[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q[1m[34m^M[0mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin
= 1' -c 'let ExtraVimResult = "/tmp/v101798/228"' -c 'breakadd func 6 I' -S /tmp/v101798/227[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H"/tmp/v101798/228" [35;20H[K[36;1H[K[35;20H1L, 8C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [35;13H[K[35;13H13L, 320C
*** Test  82: OK (8454401)"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/229[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/229" [36;20H[K[36;20H17L, 307C appended[36;20H[K[36;20H18L, 329C[36;20H[K[36;20H18L, 328C written"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/230[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin =
[35;100H1[36;1H' -c 'let ExtraVimResult = "/tmp/v101798/230"' -S /tmp/v101798/229[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H"/tmp/v101798/230" [35;21H[K[36;1H[K[35;20H3L, 7C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [35;13H[K[35;13H13L, 320C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/231[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/231" [36;20H[K[36;20H14L, 266C appended[36;20H[K[36;20H15L, 288C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/232[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q[1m[34m^M[0mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin
= 1' -c 'let ExtraVimResult = "/tmp/v101798/232"' -c 'breakadd file 8 /tmp/v101798/231' -S /tmp/v10
[35;100H1[36;1H798/231[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/232" [34;20H[K[35;1H[K[36;1H[K[34;20H3L, 13C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C
*** Test  83: OK (2835)"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/233[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/233" [36;20H[K[36;20H154L, 3580C appended[36;20H[K[36;20H155L, 3602C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/234[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q[1m[34m^M[0mq[1m[34m^M[0mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBe
[35;100Hg[36;1Hin = 1' -c 'let ExtraVimResult = "/tmp/v101798/234"' -c 'breakadd func 1 INT' -S /tmp/v101798/233[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[35;1H"/tmp/v101798/234"[35;20H[K[36;1H[K[35;20H18L, 118C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [35;13H[K[35;13H13L, 320C
*** Test  84: OK (934782101)
TMP"/tmp/v101798/235" [noeol] 2L, 6C[36;1H[K[36;1H/  "test49.in" 13L, 320C"/n/o/n/e/x/i/s/t/e/n/t"
"/tmp/v101798/237" 1L, 1C"test49.in" [36;13H[K[36;13H13L, 320C
:!echo XYZ >/tmp/v101798/238[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H"/tmp/v101798/239" [New File]"test49.in" [36;13H[K[36;13H13L, 320C
*** Test  85: OK (198689)"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!echo 'source /tmp/v101798/3' >/tmp/v101798/240[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H/^\s*if\s\+ExtraVim(.*)/+[25C1"/tmp/v101798/240" [36;20H[K[36;20H151L, 3929C appended[36;20H[K[36;20H152L, 3951C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C
:!>/tmp/v101798/241[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[36;1H
[?25l:!echo 'q[1m[34m^M[0mq[1m[34m^M[0mq[1m[34m^M[0mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVi
[35;100Hm[36;1HBegin = 1' -c 'let ExtraVimResult = "/tmp/v101798/241"' -c 'breakadd func 5 ThrowOnInterrupt' -S /t
[35;100Hm[36;1Hp/v101798/240[?1l>[34h[?25h[?1049l

shell returned 1

Press ENTER or type command to continue[?1049h[?1h=[?25l[34;1H"/tmp/v101798/241" [34;21H[K[35;1H[K[36;1H[K[34;20H16L, 281C"/sources/vim70/src/testdir/test49.vim" [readonly] 9802L, 224141C"test49.in" [34;13H[K[34;13H13L, 320C
*** Test  86: OK (50443995)
[1m[32mPress ENTER or type command to continue[23m[24m[0m[H[J[1;1HThis is a test of the script language.

If after adding a new test, the test output doesn't appear properly in
test49.failed, try to add one ore more "G"s at the line before ENDTEST.

STARTTEST
:so small.vim
:se nocp nomore viminfo+=nviminfo
:so test49.vim
GGGGGGGGGG"rp:.-,$wq! test.out
ENDTEST

Results of test49.vim:
[1m[34m~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [12;1H[34h[?25h
[?25l[0m[36;1H91 more lines[14;1H*** Test   1: OK (34695)[14;25H[K[15;1H*** Test   2: OK (34695)[15;25H[K[16;1H*** Test   3: OK (1384648195)[16;30H[K[17;1H*** Test   4: OK (32883)[17;25H[K[18;1H*** Test   5: OK (32883)[18;25H[K[19;1H*** Test   6: OK (603978947)[19;29H[K[20;1H*** Test   7: OK (90563)[20;25H[K[21;1H*** Test   8: OK (562493431)[21;29H[K[22;1H*** Test   9: OK (363)[22;23H[K[23;1H*** Test  10: OK (559615)[23;26H[K[24;1H*** Test  11: OK (2049)[24;24H[K[25;1H*** Test  12: OK (352256)[25;26H[K[26;1H*** Test  13: OK (145)[26;23H[K[27;1H*** Test  14: OK (42413)[27;25H[K[28;1H*** Test  15: OK (42413)[28;25H[K[29;1H*** Test  16: OK (8722)[29;24H[K[30;1H*** Test  17: OK (285127993)[30;29H[K[31;1H*** Test  18: OK (67224583)[31;28H[K[32;1H*** Test  19: OK (69275973)[32;28H[K[33;1H*** Test  20: OK (1874575085)[33;30H[K[34;1H*** Test  21: OK (147932225)[34;29H[K[35;1H*** Test  22: OK (4161)[35;24H[K[14;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.-,$wq! test.out[?25l"test.out" [36;12H[K[36;12H[New] 92L, 2672C written[?1l>[34h[?25h[?1049l
rm -rf X* test.ok viminfo
rm -rf test51.failed test.ok test.out X* viminfo
cp test51.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test51.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test51.in" 36 lines, 808 characters[1;1HTests for ":highlight". vim: set ft=vim :

STARTTEST
:so small.vim
:" basic test if ":highlight" doesn't crash
:highlight
:hi Search
:" test setting colors.
:" test clearing one color and all doesn't generate error or warning
:hi NewGroup term=bold cterm=italic ctermfg=DarkBlue ctermbg=Grey gui= guifg=#00ff00 guibg=Cyan
:hi Group2 term= cterm=
:hi Group3 term=underline cterm=bold
:redir! >test.out
:hi NewGroup
:hi Group2
:hi Group3
:hi clear NewGroup
:hi NewGroup
:hi Group2
:hi Group2 NONE
:hi Group2
:hi clear
:hi Group3
:hi Crash term='asdf
:redir END
:" filter ctermfg and ctermbg, the numbers depend on the terminal
:e test.out
:%s/ctermfg=\d*/ctermfg=2/
:%s/ctermbg=\d*/ctermbg=3/
:" filter out possibly translated error message
:%s/E475: [^:]*:/E475:/
:" fix the fileformat
:set ff&
:wq!
ENDTEST[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTests for ":highlight". vim: set ft=vim :[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[3;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[4;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 31 lines, 746 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[4;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[36;1H[K[35;1H[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" basic test if ":highlight" doesn't crash[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hhighlight[?25l
SpecialKey     [1m[34mxxx[0m [1m[36mterm=[0mbold [1m[36mcterm=[0mbold [1m[36mctermfg=[0m4
NonText[8C[1m[34mxxx[0m [1m[36mterm=[0mbold [1m[36mcterm=[0mbold [1m[36mctermfg=[0m4
Directory      [1m[36mxxx[0m [1m[36mterm=[0mbold [1m[36mcterm=[0mbold [1m[36mctermfg=[0m6
ErrorMsg[7C[1m[37m[41mxxx[0m [1m[36mterm=[0mstandout [1m[36mcterm=[0mbold [1m[36mctermfg=[0m7 [1m[36mctermbg=[0m1
IncSearch      [7mxxx[0m [1m[36mterm=[0mreverse [1m[36mcterm=[0mreverse
Search[9C[30m[43mxxx[0m [1m[36mterm=[0mreverse [1m[36mctermfg=[0m0 [1m[36mctermbg=[0m3
MoreMsg[8C[1m[32mxxx[0m [1m[36mterm=[0mbold [1m[36mcterm=[0mbold [1m[36mctermfg=[0m2
ModeMsg[8C[1mxxx[0m [1m[36mterm=[0mbold [1m[36mcterm=[0mbold
LineNr[9C[1m[33mxxx[0m [1m[36mterm=[0munderline [1m[36mcterm=[0mbold [1m[36mctermfg=[0m3
Question[7C[1m[32mxxx[0m [1m[36mterm=[0mstandout [1m[36mcterm=[0mbold [1m[36mctermfg=[0m2
StatusLine     [1m[7mxxx[0m [1m[36mterm=[0mbold,reverse [1m[36mcterm=[0mbold,reverse
StatusLineNC   [7mxxx[0m [1m[36mterm=[0mreverse [1m[36mcterm=[0mreverse
VertSplit      [7mxxx[0m [1m[36mterm=[0mreverse [1m[36mcterm=[0mreverse
Title[10C[1m[35mxxx[0m [1m[36mterm=[0mbold [1m[36mcterm=[0mbold [1m[36mctermfg=[0m5
Visual[9C[7mxxx[0m [1m[36mterm=[0mreverse [1m[36mcterm=[0mreverse
VisualNOS      xxx cleared
WarningMsg     [1m[31mxxx[0m [1m[36mterm=[0mstandout [1m[36mcterm=[0mbold [1m[36mctermfg=[0m1
WildMenu[7C[30m[43mxxx[0m [1m[36mterm=[0mstandout [1m[36mctermfg=[0m0 [1m[36mctermbg=[0m3
Folded[9C[1m[36m[40mxxx[0m [1m[36mterm=[0mstandout [1m[36mcterm=[0mbold [1m[36mctermfg=[0m6 [1m[36mctermbg=[0m0
FoldColumn     [1m[36m[40mxxx[0m [1m[36mterm=[0mstandout [1m[36mcterm=[0mbold [1m[36mctermfg=[0m6 [1m[36mctermbg=[0m0
DiffAdd[8C[44mxxx[0m [1m[36mterm=[0mbold [1m[36mctermbg=[0m4
DiffChange     [45mxxx[0m [1m[36mterm=[0mbold [1m[36mctermbg=[0m5
DiffDelete     [1m[34m[46mxxx[0m [1m[36mterm=[0mbold [1m[36mcterm=[0mbold [1m[36mctermfg=[0m4 [1m[36mctermbg=[0m6
DiffText[7C[1m[41mxxx[0m [1m[36mterm=[0mreverse [1m[36mcterm=[0mbold [1m[36mctermbg=[0m1
SignColumn     xxx cleared
SpellBad[7C[41mxxx[0m [1m[36mterm=[0mreverse [1m[36mctermbg=[0m1
SpellCap[7C[44mxxx[0m [1m[36mterm=[0mreverse [1m[36mctermbg=[0m4
SpellRare      [45mxxx[0m [1m[36mterm=[0mreverse [1m[36mctermbg=[0m5
SpellLocal     [46mxxx[0m [1m[36mterm=[0munderline [1m[36mctermbg=[0m6
Pmenu[10C[45mxxx[0m [1m[36mctermbg=[0m5
PmenuSel[7C[40mxxx[0m [1m[36mctermbg=[0m0
PmenuSbar      [47mxxx[0m [1m[36mctermbg=[0m7
PmenuThumb     [7mxxx[0m [1m[36mcterm=[0mreverse
TabLine[8C[1m[4m[37m[40mxxx[24m[0m [1m[36mterm=[0munderline [1m[36mcterm=[0mbold,underline [1m[36mctermfg=[0m7 [1m[36mctermbg=[0m0
TabLineSel     [1mxxx[0m [1m[36mterm=[0mbold [1m[36mcterm=[0mbold
TabLineFill    [7mxxx[0m [1m[36mterm=[0mreverse [1m[36mcterm=[0mreverse
CursorColumn   [40mxxx[0m [1m[36mterm=[0mreverse [1m[36mctermbg=[0m0
CursorLine     [4mxxx[24m [1m[36mterm=[0munderline [1m[36mcterm=[0munderline
MatchParen     [46mxxx[0m [1m[36mterm=[0mreverse [1m[36mctermbg=[0m6
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hhi Search[?25l
Search[9C[30m[43mxxx[0m [1m[36mterm=[0mreverse [1m[36mctermfg=[0m0 [1m[36mctermbg=[0m3
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25h" test setting colors.[?25l[23m[24m[0m[H[J[2;1HSTARTTEST
:so small.vim
:" basic test if ":highlight" doesn't crash
:highlight
:hi Search
:" test setting colors.
:" test clearing one color and all doesn't generate error or warning
:hi NewGroup term=bold cterm=italic ctermfg=DarkBlue ctermbg=Grey gui= guifg=#00ff00 guibg=Cyan
:hi Group2 term= cterm=
:hi Group3 term=underline cterm=bold
:redir! >test.out
:hi NewGroup
:hi Group2
:hi Group3
:hi clear NewGroup
:hi NewGroup
:hi Group2
:hi Group2 NONE
:hi Group2
:hi clear
:hi Group3
:hi Crash term='asdf
:redir END
:" filter ctermfg and ctermbg, the numbers depend on the terminal
:e test.out
:%s/ctermfg=\d*/ctermfg=2/
:%s/ctermbg=\d*/ctermbg=3/
:" filter out possibly translated error message
:%s/E475: [^:]*:/E475:/
:" fix the fileformat
:set ff&
:wq!
ENDTEST
[34h[?25h[?25l
:[34h[?25h" test clearing one color and all doesn't generate error or warning[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hhi NewGroup term=bold cterm=italic ctermfg=DarkBlue ctermbg=Grey gui= guifg=#00ff00 guibg=Cyan[?25l[1m[37m[41mE418: Illegal value: guifg=#00ff00[0m[36;35H[K[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hhi Group2 term= cterm=[?25l[1m[37m[41mE418: Illegal value: cterm=[35;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hhi Group3 term=underline cterm=bold[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hredir! >test.out[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hhi NewGroup[?25l
NewGroup[7C[7m[34m[47mxxx[0m [1m[36mterm=[0mbold [1m[36mcterm=[0mitalic [1m[36mctermfg=[0m4 [1m[36mctermbg=[0m7
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hhi Group2[?25l
Group2[9Cxxx cleared
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hhi Group3[?25l
Group3[9C[1mxxx[0m [1m[36mterm=[0munderline [1m[36mcterm=[0mbold
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hhi clear NewGroup[?25l[1;1H[6L[2;1HSTARTTEST
:so small.vim
:" basic test if ":highlight" doesn't crash
:highlight
:hi Search[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25hhi NewGroup[?25l
NewGroup[7Cxxx cleared
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hhi Group2[?25l
Group2[9Cxxx cleared
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hhi Group2 NONE[?25l[1;1H[4L[2;1HSTARTTEST
:so small.vim
:" basic test if ":highlight" doesn't crash[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25hhi Group2[?25l
Group2[9Cxxx cleared
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hhi clear[?25l[23m[24m[0m[H[J[2;1HSTARTTEST
:so small.vim
:" basic test if ":highlight" doesn't crash
:highlight
:hi Search
:" test setting colors.
:" test clearing one color and all doesn't generate error or warning
:hi NewGroup term=bold cterm=italic ctermfg=DarkBlue ctermbg=Grey gui= guifg=#00ff00 guibg=Cyan
:hi Group2 term= cterm=
:hi Group3 term=underline cterm=bold
:redir! >test.out
:hi NewGroup
:hi Group2
:hi Group3
:hi clear NewGroup
:hi NewGroup
:hi Group2
:hi Group2 NONE
:hi Group2
:hi clear
:hi Group3
:hi Crash term='asdf
:redir END
:" filter ctermfg and ctermbg, the numbers depend on the terminal
:e test.out
:%s/ctermfg=\d*/ctermfg=2/
:%s/ctermbg=\d*/ctermbg=3/
:" filter out possibly translated error message
:%s/E475: [^:]*:/E475:/
:" fix the fileformat
:set ff&
:wq!
ENDTEST
[34h[?25h[?25l
:[34h[?25hhi Group3[?25l
Group3[9Cxxx cleared
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hhi Crash term='asdf[?25l[1m[37m[41mE475: Invalid argument: term='asdf[0m
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hredir END[?25l[1;1H[3L[2;1HSTARTTEST
:so small.vim[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h" filter ctermfg and ctermbg, the numbers depend on the terminal[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he test.out[?25l"test.out" 20 lines, 289 characters[2;1H[K[3;1HNewGroup       xxx term=bold cterm=italic ctermfg=4 ctermbg=7[4;1H[K[5;1HGroup2         xxx cleared[6;1H[K[7;1HGroup3         xxx term=underline cterm=bold[8;1H[K[9;1H[K[10;1HNewGroup       xxx cleared[11;1H[K[12;1HGroup2         xxx cleared[13;1H[K[14;1H[K[15;1HGroup2         xxx cleared[16;1H[K[17;1H[K[18;1HGroup3         xxx cleared[19;1H[K[20;1HE475: Invalid argument: term='asdf
[1m[34m~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25h%s/ctermfg=\d*/ctermfg=2/[?25l[3;51H2[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h%s/ctermbg=\d*/ctermbg=3/[?25l[3;61H3[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" filter out possibly translated error message[?25l[3;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h%s/E475: [^:]*:/E475:/[?25l[20;7Hterm='asdf[20;17H[K[20;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" fix the fileformat[?25l[20;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset ff&[?25l[20;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hwq![?25l"test.out" 20 lines, 271 characters written
[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test52.failed test.ok test.out X* viminfo
cp test52.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test52.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test52.in" 65 lines, 1645 characters[1;1HTests for reading and writing files with conversion for Win32.

STARTTEST
:so mbyte.vim
:" make this a dummy test for non-Win32 systems
:if !has("win32") | e! test.ok | wq! test.out | endif
:"
:" write tests:
:" combine three values for 'encoding' with three values for 'fileencoding'
:" also write files for read tests
/^1
:set encoding=utf-8
:.w! ++enc=utf-8 test.out
:.w ++enc=cp1251 >>test.out
:.w ++enc=cp866 >>test.out
:.w! ++enc=utf-8 Xutf8
/^2
:set encoding=cp1251
:.w ++enc=utf-8 >>test.out
:.w ++enc=cp1251 >>test.out
:.w ++enc=cp866 >>test.out
:.w! ++enc=cp1251 Xcp1251
/^3
:set encoding=cp866
:.w ++enc=utf-8 >>test.out
:.w ++enc=cp1251 >>test.out
:.w ++enc=cp866 >>test.out
:.w! ++enc=cp866 Xcp866
:"
:" read three 'fileencoding's with utf-8 'encoding'
:set encoding=utf-8 fencs=utf-8,cp1251
:e Xutf8
:.w ++enc=utf-8 >>test.out
:e Xcp1251
:.w ++enc=utf-8 >>test.out[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTests for reading and writing files with conversion for Win32.[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[3;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[4;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 57 lines, 1333 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[4;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[1;35r[1;1H[26M[1;36r[10;1H:set fencs=utf-8,cp866
:e Xcp866
:.w ++enc=utf-8 >>test.out
:"
:" read three 'fileencoding's with cp1251 'encoding'
:set encoding=utf-8 fencs=utf-8,cp1251
:e Xutf8
:.w ++enc=cp1251 >>test.out
:e Xcp1251
:.w ++enc=cp1251 >>test.out
:set fencs=utf-8,cp866
:e Xcp866
:.w ++enc=cp1251 >>test.out
:"
:" read three 'fileencoding's with cp866 'encoding'
:set encoding=cp866 fencs=utf-8,cp1251
:e Xutf8
:.w ++enc=cp866 >>test.out
:e Xcp1251
:.w ++enc=cp866 >>test.out
:set fencs=utf-8,cp866
:e Xcp866
:.w ++enc=cp866 >>test.out
:"
:qa!
ENDTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso mbyte.vim[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" make this a dummy test for non-Win32 systems[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hif !has("win32") | e! test.ok | wq! test.out | endif[?25l"test.ok" [36;11H[K[36;11H18 lines, 1374 characters
"test.out" [New File] 18 lines, 1374 characters written
[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test53.failed test.ok test.out X* viminfo
cp test53.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test53.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test53.in" 48 lines, 952 characters[1;1HTests for string and html text objects. vim: set ft=vim :

Note that the end-of-line moves the cursor to the next test line.

Also test match() and matchstr()

STARTTEST
:so small.vim
/^start:/
da"
0va'a'rx
02f`da`
0fXdi"
03f'vi'ry
:set quoteescape=+*-
di`
$F"va"oha"i"rz
:"
/^<begin
jfXdit
0fXdit
fXdat
0fXdat
:"
:put =matchstr(\"abcd\", \".\", 0, 2) " b
:put =matchstr(\"abcd\", \"..\", 0, 2) " bc
:put =matchstr(\"abcd\", \".\", 2, 0) " c (zero and negative -> first match)
:put =matchstr(\"abcd\", \".\", 0, -1) " a
:put =match(\"abcd\", \".\", 0, 5) " -1
:put =match(\"abcd\", \".\", 0, -1) " 0
:/^start:/,/^end:/wq! test.out
ENDTEST

start: "wo\"rd\\" foo
'foo' 'bar' 'piep'[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTests for string and html text objects. vim: set ft=vim :[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[7;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[8;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 24 lines, 461 characters written[8;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[8;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[32;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[33;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[33;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h^start:/[?25l[36;9H[K[36;1H[34;1H[34h[?25h[?25l[7Cfo[34;11H[K[34;8H[34h[?25h[35;8H[?25l[34h[?25h[?25l[7m'foo'[34h[?25h[?25l 'bar'[34h[?25h[?25l[0mxxxxxxxxxxxx[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1Hbla bla `quote` blah[36;1H[K[35;1H[34h[?25h[14C[?25lblah[35;13H[K[35;9H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1Hout " in "noXno"[35;9H[34h[?25h[12C[?25l"[35;12H[K[35;11H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H"'" 'blah' rep 'buh'[35;11H[34h[?25h[9C[?25l[34h[?25h[?25l'[7m rep[34h[?25h[?25l[0myyyyy[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1Hbla `s*`d-`+++`l**` b`la[35;11H[34h[?25h[?25l
:[34h[?25hset quoteescape=+*-[?25l[35;11H[34h[?25h[?25l` b`la[35;12H[K[35;6H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1Hvoo "nah" sdf " asdf" sdf " sdf" sd[36;1H[K[35;6H[34h[?25h[29C[?25l[34h[?25h[?25l[7m" sdf"[34h[?25h[?25l[0m"[5C[7m [35;27H[34h[?25h[?25l"[34h[?25h[?25l[35;16H asdf" sdf [35;15H[34h[?25h[?25l[35;7Hah" sdf "[0mvoo "[34h[?25h[?25lzzzzzzzzzzzzzzzzzzzzzzzzzzzzvoo "[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H[34h[?25h[?25l
:[34h[?25h"[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h^<begin[?25l[1;35r[35;1H
[1;36r[35;1H<begin>[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H-<b>asdf<i>Xasdf</i>asdf</b>-[34h[?25h[11C[?25l</i>asdf</b>-[35;25H[K[35;12H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H-<b>asdX<i>a<i />sdf</i>asdf</b>-[35;12H[34h[?25h[7C[?25l</b>-[35;10H[K[35;5H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H-<b>asdf<i>Xasdf</i>asdf</b>--<b>[34h[?25h[7C[?25lasdf</b>-[35;18H[K[35;9H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H-<b>asdX<i>as<b />df</i>asdf</b>-[35;9H[34h[?25h[7C[?25l--[35;3H[K[35;2H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H</begin><[34h[?25h[?25l
:[34h[?25h"[?25l[35;2H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hput =matchstr(\"abcd\", \".\", 0, 2) " b[?25l[1;35r[35;1H
[1;36r[35;1Hb[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25hput =matchstr(\"abcd\", \"..\", 0, 2) " bc[?25l[1;35r[35;1H
[1;36r[35;1Hbc[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25hput =matchstr(\"abcd\", \".\", 2, 0) " c (zero and negative -> first match)[?25l[1;35r[35;1H
[1;36r[35;1Hc[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25hput =matchstr(\"abcd\", \".\", 0, -1) " a[?25l[1;35r[35;1H
[1;36r[35;1Ha[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25hput =match(\"abcd\", \".\", 0, 5) " -1[?25l[1;35r[35;1H
[1;36r[35;1H-1[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25hput =match(\"abcd\", \".\", 0, -1) " 0[?25l[1;35r[35;1H
[1;36r[35;1H0[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h/^start:/,/^end:/wq! test.out[?25l[1m[31msearch hit BOTTOM, continuing at TOP[0m"test.out" [36;12H[K[36;12H[New File] 21 lines, 217 characters written
[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test54.failed test.ok test.out X* viminfo
cp test54.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test54.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test54.in" 17 lines, 527 characters[1;1HSome tests for buffer-local autocommands

STARTTEST
:so small.vim
:e xx
:!rm -f test.out
:au BufLeave <buffer> :!echo buffer-local autommand in %>> test.out
:e somefile[11C" here, autocommand for xx shall write test.out
:[21C" but autocommand shall not apply to buffer named <buffer>
:bwipe xx[13C" here, autocommand shall be auto-deleted
:e xx[17C" nothing shall be written
:e somefile[11C" nothing shall be written
:qa!
ENDTEST

start of test file xx
end of test file xx
[1m[34m~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HSome tests for buffer-local autocommands[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[3;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[4;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 10 lines, 424 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[4;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[14;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[15;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[15;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he xx[?25l"xx" [New File][1;1H[K[2;1H[1m[34m~                                                                                                   [3;1H~                                                                                                   [4;1H~                                                                                                   [5;1H~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25h!rm -f test.out[?25l[16C[?1l>[34h[?25h[?1049l

Press ENTER or type command to continue[?1049h[?1h=[?25l[36;1H[K[36;1H:[34h[?25hau BufLeave <buffer> :!echo buffer-local autommand in %>> test.out[?25l[23m[24m[0m[H[J[2;1H[1m[34m~                                                                                                   [3;1H~                                                                                                   [4;1H~                                                                                                   [5;1H~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[36;1H[0m:[34h[?25he somefile           " here, autocommand for xx shall write test.out [?25l:!echo buffer-local autommand in xx>> test.out[36;47H[K[36;47H
[34h[?25h[?25l[24m[0m"somefile" [New File]
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25h                     " but autocommand shall not apply to buffer named <buffer>[?25l[23m[24m[0m[H[J[2;1H[1m[34m~                                                                                                   [3;1H~                                                                                                   [4;1H~                                                                                                   [5;1H~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[36;1H[0m:[34h[?25hbwipe xx             " here, autocommand shall be auto-deleted[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he xx                 " nothing shall be written[?25l"xx" [New File][36;23H[K[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25he somefile           " nothing shall be written[?25l"somefile" [New File][36;23H[K[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[?1l>[34h[?25h[?1049l
rm -rf X* test.ok viminfo
rm -rf test55.failed test.ok test.out X* viminfo
cp test55.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test55.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test55.in" 343 lines, 6998 characters[1;1HTests for List and Dictionary types.     vim: set ft=vim :

STARTTEST
:so small.vim
:fun Test(...)
:" Creating List directly with different types
:let l = [1, 'as''d', [1, 2, function("strlen")], {'a': 1},]
:$put =string(l)
:$put =string(l[-1])
:$put =string(l[-4])
:try
:  $put =string(l[-5])
:catch
:  $put =v:exception[:14]
:endtry
:" List slices
:$put =string(l[:])
:$put =string(l[1:])
:$put =string(l[:-2])
:$put =string(l[0:8])
:$put =string(l[8:-1])
:"
:" List identity
:let ll = l
:let lx = copy(l)
:try
:  $put =(l == ll) . (l isnot ll) . (l is ll) . (l == lx) . (l is lx) . (l isnot lx)
:catch
:  $put =v:exception
:endtry
:"
:" Creating Dictionary directly with different types
:let d = {001: 'asd', 'b': [1, 2, function('strlen')], -1: {'a': 1},}
:$put =string(d) . d.1
:$put =string(sort(keys(d)))[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTests for List and Dictionary types.     vim: set ft=vim :[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[3;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[4;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 337 lines, 6912 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[4;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[23m[24m[0m[H[J[1;1H:  let a:000[2][1] = 9
:  call extend(a:000[2], [5, 6])
:  let a:000[3][5] = 8
:  let a:000[3]['a'] = 12
:  $put =string(a:000)
:catch
:  $put ='caught ' . v:exception
:endtry
:"
:" reverse() and sort()
:let l = ['-0', 'A11', 2, 'xaaa', 4, 'foo', 'foo6', [0, 1, 2], 'x8']
:$put =string(reverse(l))
:$put =string(reverse(reverse(l)))
:$put =string(sort(l))
:$put =string(reverse(sort(l)))
:$put =string(sort(reverse(sort(l))))
:"
:" splitting a string to a List
:$put =string(split('  aa  bb '))
:$put =string(split('  aa  bb  ', '\W\+', 0))
:$put =string(split('  aa  bb  ', '\W\+', 1))
:$put =string(split('  aa  bb  ', '\W', 1))
:$put =string(split(':aa::bb:', ':', 0))
:$put =string(split(':aa::bb:', ':', 1))
:$put =string(split('aa,,bb, cc,', ',\s*', 1))
:$put =string(split('abc', '\zs'))
:$put =string(split('abc', '\zs', 1))
:"
:endfun
:call Test(1, 2, [3, 4], {5: 6})  " This may take a while
:"
:/^start:/,$wq! test.out
ENDTEST

start:[33;1H[34h[?25h
[?25l

:so! Xdotest[34;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[34;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hfun Test(...)[?25l
:  [34h[?25h:" Creating List directly with different types
[?25l:  [34h[?25h:let l = [1, 'as''d', [1, 2, function("strlen")], {'a': 1},]
[?25l:  [34h[?25h:$put =string(l)
[?25l:  [34h[?25h:$put =string(l[-1])
[?25l:  [34h[?25h:$put =string(l[-4])
[?25l:  [34h[?25h:try
[?25l:    [34h[?25h:  $put =string(l[-5])
[?25l:    [34h[?25h:catch
[?25l:    [34h[?25h:  $put =v:exception[:14]
[?25l:    [34h[?25h:endtry
[?25l:  [34h[?25h:" List slices
[?25l:  [34h[?25h:$put =string(l[:])
[?25l:  [34h[?25h:$put =string(l[1:])
[?25l:  [34h[?25h:$put =string(l[:-2])
[?25l:  [34h[?25h:$put =string(l[0:8])
[?25l:  [34h[?25h:$put =string(l[8:-1])
[?25l:  [34h[?25h:"
[?25l:  [34h[?25h:" List identity
[?25l:  [34h[?25h:let ll = l
[?25l:  [34h[?25h:let lx = copy(l)
[?25l:  [34h[?25h:try
[?25l:    [34h[?25h:  $put =(l == ll) . (l isnot ll) . (l is ll) . (l == lx) . (l is lx) . (l isnot lx)
[?25l:    [34h[?25h:catch
[?25l:    [34h[?25h:  $put =v:exception
[?25l:    [34h[?25h:endtry
[?25l:  [34h[?25h:"
[?25l:  [34h[?25h:" Creating Dictionary directly with different types
[?25l:  [34h[?25h:let d = {001: 'asd', 'b': [1, 2, function('strlen')], -1: {'a': 1},}
[?25l:  [34h[?25h:$put =string(d) . d.1
[?25l:  [34h[?25h:$put =string(sort(keys(d)))
[?25l:  [34h[?25h:$put =string (values(d))
[?25l:  [34h[?25h:for [key, val] in items(d)
[?25l:    [34h[?25h:  $put =key . ':' . string(val)
[?25l:    [34h[?25h:  unlet key val
[?25l:    [34h[?25h:endfor
[?25l:  [34h[?25h:call extend  (d, {3:33, 1:99})
[?25l:  [34h[?25h:call extend(d, {'b':'bbb', 'c':'ccc'}, "keep")
[?25l:  [34h[?25h:try
[?25l:    [34h[?25h:  call extend(d, {3:333,4:444}, "error")
[?25l:    [34h[?25h:catch
[?25l:    [34h[?25h:  $put =v:exception[:15] . v:exception[-1:-1]
[?25l:    [34h[?25h:endtry
[?25l:  [34h[?25h:$put =string(d)
[?25l:  [34h[?25h:call filter(d, 'v:key =~ ''[ac391]''')
[?25l:  [34h[?25h:$put =string(d)
[?25l:  [34h[?25h:"
[?25l:  [34h[?25h:" Dictionary identity
[?25l:  [34h[?25h:let dd = d
[?25l:  [34h[?25h:let dx = copy(d)
[?25l:  [34h[?25h:try
[?25l:    [34h[?25h:  $put =(d == dd) . (d isnot dd) . (d is dd) . (d == dx) . (d is dx) . (d isnot dx)
[?25l:    [34h[?25h:catch
[?25l:    [34h[?25h:  $put =v:exception
[?25l:    [34h[?25h:endtry
[?25l:  [34h[?25h:"
[?25l:  [34h[?25h:" Changing var type should fail
[?25l:  [34h[?25h:try
[?25l:    [34h[?25h:  let d = []
[?25l:    [34h[?25h:catch
[?25l:    [34h[?25h:  $put =v:exception[:14] . v:exception[-1:-1]
[?25l:    [34h[?25h:endtry
[?25l:  [34h[?25h:try
[?25l:    [34h[?25h:  let l = {}
[?25l:    [34h[?25h:catch
[?25l:    [34h[?25h:  $put =v:exception[:14] . v:exception[-1:-1]
[?25l:    [34h[?25h:endtry
[?25l:  [34h[?25h:"
[?25l:  [34h[?25h:" removing items with :unlet
[?25l:  [34h[?25h:unlet l[2]
[?25l:  [34h[?25h:$put =string(l)
[?25l:  [34h[?25h:let l = range(8)
[?25l:  [34h[?25h:try
[?25l:    [34h[?25h:unlet l[:3]
[?25l:    [34h[?25h:unlet l[1:]
[?25l:    [34h[?25h:catch
[?25l:    [34h[?25h:$put =v:exception
[?25l:    [34h[?25h:endtry
[?25l:  [34h[?25h:$put =string(l)
[?25l:  [34h[?25h:"
[?25l:  [34h[?25h:unlet d.c
[?25l:  [34h[?25h:unlet d[-1]
[?25l:  [34h[?25h:$put =string(d)
[?25l:  [34h[?25h:"
[?25l:  [34h[?25h:" removing items out of range: silently skip items that don't exist
[?25l:  [34h[?25hlet l = [0, 1, 2, 3]
[?25l:  [34h[?25h:unlet l[2:1]
[?25l:  [34h[?25h:$put =string(l)
[?25l:  [34h[?25hlet l = [0, 1, 2, 3]
[?25l:  [34h[?25h:unlet l[2:2]
[?25l:  [34h[?25h:$put =string(l)
[?25l:  [34h[?25hlet l = [0, 1, 2, 3]
[?25l:  [34h[?25h:unlet l[2:3]
[?25l:  [34h[?25h:$put =string(l)
[?25l:  [34h[?25hlet l = [0, 1, 2, 3]
[?25l:  [34h[?25h:unlet l[2:4]
[?25l:  [34h[?25h:$put =string(l)
[?25l:  [34h[?25hlet l = [0, 1, 2, 3]
[?25l:  [34h[?25h:unlet l[2:5]
[?25l:  [34h[?25h:$put =string(l)
[?25l:  [34h[?25hlet l = [0, 1, 2, 3]
[?25l:  [34h[?25h:unlet l[-1:2]
[?25l:  [34h[?25h:$put =string(l)
[?25l:  [34h[?25hlet l = [0, 1, 2, 3]
[?25l:  [34h[?25h:unlet l[-2:2]
[?25l:  [34h[?25h:$put =string(l)
[?25l:  [34h[?25hlet l = [0, 1, 2, 3]
[?25l:  [34h[?25h:unlet l[-3:2]
[?25l:  [34h[?25h:$put =string(l)
[?25l:  [34h[?25hlet l = [0, 1, 2, 3]
[?25l:  [34h[?25h:unlet l[-4:2]
[?25l:  [34h[?25h:$put =string(l)
[?25l:  [34h[?25hlet l = [0, 1, 2, 3]
[?25l:  [34h[?25h:unlet l[-5:2]
[?25l:  [34h[?25h:$put =string(l)
[?25l:  [34h[?25hlet l = [0, 1, 2, 3]
[?25l:  [34h[?25h:unlet l[-6:2]
[?25l:  [34h[?25h:$put =string(l)
[?25l:  [34h[?25h:"
[?25l:  [34h[?25h:" assignment to a list
[?25l:  [34h[?25h:let l = [0, 1, 2, 3]
[?25l:  [34h[?25h:let [va, vb] = l[2:3]
[?25l:  [34h[?25h:$put =va
[?25l:  [34h[?25h:$put =vb
[?25l:  [34h[?25h:try
[?25l:    [34h[?25h:  let [va, vb] = l
[?25l:    [34h[?25h:catch
[?25l:    [34h[?25h:  $put =v:exception[:14]
[?25l:    [34h[?25h:endtry
[?25l:  [34h[?25h:try
[?25l:    [34h[?25h:  let [va, vb] = l[1:1]
[?25l:    [34h[?25h:catch
[?25l:    [34h[?25h:  $put =v:exception[:14]
[?25l:    [34h[?25h:endtry
[?25l:  [34h[?25h:"
[?25l:  [34h[?25h:" manipulating a big Dictionary (hashtable.c has a border of 1000 entries)
[?25l:  [34h[?25h:let d = {}
[?25l:  [34h[?25h:for i in range(1500)
[?25l:    [34h[?25h: let d[i] = 3000 - i
[?25l:    [34h[?25h:endfor
[?25l:  [34h[?25h:$put =d[0] . ' ' . d[100] . ' ' . d[999] . ' ' . d[1400] . ' ' . d[1499]
[?25l:  [34h[?25h:try
[?25l:    [34h[?25h:  let n = d[1500]
[?25l:    [34h[?25h:catch
[?25l:    [34h[?25h:  $put =v:exception[:14] . v:exception[-4:-1]
[?25l:    [34h[?25h:endtry
[?25l:  [34h[?25h:" lookup each items
[?25l:  [34h[?25h:for i in range(1500)
[?25l:    [34h[?25h: if d[i] != 3000 - i
[?25l:      [34h[?25h:  $put =d[i]
[?25l:      [34h[?25h: endif
[?25l:    [34h[?25h:endfor
[?25l:  [34h[?25h: let i += 1
[?25l:  [34h[?25h:" delete even items
[?25l:  [34h[?25h:while i >= 2
[?25l:    [34h[?25h: let i -= 2
[?25l:    [34h[?25h: unlet d[i]
[?25l:    [34h[?25h:endwhile
[?25l:  [34h[?25h:$put =get(d, 1500 - 100, 'NONE') . ' ' . d[1]
[?25l:  [34h[?25h:" delete odd items, checking value, one intentionally wrong
[?25l:  [34h[?25h:let d[33] = 999
[?25l:  [34h[?25h:let i = 1
[?25l:  [34h[?25h:while i < 1500
[?25l:    [34h[?25h: if d[i] != 3000 - i
[?25l:      [34h[?25h:  $put =i . '=' . d[i]
[?25l:      [34h[?25h: else
[?25l:      [34h[?25h:  unlet d[i]
[?25l:      [34h[?25h: endif
[?25l:    [34h[?25h: let i += 2
[?25l:    [34h[?25h:endwhile
[?25l:  [34h[?25h:$put =string(d)  " must be almost empty now
[?25l:  [34h[?25h:unlet d
[?25l:  [34h[?25h:"
[?25l:  [34h[?25h:" Dictionary function
[?25l:  [34h[?25h:let dict = {}
[?25l:  [34h[?25h:func dict.func(a) dict
[?25l:    [34h[?25h:  $put =a:a . len(self.data)
[?25l:    [34h[?25h:endfunc
[?25l:    [34h[?25h:let dict.data = [1,2,3]
[?25l:    [34h[?25h:call dict.func("len: ")
[?25l:    [34h[?25h:let x = dict.func("again: ")
[?25l:    [34h[?25h:try
[?25l:      [34h[?25h:  let Fn = dict.func
[?25l:      [34h[?25h:  call Fn('xxx')
[?25l:      [34h[?25h:catch
[?25l:      [34h[?25h:  $put =v:exception[:15]
[?25l:      [34h[?25h:endtry
[?25l:    [34h[?25h:" 
[?25l:    [34h[?25h:" Function in script-local List or Dict
[?25l:    [34h[?25h:let g:dict = {}
[?25l:    [34h[?25h:function g:dict.func() dict
[?25l:      [34h[?25h:  $put ='g:dict.func'.self.foo[1].self.foo[0]('asdf')
[?25l:      [34h[?25h:endfunc
[?25l:      [34h[?25h:let g:dict.foo = ['-', 2, 3]
[?25l:      [34h[?25h:call insert(g:dict.foo, function('strlen'))
[?25l:      [34h[?25h:call g:dict.func()
[?25l:      [34h[?25h:" 
[?25l:      [34h[?25h:" Nasty: remove func from Dict that's being called (works)
[?25l:      [34h[?25h:let d = {1:1}
[?25l:      [34h[?25h:func d.func(a)
[?25l:[8C[34h[?25h:  return "a:". a:a
[?25l:[8C[34h[?25h:endfunc
[?25l:[8C[34h[?25h:$put =d.func(string(remove(d, 'func')))
[?25l:[8C[34h[?25h:"
[?25l:[8C[34h[?25h:" Nasty: deepcopy() dict that refers to itself (fails when noref used)
[?25l:[8C[34h[?25h:let d = {1:1, 2:2}
[?25l:[8C[34h[?25h:let l = [4, d, 6]
[?25l:[8C[34h[?25h:let d[3] = l
[?25l:[8C[34h[?25h:let dc = deepcopy(d)
[?25l:[8C[34h[?25h:try
[?25l:[10C[34h[?25h:  let dc = deepcopy(d, 1)
[?25l:[10C[34h[?25h:catch
[?25l:[10C[34h[?25h:  $put =v:exception[:14]
[?25l:[10C[34h[?25h:endtry
[?25l:[8C[34h[?25h:let l2 = [0, l, l, 3]
[?25l:[8C[34h[?25h:let l[1] = l2
[?25l:[8C[34h[?25h:let l3 = deepcopy(l2)
[?25l:[8C[34h[?25h:$put ='same list: ' . (l3[1] is l3[2])
[?25l:[8C[34h[?25h:"
[?25l:[8C[34h[?25h:" Locked variables
[?25l:[8C[34h[?25h:for depth in range(5)
[?25l:[10C[34h[?25h:  $put ='depth is ' . depth
[?25l:[10C[34h[?25h:  for u in range(3)
[?25l:[12C[34h[?25h:    unlet l
[?25l:[12C[34h[?25h:    let l = [0, [1, [2, 3]], {4: 5, 6: {7: 8}}]
[?25l:[12C[34h[?25h:    exe "lockvar " . depth . " l"
[?25l:[12C[34h[?25h:    if u == 1
[?25l:[14C[34h[?25h:      exe "unlockvar l"
[?25l:[14C[34h[?25h:    elseif u == 2
[?25l:[14C[34h[?25h:      exe "unlockvar " . depth . " l"
[?25l:[14C[34h[?25h:    endif
[?25l:[12C[34h[?25h:    let ps = islocked("l").islocked("l[1]").islocked("l[1][1]").islocked("l[1][1][0]"
[35;100H)[36;1H.'-'.islocked("l[2]").islocked("l[2]['6']").islocked("l[2]['6'][7]")
[?25l:[12C[34h[?25h:    $put =ps
[?25l:[12C[34h[?25h:    let ps = ''
[?25l:[12C[34h[?25h:    try
[?25l:[14C[34h[?25h:      let l[1][1][0] = 99
[?25l:[14C[34h[?25h:      let ps .= 'p'
[?25l:[14C[34h[?25h:    catch
[?25l:[14C[34h[?25h:      let ps .= 'F'
[?25l:[14C[34h[?25h:    endtry
[?25l:[12C[34h[?25h:    try
[?25l:[14C[34h[?25h:      let l[1][1] = [99]
[?25l:[14C[34h[?25h:      let ps .= 'p'
[?25l:[14C[34h[?25h:    catch
[?25l:[14C[34h[?25h:      let ps .= 'F'
[?25l:[14C[34h[?25h:    endtry
[?25l:[12C[34h[?25h:    try
[?25l:[14C[34h[?25h:      let l[1] = [99]
[?25l:[14C[34h[?25h:      let ps .= 'p'
[?25l:[14C[34h[?25h:    catch
[?25l:[14C[34h[?25h:      let ps .= 'F'
[?25l:[14C[34h[?25h:    endtry
[?25l:[12C[34h[?25h:    try
[?25l:[14C[34h[?25h:      let l[2]['6'][7] = 99
[?25l:[14C[34h[?25h:      let ps .= 'p'
[?25l:[14C[34h[?25h:    catch
[?25l:[14C[34h[?25h:      let ps .= 'F'
[?25l:[14C[34h[?25h:    endtry
[?25l:[12C[34h[?25h:    try
[?25l:[14C[34h[?25h:      let l[2][6] = {99: 99}
[?25l:[14C[34h[?25h:      let ps .= 'p'
[?25l:[14C[34h[?25h:    catch
[?25l:[14C[34h[?25h:      let ps .= 'F'
[?25l:[14C[34h[?25h:    endtry
[?25l:[12C[34h[?25h:    try
[?25l:[14C[34h[?25h:      let l[2] = {99: 99}
[?25l:[14C[34h[?25h:      let ps .= 'p'
[?25l:[14C[34h[?25h:    catch
[?25l:[14C[34h[?25h:      let ps .= 'F'
[?25l:[14C[34h[?25h:    endtry
[?25l:[12C[34h[?25h:    try
[?25l:[14C[34h[?25h:      let l = [99]
[?25l:[14C[34h[?25h:      let ps .= 'p'
[?25l:[14C[34h[?25h:    catch
[?25l:[14C[34h[?25h:      let ps .= 'F'
[?25l:[14C[34h[?25h:    endtry
[?25l:[12C[34h[?25h:    $put =ps
[?25l:[12C[34h[?25h:  endfor
[?25l:[10C[34h[?25h:endfor
[?25l:[8C[34h[?25h:"
[?25l:[8C[34h[?25h:" a:000 function argument
[?25l:[8C[34h[?25h:" first the tests that should fail
[?25l:[8C[34h[?25h:try
[?25l:[10C[34h[?25h:  let a:000 = [1, 2]
[?25l:[10C[34h[?25h:catch
[?25l:[10C[34h[?25h:  $put ='caught a:000'
[?25l:[10C[34h[?25h:endtry
[?25l:[8C[34h[?25h:try
[?25l:[10C[34h[?25h:  let a:000[0] = 9
[?25l:[10C[34h[?25h:catch
[?25l:[10C[34h[?25h:  $put ='caught a:000[0]'
[?25l:[10C[34h[?25h:endtry
[?25l:[8C[34h[?25h:try
[?25l:[10C[34h[?25h:  let a:000[2] = [9, 10]
[?25l:[10C[34h[?25h:catch
[?25l:[10C[34h[?25h:  $put ='caught a:000[2]'
[?25l:[10C[34h[?25h:endtry
[?25l:[8C[34h[?25h:try
[?25l:[10C[34h[?25h:  let a:000[3] = {9: 10}
[?25l:[10C[34h[?25h:catch
[?25l:[10C[34h[?25h:  $put ='caught a:000[3]'
[?25l:[10C[34h[?25h:endtry
[?25l:[8C[34h[?25h:" now the tests that should pass
[?25l:[8C[34h[?25h:try
[?25l:[10C[34h[?25h:  let a:000[2][1] = 9
[?25l:[10C[34h[?25h:  call extend(a:000[2], [5, 6])
[?25l:[10C[34h[?25h:  let a:000[3][5] = 8
[?25l:[10C[34h[?25h:  let a:000[3]['a'] = 12
[?25l:[10C[34h[?25h:  $put =string(a:000)
[?25l:[10C[34h[?25h:catch
[?25l:[10C[34h[?25h:  $put ='caught ' . v:exception
[?25l:[10C[34h[?25h:endtry
[?25l:[8C[34h[?25h:"
[?25l:[8C[34h[?25h:" reverse() and sort()
[?25l:[8C[34h[?25h:let l = ['-0', 'A11', 2, 'xaaa', 4, 'foo', 'foo6', [0, 1, 2], 'x8']
[?25l:[8C[34h[?25h:$put =string(reverse(l))
[?25l:[8C[34h[?25h:$put =string(reverse(reverse(l)))
[?25l:[8C[34h[?25h:$put =string(sort(l))
[?25l:[8C[34h[?25h:$put =string(reverse(sort(l)))
[?25l:[8C[34h[?25h:$put =string(sort(reverse(sort(l))))
[?25l:[8C[34h[?25h:"
[?25l:[8C[34h[?25h:" splitting a string to a List
[?25l:[8C[34h[?25h:$put =string(split('  aa  bb '))
[?25l:[8C[34h[?25h:$put =string(split('  aa  bb  ', '\W\+', 0))
[?25l:[8C[34h[?25h:$put =string(split('  aa  bb  ', '\W\+', 1))
[?25l:[8C[34h[?25h:$put =string(split('  aa  bb  ', '\W', 1))
[?25l:[8C[34h[?25h:$put =string(split(':aa::bb:', ':', 0))
[?25l:[8C[34h[?25h:$put =string(split(':aa::bb:', ':', 1))
[?25l:[8C[34h[?25h:$put =string(split('aa,,bb, cc,', ',\s*', 1))
[?25l:[8C[34h[?25h:$put =string(split('abc', '\zs'))
[?25l:[8C[34h[?25h:$put =string(split('abc', '\zs', 1))
[?25l:[8C[34h[?25h:"
[?25l:[8C[34h[?25h:endfun[23m[24m[0m[H[J[?25l[1;1H:  let a:000[2][1] = 9
:  call extend(a:000[2], [5, 6])
:  let a:000[3][5] = 8
:  let a:000[3]['a'] = 12
:  $put =string(a:000)
:catch
:  $put ='caught ' . v:exception
:endtry
:"
:" reverse() and sort()
:let l = ['-0', 'A11', 2, 'xaaa', 4, 'foo', 'foo6', [0, 1, 2], 'x8']
:$put =string(reverse(l))
:$put =string(reverse(reverse(l)))
:$put =string(sort(l))
:$put =string(reverse(sort(l)))
:$put =string(sort(reverse(sort(l))))
:"
:" splitting a string to a List
:$put =string(split('  aa  bb '))
:$put =string(split('  aa  bb  ', '\W\+', 0))
:$put =string(split('  aa  bb  ', '\W\+', 1))
:$put =string(split('  aa  bb  ', '\W', 1))
:$put =string(split(':aa::bb:', ':', 0))
:$put =string(split(':aa::bb:', ':', 1))
:$put =string(split('aa,,bb, cc,', ',\s*', 1))
:$put =string(split('abc', '\zs'))
:$put =string(split('abc', '\zs', 1))
:"
:endfun
:call Test(1, 2, [3, 4], {5: 6})  " This may take a while
:"
:/^start:/,$wq! test.out
ENDTEST

start:[34;1H[34h[?25h[?25l

:[34h[?25hcall Test(1, 2, [3, 4], {5: 6})  " This may take a while[?25l[1;1H0000-000[1;9H[K[2;1Hppppppp[2;9H[K[3;1Hdepth is 3[3;11H[K[4;1H1110-110[4;9H[K[5;1HpFFpFFF[5;9H[K[6;1H0010-010
pFppFpp[7;9H[K[8;1H0000-000
ppppppp
depth is 4[10;11H[K[11;1H1111-111[11;10H[K[12;1HFFFFFFF[12;8H[K[13;1H0011-011[13;9H[K[14;1HFFpFFpp[14;8H[K[15;1H0000-000[15;9H[K[16;1Hppppppp[16;8H[K[17;1Hcaught a:000
caught a:000[0][18;16H[K[19;1Hcaught a:000[2][19;16H[K[20;1Hcaught a:000[3][20;16H[K[21;1H[1, 2, [3, 9, 5, 6], {'a': 12, '5': 8}][21;40H[K[22;1H['x8', [0, 1, 2], 'foo6', 'foo', 4, 'xaaa', 2, 'A11', '-0']
['x8', [0, 1, 2], 'foo6', 'foo', 4, 'xaaa', 2, 'A11', '-0']
['-0', 'A11', 'foo', 'foo6', 'x8', 'xaaa', 2, 4, [0, 1, 2]]
[[0, 1, 2], 4, 2, 'xaaa', 'x8', 'foo6', 'foo', 'A11', '-0']
['-0', 'A11', 'foo', 'foo6', 'x8', 'xaaa', 2, 4, [0, 1, 2]]
['aa', 'bb'][27;13H[K[28;1H['aa', 'bb']
['', 'aa', 'bb', '']
['', '', 'aa', '', 'bb', '', ''][30;35H[K[31;1H['aa', '', 'bb']
['', 'aa', '', 'bb', '']
['aa', '', 'bb', 'cc', '']
['a', 'b', 'c']
['', 'a', '', 'b', '', 'c', ''][34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^start:/,$wq! test.out[?25l[1m[31msearch hit BOTTOM, continuing at TOP[0m"test.out" [36;12H[K[36;12H[New File] 107 lines, 1891 characters written
[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test56.failed test.ok test.out X* viminfo
cp test56.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test56.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test56.in" 21 lines, 388 characters[1;1HTest for script-local function.     vim: set ft=vim :

STARTTEST
:so small.vim
:"
:set nocp
:/^start:/+1,/^end:/-1w! Xtest.vim
:source Xtest.vim
_x
:$-1,$wq! test.out
ENDTEST

start:
fun <SID>DoLast()
  call append(line('$'), "last line")
endfun
fun s:DoNothing()
  call append(line('$'), "nothing line")
endfun
nnoremap <buffer> _x    :call <SID>DoNothing()<bar>call <SID>DoLast()<cr>
end:
[1m[34m~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTest for script-local function.     vim: set ft=vim :[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[3;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[4;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 7 lines, 102 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[4;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[11;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[12;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[12;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[12;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset nocp[?25l[12;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^start:/+1,/^end:/-1w! Xtest.vim[?25l"Xtest.vim" [36;13H[K[36;13H[New] 7L, 200C written[12;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hsource Xtest.vim[?25l[12;1H[34h[?25h[?25l[36;1H[K[36;1H:call <SNR>3_DoNothing()|call <SNR>3_DoLast()[22;1Hnothing line[22;13H[K[23;1Hlast line[23;10H[K[12;1H[34h[?25h
[?25l[36;1H[K[36;1H:[34h[?25h$-1,$wq! test.out[?25l"test.out" [36;12H[K[36;12H[New] 2L, 23C written
[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test57.failed test.ok test.out X* viminfo
cp test57.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test57.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test57.in" 496 lines, 3654 characters[1;1HTests for :sort command.     vim: set ft=vim :

STARTTEST
:so small.vim
:"
:/^t01:/+1,/^t02/-1sort
:/^t02:/+1,/^t03/-1sort n
:/^t03:/+1,/^t04/-1sort x
:/^t04:/+1,/^t05/-1sort u
:/^t05:/+1,/^t06/-1sort!
:/^t06:/+1,/^t07/-1sort! n
:/^t07:/+1,/^t08/-1sort! u
:/^t08:/+1,/^t09/-1sort o
:/^t09:/+1,/^t10/-1sort! x
:/^t10:/+1,/^t11/-1sort/./
:/^t11:/+1,/^t12/-1sort/../
:/^t12:/+1,/^t13/-1sort/../u
:/^t13:/+1,/^t14/-1sort/./n
:/^t14:/+1,/^t15/-1sort/./r
:/^t15:/+1,/^t16/-1sort/../r
:/^t16:/+1,/^t17/-1sort/./rn
:/^t17:/+1,/^t18/-1sort/\d/
:/^t18:/+1,/^t19/-1sort/\d/r
:/^t19:/+1,/^t20/-1sort/\d/n
:/^t20:/+1,/^t21/-1sort/\d/rn
:/^t21:/+1,/^t22/-1sort/\d\d/
:/^t22:/+1,/^t23/-1sort/\d\d/n
:/^t23:/+1,/^t24/-1sort/\d\d/x
:/^t24:/+1,/^t25/-1sort/\d\d/r
:/^t25:/+1,/^t26/-1sort/\d\d/rn
:/^t26:/+1,/^t27/-1sort/\d\d/rx
:/^t27:/+1,/^t28/-1sort no
:/^t01:/,$wq! test.out
ENDTEST[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTests for :sort command.     vim: set ft=vim :[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[3;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[4;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 30 lines, 842 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[4;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[34;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^t01:/+1,/^t02/-1sort[?25l[1;35r[1;1H[2M[1;36r[34;1Ht01: alphebetical[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h/^t02:/+1,/^t03/-1sort n[?25l[1;35r[1;1H[17M[1;36r[20;2H123b
a
a122
a123
a321
ab
abc
b123
b321
b321
b321b
b322b
c123d
c321d
t02: numeric
abc[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h/^t03:/+1,/^t04/-1sort x[?25l[1;35r[1;1H[17M[1;36r[19;1Hab
a


a122
a123
b123
c123d
 123b
a321
b321
c321d
b321
b321b
b322b
t03: hexadecimal[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h/^t04:/+1,/^t05/-1sort u[?25l[1;35r[1;1H[17M[1;36r[20;1Ha
ab
abc
 123b
a122
a123
a321
b123
b321
b321
b321b
b322b
c123d
c321d
t04: alpha, unique[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h/^t05:/+1,/^t06/-1sort![?25l[1;35r[1;1H[15M[1;36r[21;2H123b
a
a122
a123
a321
ab
abc
b123
b321
b321b
b322b
c123d
c321d
t05: alpha, reverse
c321d[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h/^t06:/+1,/^t07/-1sort! n        [?25l[1;35r[1;1H[17M[1;36r[19;1Hc123d
b322b
b321b
b321
b321
b123
abc
ab
a321
a123
a122
a
 123b


t06: numeric, reverse
b322b[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h/^t07:/+1,/^t08/-1sort! u[?25l[1;35r[1;1H[17M[1;36r[19;1Hb321b
b321
c321d
b321
a321
 123b
c123d
b123
a123
a122


a
ab
abc
t07: unique, reverse
c321d[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h/^t08:/+1,/^t09/-1sort o         [?25l[1;35r[1;1H[15M[1;36r[21;1Hc123d
b322b
b321b
b321
b123
abc
ab
a321
a123
a122
a
 123b

t08: octal
abc[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h/^t09:/+1,/^t10/-1sort! x        [?25l[1;35r[1;1H[17M[1;36r[19;1Hab
a


a122
a123
b123
c123d
 123b
a321
b321
c321d
b321
b321b
b322b
t09: reverse, hexadecimal
c321d[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h/^t10:/+1,/^t11/-1sort/./        [?25l[1;35r[1;1H[17M[1;36r[19;1Hc123d
b322b
b321b
b321
b321
b123
a321
a123
a122
 123b
abc
ab
a


t10: alpha, skip first character
a[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h/^t11:/+1,/^t12/-1sort/../       [?25l[1;35r[1;1H[17M[1;36r[21;1Ha122
a123
b123
 123b
c123d
a321
b321
b321
b321b
c321d
b322b
ab
abc
t11: alpha, skip first 2 characters
ab[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h/^t12:/+1,/^t13/-1sort/../u[?25l[1;35r[1;1H[17M[1;36r[19;1Ha


a321
b321
b321
b321b
c321d
a122
b322b
a123
b123
 123b
c123d
abc
t12: alpha, unique, skip first 2 characters
ab[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h/^t13:/+1,/^t14/-1sort/./n[?25l[1;35r[1;1H[15M[1;36r[21;1Ha

a321
b321
b321b
c321d
a122
b322b
a123
b123
 123b
c123d
abc
t13: numeric, skip first character
abc[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h/^t14:/+1,/^t15/-1sort/./r[?25l[1;35r[1;1H[17M[1;36r[19;1Hab
a


a122
a123
b123
c123d
 123b
a321
b321
c321d
b321
b321b
b322b
t14: alpha, sort on first character[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h/^t15:/+1,/^t16/-1sort/../r[?25l[1;35r[1;1H[17M[1;36r[20;2H123b
abc
ab
a
a321
a123
a122
b321
b123
b322b
b321
b321b
c123d
c321d
t15: alpha, sort on first 2 characters
a[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h/^t16:/+1,/^t17/-1sort/./rn[?25l[1;35r[1;1H[17M[1;36r[21;2H123b
a123
a122
a321
abc
ab
b123
b321
b322b
b321
b321b
c123d
c321d
t16: numeric, sort on first character
abc[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h/^t17:/+1,/^t18/-1sort/\d/[?25l[1;35r[1;1H[17M[1;36r[19;1Hab
a
a321
a123
a122
b321
b123
c123d
 123b
c321d
b322b
b321
b321b


t17: alpha, skip past first digit
abc[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h/^t18:/+1,/^t19/-1sort/\d/r[?25l[1;35r[1;1H[17M[1;36r[19;1Hab
a


a321
b321
b321
b321b
c321d
a122
b322b
a123
b123
 123b
c123d
t18: alpha, sort on first digit
abc[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h/^t19:/+1,/^t20/-1sort/\d/n[?25l[1;35r[1;1H[17M[1;36r[19;1Hab
a


a123
a122
b123
c123d
 123b
a321
b321
c321d
b322b
b321
b321b
t19: numeric, skip past first digit
abc[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h/^t20:/+1,/^t21/-1sort/\d/rn[?25l[1;35r[1;1H[17M[1;36r[19;1Hab
a


a321
b321
c321d
b321
b321b
a122
b322b
a123
b123
c123d
 123b
t20: numeric, sort on first digit
abc[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h/^t21:/+1,/^t22/-1sort/\d\d/[?25l[1;35r[1;1H[17M[1;36r[19;1Hab
a


a123
a122
b123
c123d
 123b
a321
b321
c321d
b322b
b321
b321b
t21: alpha, skip past first 2 digits
abc[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h/^t22:/+1,/^t23/-1sort/\d\d/n[?25l[1;35r[1;1H[17M[1;36r[19;1Hab
a


a321
b321
b321
b321b
c321d
a122
b322b
a123
b123
 123b
c123d
t22: numeric, skip past first 2 digits
abc[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h/^t23:/+1,/^t24/-1sort/\d\d/x[?25l[1;35r[1;1H[17M[1;36r[19;1Hab
a


a321
b321
c321d
b321
b321b
a122
b322b
a123
b123
c123d
 123b
t23: hexadecimal, skip past first 2 digits
abc[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h/^t24:/+1,/^t25/-1sort/\d\d/r[?25l[1;35r[1;1H[17M[1;36r[19;1Hab
a


a321
b321
b321
a122
a123
b123
b321b
c321d
b322b
 123b
c123d
t24: alpha, sort on first 2 digits
abc[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h/^t25:/+1,/^t26/-1sort/\d\d/rn[?25l[1;35r[1;1H[17M[1;36r[19;1Hab
a


a123
a122
b123
c123d
 123b
a321
b321
c321d
b322b
b321
b321b
t25: numeric, sort on first 2 digits
abc[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h/^t26:/+1,/^t27/-1sort/\d\d/rx[?25l[1;35r[1;1H[17M[1;36r[19;1Hab
a


a123
a122
b123
c123d
 123b
a321
b321
c321d
b322b
b321
b321b
t26: hexadecimal, sort on first 2 digits
abc[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h/^t27:/+1,/^t28/-1sort no[?25l[1m[37m[41mE474: Invalid argument[0m[36;23H[K[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^t01:/,$wq! test.out[?25l[1m[31msearch hit BOTTOM, continuing at TOP[0m"test.out" [36;12H[K[36;12H[New File] 455 lines, 2727 characters written
[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test58.failed test.ok test.out X* viminfo
cp test58.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test58.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test58.in" 630 lines, 10705 characters[1;1HTests for spell checking.     vim: set ft=vim :

STARTTEST
:so small.vim
:"
:" Don't want to depend on the locale from the environment
:set enc=latin1
:e!
:"
:" Function to test .aff/.dic with list of good and bad words.
:func TestOne(aff, dic)
  set spellfile=
  $put =''
  $put ='test '. a:aff . '-' . a:dic
  " Generate a .spl file from a .dic and .aff file.
  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'
  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'
  mkspell! Xtest Xtest
  " use that spell file
  set spl=Xtest.latin1.spl spell
  " list all valid words
  spelldump
  %yank
  quit
  $put
  $put ='-------'
  " find all bad words and suggestions for them
  exe '1;/^' . a:aff . 'good:'
  normal 0f:]s
  let prevbad = ''
  while 1
    let [bad, a] = spellbadword()
    if bad == '' || bad == prevbad || bad == 'badend'[34;7Hbreak
    endif[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTests for spell checking.     vim: set ft=vim :[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[3;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[4;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 100 lines, 2377 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[4;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[23m[24m[0m[H[J[1;1H`m]s:let [str, a] = spellbadword()
:$put =str
:"
:" Postponed prefixes
:call TestOne('2', '1')
:"
:" Compound words
:call TestOne('3', '3')
:call TestOne('4', '4')
:call TestOne('5', '5')
:call TestOne('6', '6')
:call TestOne('7', '7')
:"
:" NOSLITSUGS
:call TestOne('8', '8')
:"
gg:/^test output:/,$wq! test.out
ENDTEST

1affstart
SET ISO8859-1
TRY esianrtolcdugmphbyfvkwjkqxz-ëéèêïîäàâöüû'ESIANRTOLCDUGMPHBYFVKWJKQXZ

FOL  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
LOW  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
UPP  ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ

SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿÀÁÂÃÄÅÆÆ[29;1HÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ¿
SOFOTO   ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkeseeeeeeeceeeeeeeedneeeeeeeeeeepseeeeeeeee[31;1Hceeeeeeeedneeeeeeeeeeep?

MIDWORD '-

KEP =[18;1H[34h[?25h
[?25l[36;1H:so! Xdotest[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" Don't want to depend on the locale from the environment[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset enc=latin1[?25l[23m[24m[0m[H[J[1;1H`m]s:let [str, a] = spellbadword()
:$put =str
:"
:" Postponed prefixes
:call TestOne('2', '1')
:"
:" Compound words
:call TestOne('3', '3')
:call TestOne('4', '4')
:call TestOne('5', '5')
:call TestOne('6', '6')
:call TestOne('7', '7')
:"
:" NOSLITSUGS
:call TestOne('8', '8')
:"
gg:/^test output:/,$wq! test.out
ENDTEST

1affstart
SET ISO8859-1
TRY esianrtolcdugmphbyfvkwjkqxz-ëéèêïîäàâöüû'ESIANRTOLCDUGMPHBYFVKWJKQXZ

FOL  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
LOW  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
UPP  ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ

SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿÀÁÂÃÄÅÆÆ[29;1HÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ¿
SOFOTO   ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkeseeeeeeeceeeeeeeedneeeeeeeeeeepseeeeeeeee[31;1Hceeeeeeeedneeeeeeeeeeep?

MIDWORD '-

KEP =[19;1H[34h[?25h[?25l[36;1H:[34h[?25he![?25l"test58.in" 630 lines, 10705 characters[1;1HTests for spell checking.     vim: set ft=vim :[2;1H[K[3;1HSTARTTEST
:so small.vim[4;14H[K[5;2H"[5;3H[K[6;4HDon't want to depend on the locale from the environment
:set enc=latin1[7;16H[K[8;2He![8;4H[K[9;2H"[9;3H[K[10;2H" Function to test .aff/.dic with list of good and bad words.
:func[9Caff, dic
  set spellfile=[12;17H[K[13;1H  $put =''
  $put ='test '. a:aff . '-' . a:dic
  " Generate a .spl file from a .dic and .aff file.
  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'
  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'
  mkspell! Xtest Xtest
  " use that spell file
  set spl=Xtest.latin1.spl spell
  " list all valid words
  spelldump[22;12H[K[23;3H%yank
  quit[24;7H[K[25;1H  $put[25;7H[K[26;1H  $put ='-------'[26;18H[K[27;3H" find all bad words and suggestions for them
  exe '1;/^' . a:aff . 'good:'[28;31H[K[29;1H  normal 0f:]s[29;15H[K[30;1H  let prevbad = ''[30;19H[K[31;1H  while 1[31;10H[K[32;5Hlet [bad, a] = spellbadword()
    if bad == '' || bad == prevbad || bad == 'badend'[34;7Hbreak
    endif[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" Function to test .aff/.dic with list of good and bad words.[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hfunc TestOne(aff, dic)[?25l
:  [34h[?25h  set spellfile=
[?25l:  [34h[?25h  $put =''
[?25l:  [34h[?25h  $put ='test '. a:aff . '-' . a:dic
[?25l:  [34h[?25h  " Generate a .spl file from a .dic and .aff file.
[?25l:  [34h[?25h  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'
[?25l:  [34h[?25h  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'
[?25l:  [34h[?25h  mkspell! Xtest Xtest
[?25l:  [34h[?25h  " use that spell file
[?25l:  [34h[?25h  set spl=Xtest.latin1.spl spell
[?25l:  [34h[?25h  " list all valid words
[?25l:  [34h[?25h  spelldump
[?25l:  [34h[?25h  %yank
[?25l:  [34h[?25h  quit
[?25l:  [34h[?25h  $put
[?25l:  [34h[?25h  $put ='-------'
[?25l:  [34h[?25h  " find all bad words and suggestions for them
[?25l:  [34h[?25h  exe '1;/^' . a:aff . 'good:'
[?25l:  [34h[?25h  normal 0f:]s
[?25l:  [34h[?25h  let prevbad = ''
[?25l:  [34h[?25h  while 1
[?25l:    [34h[?25h    let [bad, a] = spellbadword()
[?25l:    [34h[?25h    if bad == '' || bad == prevbad || bad == 'badend'
[?25l:      [34h[?25h      break
[?25l:      [34h[?25h    endif
[?25l:    [34h[?25h    let prevbad = bad
[?25l:    [34h[?25h    let lst = spellsuggest(bad, 3)
[?25l:    [34h[?25h    normal mm
[?25l:    [34h[?25h    $put =bad
[?25l:    [34h[?25h    $put =string(lst)
[?25l:    [34h[?25h    normal `m]s
[?25l:    [34h[?25h  endwhile
[?25l:  [34h[?25hendfunc[23m[24m[0m[H[J[?25l[1;1HTests for spell checking.     vim: set ft=vim :

STARTTEST
:so small.vim
:"
:" Don't want to depend on the locale from the environment
:set enc=latin1
:e!
:"
:" Function to test .aff/.dic with list of good and bad words.
:func TestOne(aff, dic)
  set spellfile=
  $put =''
  $put ='test '. a:aff . '-' . a:dic
  " Generate a .spl file from a .dic and .aff file.
  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'
  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'
  mkspell! Xtest Xtest
  " use that spell file
  set spl=Xtest.latin1.spl spell
  " list all valid words
  spelldump
  %yank
  quit
  $put
  $put ='-------'
  " find all bad words and suggestions for them
  exe '1;/^' . a:aff . 'good:'
  normal 0f:]s
  let prevbad = ''
  while 1
    let [bad, a] = spellbadword()
    if bad == '' || bad == prevbad || bad == 'badend'[34;7Hbreak
    endif[1;1H[34h[?25h[?25l[36;1H:[34h[?25h"[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hcall TestOne('1', '1')[?25l"Xtest.aff" [36;13H[K[36;13H[New File] 46 lines, 754 characters written
"Xtest.dic" [New File] 11 lines, 71 characters written
Reading affix file Xtest.aff ...
Reading dictionary file Xtest.dic ...
line      2, word      0 - testCompressing word tree...[36;26H[K[36;1H
Compressed 29 of 127 nodes; 98 (77%) remaining
Writing spell file Xtest.latin1.spl ...
Done!
Estimated runtime memory use: 490 bytes
Reading back spell file...
Performing soundfolding...
Total number of words: 16
Number of words after soundfolding: 16
Compressing word tree...
Compressed 39 of 104 nodes; 65 (62%) remaining
Writing suggestion file Xtest.latin1.sug ...
Estimated runtime memory use: 357 bytes
17 lines yanked
17 more lines
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25h$put =soundfold('goobledygoook')[?25l[1;1H[19L[1;1Hdeol
déôr
input
OK
output
outputs
outtest
put
puts
test
testen
testn
the end
uk
wrong
-------
[41mbad[0m
['put', 'uk', 'OK']
[41minputs[0m
['input', 'puts', 'outputs'][20;29H[K[21;1H[41mcomment[0m[21;8H[K[22;1H['Comment', 'outtest', 'the end']
[41mok[0m[23;3H[K[24;1H['OK', 'uk', 'put']
[41mOk[0m[25;3H[K[26;1H['OK', 'Uk', 'Put']
test[27;5H[K[28;1H['Test', 'testn', 'testen'][28;28H[K[29;1H[41mdéôl[0m[29;5H[K[30;1H['deol', 'déôr', 'test']
[41mend[0m[31;4H[K[32;1H['put', 'uk', 'test'][32;22H[K[33;1H[41mthe[0m[33;5H[K[34;1H['put', 'uk', 'test']
[41mgebletegek[0m[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h$put =soundfold('kóopërÿnôven')[?25l[1;35r[35;1H
[1;36r[35;1H[41mkepereneven[0m[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h$put =soundfold('oeverloos gezwets edale')[?25l[1;35r[35;1H
[1;36r[35;1H[41meverles[0m [41mgesvets[0m [41metele[0m[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h"[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" and now with SAL instead of SOFO items; test automatic reloading[?25l[35;1H[34h[?25h[?25l[23m[24m[0m[H[J[1;1H[41mTests[0m [41mfor[0m [41mspell[0m [41mchecking[0m.     [41mvim[0m: [41mset[0m [41mft[0m=[41mvim[0m :

[41mSTARTTEST[0m
:[41mso[0m [41msmall[0m.[41mvim[0m
:"
:" [41mDon't[0m [41mwant[0m [41mto[0m [41mdepend[0m [41mon[0m [41mthe[0m [41mlocale[0m [41mfrom[0m [41mthe[0m [41menvironment[0m
:[41mset[0m [41menc[0m=[41mlatin1[0m
:[41me[0m!
:"
:" [41mFunction[0m [41mto[0m test .[41maff[0m/.[41mdic[0m [41mwith[0m [41mlist[0m [41mof[0m [41mgood[0m [41mand[0m [41mbad[0m [41mwords[0m.
:[41mfunc[0m [41mTestOne[0m([41maff[0m, [41mdic[0m)
  [41mset[0m [41mspellfile[0m=
  $put =''
  $put ='test '. [41ma[0m:[41maff[0m . '-' . [41ma[0m:[41mdic[0m
  " [41mGenerate[0m [41ma[0m .[41mspl[0m [41mfile[0m [41mfrom[0m [41ma[0m .[41mdic[0m [41mand[0m .[41maff[0m [41mfile[0m.
  [41mexe[0m '1;/^' . [41ma[0m:[41maff[0m . '[41maffstart[0m/+1,/^' . [41ma[0m:[41maff[0m . '[41maffend[0m/-1[41mw[0m! [41mXtest[0m.[41maff[0m'
  [41mexe[0m '1;/^' . [41ma[0m:[41mdic[0m . '[41mdicstart[0m/+1,/^' . [41ma[0m:[41mdic[0m . '[41mdicend[0m/-1[41mw[0m! [41mXtest[0m.[41mdic[0m'
  [41mmkspell[0m! [41mXtest[0m [41mXtest[0m
  " [41muse[0m [41mthat[0m [41mspell[0m [41mfile
[0m  [41mset[0m [41mspl[0m=[41mXtest[0m.[41mlatin1[0m.[41mspl[0m [41mspell[0m
  " [41mlist[0m [41mall[0m [41mvalid[0m [41mwords
[0m  [41mspelldump[0m
  %[41myank
[0m  [41mquit[0m
  $put
  $put ='-------'
  " [41mfind[0m [41mall[0m [41mbad[0m [41mwords[0m [41mand[0m [41msuggestions[0m [41mfor[0m [41mthem
[0m  [41mexe[0m '1;/^' . [41ma[0m:[41maff[0m . '[41mgood[0m:'
  [41mnormal[0m 0[41mf[0m:][41ms
[0m  [41mlet[0m [41mprevbad[0m = ''
  [41mwhile[0m 1
    [41mlet[0m [[41mbad[0m, [41ma[0m] = [41mspellbadword[0m()
    [41mif[0m [41mbad[0m == '' || [41mbad[0m == [41mprevbad[0m || [41mbad[0m == '[41mbadend[0m'[34;7H[41mbreak
[0m    [41mendif[1;1H[34h[?25h[?25l[36;1H[0m:[34h[?25h/^affstart_sal/+1,/^affend_sal/-1w! Xtest.aff[?25l"Xtest.aff" [36;13H[K[36;13H151 lines, 3412 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmkspell! Xtest Xtest[?25lReading affix file Xtest.aff ...
Reading dictionary file Xtest.dic ...
line      2, word      0 - testCompressing word tree...[36;26H[K[36;1H
Compressed 29 of 127 nodes; 98 (77%) remaining
Writing spell file Xtest.latin1.spl ...
Done!
Estimated runtime memory use: 490 bytes
Performing soundfolding...
Total number of words: 16
Number of words after soundfolding: 15
Compressing word tree...
Compressed 33 of 75 nodes; 42 (56%) remaining
Writing suggestion file Xtest.latin1.sug ...
Estimated runtime memory use: 241 bytes
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25h$put =soundfold('goobledygoook')[?25l[1;1H[14L[1;1HOK
output
outputs
outtest
put
puts
test
testen
testn
the end
uk
wrong
-------
[41mbad[0m
['put', 'uk', 'OK'][15;21H[K[16;1H[41minputs[0m[16;7H[K[17;1H['input', 'puts', 'outputs'][17;29H[K[18;1H[41mcomment[0m[18;8H[K[19;1H['Comment', 'outtest', 'the end']
[41mok[0m[20;3H[K[21;1H['OK', 'uk', 'put'][21;20H[K[22;1H[41mOk[0m[22;3H[K[23;1H['OK', 'Uk', 'Put']
test[24;5H[K[25;1H['Test', 'testn', 'testen']
[41mdéôl[0m[26;5H[K[27;1H['deol', 'déôr', 'test'][27;25H[K[28;1H[41mend[0m[28;4H[K[29;1H['put', 'uk', 'test']
[41mthe[0m[30;4H[K[31;1H['put', 'uk', 'test']
[41mgebletegek[0m[32;11H[K[33;1H[41mkepereneven[0m[33;12H[K[34;1H[41meverles[0m [41mgesvets[0m [41metele
kbltykk[0m[35;8H[K[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h$put =soundfold('kóopërÿnôven')[?25l[1;35r[35;1H
[1;36r[35;1H[41mkprnfn[0m[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h$put =soundfold('oeverloos gezwets edale')[?25l[1;35r[35;1H
[1;36r[35;1H*[41mfls[0m [41mkswts[0m [41mtl[0m[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h"[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" also use an addition file[?25l[35;1H[34h[?25h[?25l[23m[24m[0m[H[J[1;1H[41mTests[0m [41mfor[0m [41mspell[0m [41mchecking[0m.     [41mvim[0m: [41mset[0m [41mft[0m=[41mvim[0m :

[41mSTARTTEST[0m
:[41mso[0m [41msmall[0m.[41mvim[0m
:"
:" [41mDon't[0m [41mwant[0m [41mto[0m [41mdepend[0m [41mon[0m [41mthe[0m [41mlocale[0m [41mfrom[0m [41mthe[0m [41menvironment[0m
:[41mset[0m [41menc[0m=[41mlatin1[0m
:[41me[0m!
:"
:" [41mFunction[0m [41mto[0m test .[41maff[0m/.[41mdic[0m [41mwith[0m [41mlist[0m [41mof[0m [41mgood[0m [41mand[0m [41mbad[0m [41mwords[0m.
:[41mfunc[0m [41mTestOne[0m([41maff[0m, [41mdic[0m)
  [41mset[0m [41mspellfile[0m=
  $put =''
  $put ='test '. [41ma[0m:[41maff[0m . '-' . [41ma[0m:[41mdic[0m
  " [41mGenerate[0m [41ma[0m .[41mspl[0m [41mfile[0m [41mfrom[0m [41ma[0m .[41mdic[0m [41mand[0m .[41maff[0m [41mfile[0m.
  [41mexe[0m '1;/^' . [41ma[0m:[41maff[0m . '[41maffstart[0m/+1,/^' . [41ma[0m:[41maff[0m . '[41maffend[0m/-1[41mw[0m! [41mXtest[0m.[41maff[0m'
  [41mexe[0m '1;/^' . [41ma[0m:[41mdic[0m . '[41mdicstart[0m/+1,/^' . [41ma[0m:[41mdic[0m . '[41mdicend[0m/-1[41mw[0m! [41mXtest[0m.[41mdic[0m'
  [41mmkspell[0m! [41mXtest[0m [41mXtest[0m
  " [41muse[0m [41mthat[0m [41mspell[0m [41mfile
[0m  [41mset[0m [41mspl[0m=[41mXtest[0m.[41mlatin1[0m.[41mspl[0m [41mspell[0m
  " [41mlist[0m [41mall[0m [41mvalid[0m [41mwords
[0m  [41mspelldump[0m
  %[41myank
[0m  [41mquit[0m
  $put
  $put ='-------'
  " [41mfind[0m [41mall[0m [41mbad[0m [41mwords[0m [41mand[0m [41msuggestions[0m [41mfor[0m [41mthem
[0m  [41mexe[0m '1;/^' . [41ma[0m:[41maff[0m . '[41mgood[0m:'
  [41mnormal[0m 0[41mf[0m:][41ms
[0m  [41mlet[0m [41mprevbad[0m = ''
  [41mwhile[0m 1
    [41mlet[0m [[41mbad[0m, [41ma[0m] = [41mspellbadword[0m()
    [41mif[0m [41mbad[0m == '' || [41mbad[0m == [41mprevbad[0m || [41mbad[0m == '[41mbadend[0m'[34;7H[41mbreak
[0m    [41mendif[1;1H[34h[?25h[?25l[36;1H[0m:[34h[?25h/^addstart/+1,/^addend/-1w! Xtest.latin1.add[?25l"Xtest.latin1.add" [36;20H[K[36;20H[New File] 3 lines, 38 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmkspell! Xtest.latin1.add.spl Xtest.latin1.add[?25lReading word file Xtest.latin1.add ...[36;39H[K[36;1H
Compressing word tree...
Compressed 0 of 29 nodes; 29 (100%) remaining
Writing spell file Xtest.latin1.add.spl ...
Done!
Estimated runtime memory use: 145 bytes
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hset spellfile=Xtest.latin1.add[?25l[1;1H[6L[1;1H[41mTests[0m [41mfor[0m [41mspell[0m [41mchecking[0m.     [41mvim[0m: [41mset[0m [41mft[0m=[41mvim[0m :

[41mSTARTTEST[0m
:[41mso[0m [41msmall[0m.[41mvim[0m
:"
:" [41mDon't[0m [41mwant[0m [41mto[0m [41mdepend[0m [41mon[0m [41mthe[0m [41mlocale[0m [41mfrom[0m [41mthe[0m [41menvironment[0m[36;1H[K[1;1H[34h[?25h[?25l[36;1H/[34h[?25h^test2:[?25l[23m[24m[0m[H[J[1;1H[41mMAP[0m [41muùúûü
MAP[0m [41mnñ
MAP[0m [41mcç
MAP[0m [41myÿý
MAP[0m [41msß[0m
2[41maffend[0m

2[41mgood[0m: puts
[41mbad[0m: [41minputs[0m [41mcomment[0m [41mok[0m [41mOk[0m [41mend[0m [41mthe[0m. [44mtest[0m [41mdéôl
badend

addstart[0m
/[41mregions[0m=[41musgbnz[0m
elequint/2
elekwint/3
[41maddend

test2[0m:
elequint test elekwint test [41melekwent[0m [41masdf[0m

Test [41mrules[0m [41mfor[0m [41mcompounding[0m.

3[41maffstart
SET[0m [41mISO8859-1

COMPOUNDMIN[0m 3
[41mCOMPOUNDRULE[0m [41mm[0m*
[41mNEEDCOMPOUND[0m [41mx[0m
3[41maffend[0m

3[41mdicstart[0m
1234
[41mfoo[0m/[41mm
bar[0m/[41mmx
mï[0m/[41mm[18;1H[34h[?25h[19;29H[?25l[36;1H[0m:[34h[?25hlet [str, a] = spellbadword()[?25l[19;29H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$put =str[?25l[23m[24m[0m[H[J[1;1Houttest
put
puts
test
testen
testn
the end
uk
wrong
-------
[41mbad[0m
['put', 'uk', 'OK']
[41minputs[0m
['input', 'puts', 'outputs']
[41mcomment[0m
['Comment', 'outtest', 'the end']
[41mok[0m
['OK', 'uk', 'put']
[41mOk[0m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdéôl[0m
['deol', 'déôr', 'test']
[41mend[0m
['put', 'uk', 'test']
[41mthe[0m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[0m [41mgesvets[0m [41metele
kbltykk
kprnfn[0m
*[41mfls[0m [41mkswts[0m [41mtl
elekwent[34h[?25h[?25l
[0m:[34h[?25hset spl=Xtest_us.latin1.spl[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h^test2:[?25l[1m[31msearch hit BOTTOM, continuing at TOP[23m[24m[0m[H[J[1;1H[41mMAP[0m [41muùúûü
MAP[0m [41mnñ
MAP[0m [41mcç
MAP[0m [41myÿý
MAP[0m [41msß[0m
2[41maffend[0m

2[41mgood[0m: puts
[41mbad[0m: [41minputs[0m [41mcomment[0m [41mok[0m [41mOk[0m [41mend[0m [41mthe[0m. [44mtest[0m [41mdéôl
badend

addstart[0m
/[41mregions[0m=[41musgbnz[0m
[46melequint[0m/2
[46melekwint[0m/3
[41maddend

test2[0m:
[46melequint[0m test [46melekwint[0m test [41melekwent[0m [41masdf[0m

Test [41mrules[0m [41mfor[0m [41mcompounding[0m.

3[41maffstart
SET[0m [41mISO8859-1

COMPOUNDMIN[0m 3
[41mCOMPOUNDRULE[0m [41mm[0m*
[41mNEEDCOMPOUND[0m [41mx[0m
3[41maffend[0m

3[41mdicstart[0m
1234
[41mfoo[0m/[41mm
bar[0m/[41mmx
mï[0m/[41mm[0m
[1m[31msearch hit BOTTOM, continuing at TOP[18;1H[34h[?25h
[?25l[0m[36;1H[K[36;1H:[34h[?25hlet [str, a] = spellbadword()[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$put =str[?25l[23m[24m[0m[H[J[1;1Hput
puts
test
testen
testn
the end
uk
wrong
-------
[41mbad[0m
['put', 'uk', 'OK']
[41minputs[0m
['input', 'puts', 'outputs']
[41mcomment[0m
['Comment', 'outtest', 'the end']
[41mok[0m
['OK', 'uk', 'put']
[41mOk[0m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdéôl[0m
['deol', 'déôr', 'test']
[41mend[0m
['put', 'uk', 'test']
[41mthe[0m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[0m [41mgesvets[0m [41metele
kbltykk
kprnfn[0m
*[41mfls[0m [41mkswts[0m [41mtl
elekwent[0m
[46melequint[34h[?25h[?25l[23m[24m[0m[H[J[1;1H[41mMAP[0m [41mnñ
MAP[0m [41mcç
MAP[0m [41myÿý
MAP[0m [41msß[0m
2[41maffend[0m

2[41mgood[0m: puts
[41mbad[0m: [41minputs[0m [41mcomment[0m [41mok[0m [41mOk[0m [41mend[0m [41mthe[0m. [44mtest[0m [41mdéôl
badend

addstart[0m
/[41mregions[0m=[41musgbnz[0m
[46melequint[0m/2
[46melekwint[0m/3
[41maddend

test2[0m:
[46melequint[0m test [46melekwint[0m test [41melekwent[0m [41masdf[0m

Test [41mrules[0m [41mfor[0m [41mcompounding[0m.

3[41maffstart
SET[0m [41mISO8859-1

COMPOUNDMIN[0m 3
[41mCOMPOUNDRULE[0m [41mm[0m*
[41mNEEDCOMPOUND[0m [41mx[0m
3[41maffend[0m

3[41mdicstart[0m
1234
[41mfoo[0m/[41mm
bar[0m/[41mmx
mï[0m/[41mm
la[0m/[41mmx[18;1H[34h[?25h[14C[?25l[36;1H[0m:[34h[?25hlet [str, a] = spellbadword()[?25l[18;15H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$put =str[?25l[23m[24m[0m[H[J[1;1Hputs
test
testen
testn
the end
uk
wrong
-------
[41mbad[0m
['put', 'uk', 'OK']
[41minputs[0m
['input', 'puts', 'outputs']
[41mcomment[0m
['Comment', 'outtest', 'the end']
[41mok[0m
['OK', 'uk', 'put']
[41mOk[0m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdéôl[0m
['deol', 'déôr', 'test']
[41mend[0m
['put', 'uk', 'test']
[41mthe[0m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[0m [41mgesvets[0m [41metele
kbltykk
kprnfn[0m
*[41mfls[0m [41mkswts[0m [41mtl
elekwent[0m
[46melequint
elekwint[34h[?25h[?25l
[0m:[34h[?25hset spl=Xtest_gb.latin1.spl[?25l[34;1Helequint
[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h^test2:[?25l[1m[31msearch hit BOTTOM, continuing at TOP[23m[24m[0m[H[J[1;1H[41mMAP[0m [41muùúûü
MAP[0m [41mnñ
MAP[0m [41mcç
MAP[0m [41myÿý
MAP[0m [41msß[0m
2[41maffend[0m

2[41mgood[0m: puts
[41mbad[0m: [41minputs[0m [41mcomment[0m [41mok[0m [41mOk[0m [41mend[0m [41mthe[0m. [44mtest[0m [41mdéôl
badend

addstart[0m
/[41mregions[0m=[41musgbnz[0m
elequint/2
[46melekwint[0m/3
[41maddend

test2[0m:
elequint test [46melekwint[0m test [41melekwent[0m [41masdf[0m

Test [41mrules[0m [41mfor[0m [41mcompounding[0m.

3[41maffstart
SET[0m [41mISO8859-1

COMPOUNDMIN[0m 3
[41mCOMPOUNDRULE[0m [41mm[0m*
[41mNEEDCOMPOUND[0m [41mx[0m
3[41maffend[0m

3[41mdicstart[0m
1234
[41mfoo[0m/[41mm
bar[0m/[41mmx
mï[0m/[41mm[0m
[1m[31msearch hit BOTTOM, continuing at TOP[18;1H[34h[?25h[19;15H[?25l[0m[36;1H[K[36;1H:[34h[?25hlet [str, a] = spellbadword()[?25l[19;15H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$put =str[?25l[23m[24m[0m[H[J[1;1Htest
testen
testn
the end
uk
wrong
-------
[41mbad[0m
['put', 'uk', 'OK']
[41minputs[0m
['input', 'puts', 'outputs']
[41mcomment[0m
['Comment', 'outtest', 'the end']
[41mok[0m
['OK', 'uk', 'put']
[41mOk[0m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdéôl[0m
['deol', 'déôr', 'test']
[41mend[0m
['put', 'uk', 'test']
[41mthe[0m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[0m [41mgesvets[0m [41metele
kbltykk
kprnfn[0m
*[41mfls[0m [41mkswts[0m [41mtl
elekwent[0m
elequint
[46melekwint
elekwint[34h[?25h[?25l[23m[24m[0m[H[J[1;1H[41mMAP[0m [41mnñ
MAP[0m [41mcç
MAP[0m [41myÿý
MAP[0m [41msß[0m
2[41maffend[0m

2[41mgood[0m: puts
[41mbad[0m: [41minputs[0m [41mcomment[0m [41mok[0m [41mOk[0m [41mend[0m [41mthe[0m. [44mtest[0m [41mdéôl
badend

addstart[0m
/[41mregions[0m=[41musgbnz[0m
elequint/2
[46melekwint[0m/3
[41maddend

test2[0m:
elequint test [46melekwint[0m test [41melekwent[0m [41masdf[0m

Test [41mrules[0m [41mfor[0m [41mcompounding[0m.

3[41maffstart
SET[0m [41mISO8859-1

COMPOUNDMIN[0m 3
[41mCOMPOUNDRULE[0m [41mm[0m*
[41mNEEDCOMPOUND[0m [41mx[0m
3[41maffend[0m

3[41mdicstart[0m
1234
[41mfoo[0m/[41mm
bar[0m/[41mmx
mï[0m/[41mm
la[0m/[41mmx[18;15H[34h[?25h[14C[?25l[36;1H[0m:[34h[?25hlet [str, a] = spellbadword()[?25l[18;29H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$put =str[?25l[23m[24m[0m[H[J[1;1Htesten
testn
the end
uk
wrong
-------
[41mbad[0m
['put', 'uk', 'OK']
[41minputs[0m
['input', 'puts', 'outputs']
[41mcomment[0m
['Comment', 'outtest', 'the end']
[41mok[0m
['OK', 'uk', 'put']
[41mOk[0m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdéôl[0m
['deol', 'déôr', 'test']
[41mend[0m
['put', 'uk', 'test']
[41mthe[0m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[0m [41mgesvets[0m [41metele
kbltykk
kprnfn[0m
*[41mfls[0m [41mkswts[0m [41mtl
elekwent[0m
elequint
[46melekwint
elekwint[0m
[41melekwent[34h[?25h[?25l
[0m:[34h[?25hset spl=Xtest_nz.latin1.spl[?25l[32;1H[46melequint[0m
elekwint
elekwint
[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h^test2:[?25l[1m[31msearch hit BOTTOM, continuing at TOP[23m[24m[0m[H[J[1;1H[41mMAP[0m [41muùúûü
MAP[0m [41mnñ
MAP[0m [41mcç
MAP[0m [41myÿý
MAP[0m [41msß[0m
2[41maffend[0m

2[41mgood[0m: puts
[41mbad[0m: [41minputs[0m [41mcomment[0m [41mok[0m [41mOk[0m [41mend[0m [41mthe[0m. [44mtest[0m [41mdéôl
badend

addstart[0m
/[41mregions[0m=[41musgbnz[0m
[46melequint[0m/2
elekwint/3
[41maddend

test2[0m:
[46melequint[0m test elekwint test [41melekwent[0m [41masdf[0m

Test [41mrules[0m [41mfor[0m [41mcompounding[0m.

3[41maffstart
SET[0m [41mISO8859-1

COMPOUNDMIN[0m 3
[41mCOMPOUNDRULE[0m [41mm[0m*
[41mNEEDCOMPOUND[0m [41mx[0m
3[41maffend[0m

3[41mdicstart[0m
1234
[41mfoo[0m/[41mm
bar[0m/[41mmx
mï[0m/[41mm[0m
[1m[31msearch hit BOTTOM, continuing at TOP[18;1H[34h[?25h
[?25l[0m[36;1H[K[36;1H:[34h[?25hlet [str, a] = spellbadword()[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$put =str[?25l[23m[24m[0m[H[J[1;1Htestn
the end
uk
wrong
-------
[41mbad[0m
['put', 'uk', 'OK']
[41minputs[0m
['input', 'puts', 'outputs']
[41mcomment[0m
['Comment', 'outtest', 'the end']
[41mok[0m
['OK', 'uk', 'put']
[41mOk[0m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdéôl[0m
['deol', 'déôr', 'test']
[41mend[0m
['put', 'uk', 'test']
[41mthe[0m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[0m [41mgesvets[0m [41metele
kbltykk
kprnfn[0m
*[41mfls[0m [41mkswts[0m [41mtl
elekwent[0m
[46melequint[0m
elekwint
elekwint
[41melekwent[0m
[46melequint[34h[?25h[?25l[23m[24m[0m[H[J[1;1H[41mMAP[0m [41mnñ
MAP[0m [41mcç
MAP[0m [41myÿý
MAP[0m [41msß[0m
2[41maffend[0m

2[41mgood[0m: puts
[41mbad[0m: [41minputs[0m [41mcomment[0m [41mok[0m [41mOk[0m [41mend[0m [41mthe[0m. [44mtest[0m [41mdéôl
badend

addstart[0m
/[41mregions[0m=[41musgbnz[0m
[46melequint[0m/2
elekwint/3
[41maddend

test2[0m:
[46melequint[0m test elekwint test [41melekwent[0m [41masdf[0m

Test [41mrules[0m [41mfor[0m [41mcompounding[0m.

3[41maffstart
SET[0m [41mISO8859-1

COMPOUNDMIN[0m 3
[41mCOMPOUNDRULE[0m [41mm[0m*
[41mNEEDCOMPOUND[0m [41mx[0m
3[41maffend[0m

3[41mdicstart[0m
1234
[41mfoo[0m/[41mm
bar[0m/[41mmx
mï[0m/[41mm
la[0m/[41mmx[18;1H[34h[?25h[28C[?25l[36;1H[0m:[34h[?25hlet [str, a] = spellbadword()[?25l[18;29H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$put =str[?25l[23m[24m[0m[H[J[1;1Hthe end
uk
wrong
-------
[41mbad[0m
['put', 'uk', 'OK']
[41minputs[0m
['input', 'puts', 'outputs']
[41mcomment[0m
['Comment', 'outtest', 'the end']
[41mok[0m
['OK', 'uk', 'put']
[41mOk[0m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdéôl[0m
['deol', 'déôr', 'test']
[41mend[0m
['put', 'uk', 'test']
[41mthe[0m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[0m [41mgesvets[0m [41metele
kbltykk
kprnfn[0m
*[41mfls[0m [41mkswts[0m [41mtl
elekwent[0m
[46melequint[0m
elekwint
elekwint
[41melekwent[0m
[46melequint[0m
[41melekwent[34h[?25h[?25l
[0m:[34h[?25hset spl=Xtest_ca.latin1.spl[?25l[30;1H[41melequint
elekwint
elekwint

elequint
[34h[?25h[?25l[0m[36;1H[K[36;1H/[34h[?25h^test2:[?25l[1m[31msearch hit BOTTOM, continuing at TOP[23m[24m[0m[H[J[1;1H[41mMAP[0m [41muùúûü
MAP[0m [41mnñ
MAP[0m [41mcç
MAP[0m [41myÿý
MAP[0m [41msß[0m
2[41maffend[0m

2[41mgood[0m: puts
[41mbad[0m: [41minputs[0m [41mcomment[0m [41mok[0m [41mOk[0m [41mend[0m [41mthe[0m. [44mtest[0m [41mdéôl
badend

addstart[0m
/[41mregions[0m=[41musgbnz
elequint[0m/2
[41melekwint[0m/3
[41maddend

test2[0m:
[41melequint[0m test [41melekwint[0m test [41melekwent[0m [41masdf[0m

Test [41mrules[0m [41mfor[0m [41mcompounding[0m.

3[41maffstart
SET[0m [41mISO8859-1

COMPOUNDMIN[0m 3
[41mCOMPOUNDRULE[0m [41mm[0m*
[41mNEEDCOMPOUND[0m [41mx[0m
3[41maffend[0m

3[41mdicstart[0m
1234
[41mfoo[0m/[41mm
bar[0m/[41mmx
mï[0m/[41mm[0m
[1m[31msearch hit BOTTOM, continuing at TOP[18;1H[34h[?25h
[?25l[0m[36;1H[K[36;1H:[34h[?25hlet [str, a] = spellbadword()[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$put =str[?25l[23m[24m[0m[H[J[1;1Huk
wrong
-------
[41mbad[0m
['put', 'uk', 'OK']
[41minputs[0m
['input', 'puts', 'outputs']
[41mcomment[0m
['Comment', 'outtest', 'the end']
[41mok[0m
['OK', 'uk', 'put']
[41mOk[0m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdéôl[0m
['deol', 'déôr', 'test']
[41mend[0m
['put', 'uk', 'test']
[41mthe[0m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[0m [41mgesvets[0m [41metele
kbltykk
kprnfn[0m
*[41mfls[0m [41mkswts[0m [41mtl
elekwent
elequint
elekwint
elekwint
elekwent
elequint
elekwent
elequint[34h[?25h[?25l[23m[24m[0m[H[J[1;1H[41mMAP[0m [41mnñ
MAP[0m [41mcç
MAP[0m [41myÿý
MAP[0m [41msß[0m
2[41maffend[0m

2[41mgood[0m: puts
[41mbad[0m: [41minputs[0m [41mcomment[0m [41mok[0m [41mOk[0m [41mend[0m [41mthe[0m. [44mtest[0m [41mdéôl
badend

addstart[0m
/[41mregions[0m=[41musgbnz
elequint[0m/2
[41melekwint[0m/3
[41maddend

test2[0m:
[41melequint[0m test [41melekwint[0m test [41melekwent[0m [41masdf[0m

Test [41mrules[0m [41mfor[0m [41mcompounding[0m.

3[41maffstart
SET[0m [41mISO8859-1

COMPOUNDMIN[0m 3
[41mCOMPOUNDRULE[0m [41mm[0m*
[41mNEEDCOMPOUND[0m [41mx[0m
3[41maffend[0m

3[41mdicstart[0m
1234
[41mfoo[0m/[41mm
bar[0m/[41mmx
mï[0m/[41mm
la[0m/[41mmx[18;1H[34h[?25h[14C[?25l[36;1H[0m:[34h[?25hlet [str, a] = spellbadword()[?25l[18;15H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$put =str[?25l[23m[24m[0m[H[J[1;1Hwrong
-------
[41mbad[0m
['put', 'uk', 'OK']
[41minputs[0m
['input', 'puts', 'outputs']
[41mcomment[0m
['Comment', 'outtest', 'the end']
[41mok[0m
['OK', 'uk', 'put']
[41mOk[0m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdéôl[0m
['deol', 'déôr', 'test']
[41mend[0m
['put', 'uk', 'test']
[41mthe[0m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[0m [41mgesvets[0m [41metele
kbltykk
kprnfn[0m
*[41mfls[0m [41mkswts[0m [41mtl
elekwent
elequint
elekwint
elekwint
elekwent
elequint
elekwent
elequint
elekwint[34h[?25h[?25l
[0m:[34h[?25h"[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" Postponed prefixes[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hcall TestOne('2', '1')[?25l"Xtest.aff" [36;13H[K[36;13H44 lines, 447 characters written
"Xtest.dic" 11 lines, 71 characters written
Reading affix file Xtest.aff ...
Reading dictionary file Xtest.dic ...
line      2, word      0 - testCompressing word tree...[36;26H[K[36;1H
Compressed 10 of 98 nodes; 88 (89%) remaining
Compressed 0 of 13 nodes; 13 (100%) remaining
Writing spell file Xtest.latin1.spl ...
Done!
Estimated runtime memory use: 505 bytes
17 lines yanked
17 more lines
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25h"[?25l[1;1H[12L[1;1H[41mREP[0m [41mg[0m [41mch
REP[0m [41mch[0m [41mg
REP[0m [41msvp[0m [41ms[0m.[41mv[0m.[41mp[0m.

[41mMAP[0m 9
[41mMAP[0m [41maàáâãäå
MAP[0m [41meèéêë
MAP[0m [41miìíîï
MAP[0m [41moòóôõö
MAP[0m [41muùúûü
MAP[0m [41mnñ
MAP[0m [41mcç
MAP[0m [41myÿý
MAP[0m [41msß[0m[14;7H[K[15;1H2[41maffend[0m[16;1H[K[17;1H2[41mgood[0m: puts
[41mbad[0m: [41minputs[0m [41mcomment[0m [41mok[0m [41mOk[0m [41mend[0m [41mthe[0m. [44mtest[0m [41mdéôl
badend[0m[20;1H[K[21;1H[41maddstart[0m[21;9H[K[22;1H/[41mregions[0m=[41musgbnz
elequint[0m/2[23;11H[K[24;1H[41melekwint[0m/3
[41maddend[0m[26;1H[K[27;1H[41mtest2[0m:[27;7H[K[28;10Htest [41melekwint[0m test [41melekwent[0m [41masdf[0m[29;1H[K[30;1HTest [41mrules[0m [41mfor[0m [41mcompounding[0m.[31;1H[K[32;1H3[41maffstart
SET[0m [41mISO8859-1[0m[34;1H[K[35;1H[41mCOMPOUNDMIN[0m 3[36;1H[K[19;1H[34h[?25h[?25l[36;1H:[34h[?25h" Compound words[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hcall TestOne('3', '3')[?25l"Xtest.aff" [36;13H[K[36;13H5 lines, 60 characters written
"Xtest.dic" 5 lines, 29 characters written
Reading affix file Xtest.aff ...
Reading dictionary file Xtest.dic ...
line      2, word      0 - fooCompressing word tree...[36;26H[K[36;1H
Compressed 6 of 29 nodes; 23 (79%) remaining
Writing spell file Xtest.latin1.spl ...
Done!
Estimated runtime memory use: 115 bytes
3 lines yanked
3 more lines
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hcall TestOne('4', '4')[?25l"Xtest.aff" [36;13H[K[36;13H45 lines, 559 characters written
"Xtest.dic" 8 lines, 59 characters written
Reading affix file Xtest.aff ...
Reading dictionary file Xtest.dic ...
line      2, word      0 - wordCompressing word tree...[36;26H[K[36;1H
Compressed 2 of 91 nodes; 89 (97%) remaining
Compressed 0 of 15 nodes; 15 (100%) remaining
Writing spell file Xtest.latin1.spl ...
Done!
Estimated runtime memory use: 520 bytes
12 lines yanked
12 more lines
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hcall TestOne('5', '5')[?25l"Xtest.aff" [36;13H[K[36;13H25 lines, 237 characters written
"Xtest.dic" 6 lines, 57 characters written
Reading affix file Xtest.aff ...
Reading dictionary file Xtest.dic ...
line      2, word      0 - fooCompressing word tree...[36;26H[K[36;1H
Compressed 19 of 105 nodes; 86 (81%) remaining
Writing spell file Xtest.latin1.spl ...
Done!
Estimated runtime memory use: 440 bytes
10 lines yanked
10 more lines
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hcall TestOne('6', '6')[?25l"Xtest.aff" [36;13H[K[36;13H23 lines, 211 characters written
"Xtest.dic" 6 lines, 53 characters written
Reading affix file Xtest.aff ...
Reading dictionary file Xtest.dic ...
line      2, word      0 - meeCompressing word tree...[36;26H[K[36;1H
Compressed 19 of 87 nodes; 68 (78%) remaining
Writing spell file Xtest.latin1.spl ...
Done!
Estimated runtime memory use: 350 bytes
9 lines yanked
9 more lines
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hcall TestOne('7', '7')[?25l"Xtest.aff" [36;13H[K[36;13H22 lines, 223 characters written
"Xtest.dic" 6 lines, 67 characters written
Reading affix file Xtest.aff ...
Reading dictionary file Xtest.dic ...
line      2, word      0 - meeCompressing word tree...[36;26H[K[36;1H
Compressed 19 of 89 nodes; 70 (78%) remaining
Writing spell file Xtest.latin1.spl ...
Done!
Estimated runtime memory use: 360 bytes
9 lines yanked
9 more lines
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25h"[?25l[23m[24m[0m[H[J[2;1H[41mPFX[0m 17 [41mY[0m 1
[41mPFX[0m 17 0 [41mpre[0m/432 .
7[41maffend[0m

7[41mdicstart[0m
1234
[41mmee[0m/391,111,9999
bar/17,61003,123
lead/2
tail/123
[41mmiddle[0m/77,1
7[41mdicend[0m

7[41mgood[0m: meea1 meeaé bar prebar barmeat prebarmeat  leadprebar[16;7Hlead tail leadtail  leadmiddletail
[41mbad[0m: [41mmee[0m [41mmeea2[0m [41mprabar[0m [41mprobarmaat[0m [41mmiddle[0m [41mleadmiddle[0m [41mmiddletail[0m [41mtaillead[18;9Hleadprobar
badend

Test[0m [41mNOSLITSUGS[0m

8[41maffstart
SET[0m [41mISO8859[0m-1

[41mNOSPLITSUGS[0m
8[41maffend[0m

8[41mdicstart[0m
1234
[41mfoo[0m
bar
[41mfaabar[0m
8[41mdicend[19;1H[34h[?25h[?25l[36;1H[0m:[34h[?25h" NOSLITSUGS[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hcall TestOne('8', '8')[?25l"Xtest.aff" [36;13H[K[36;13H3 lines, 27 characters written
"Xtest.dic" 4 lines, 20 characters written
Reading affix file Xtest.aff ...
Reading dictionary file Xtest.dic ...
line      2, word      0 - fooCompressing word tree...[36;26H[K[36;1H
Compressed 8 of 26 nodes; 18 (69%) remaining
Writing spell file Xtest.latin1.spl ...
Done!
Estimated runtime memory use: 90 bytes
4 lines yanked
4 more lines
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25h"[?25l[1;1H[11L[2;1H[41mTest[0m [41mNOSLITSUGS[0m

8[41maffstart
SET[0m [41mISO8859[0m-1

[41mNOSPLITSUGS[0m
8[41maffend[0m

8[41mdicstart[0m
1234
foo[12;4H[K[13;1Hbar[13;4H[K[14;1Hfaabar
8[41mdicend[0m[15;8H[K[16;7H[K[17;1H8[41mgood[0m: foo bar faabar[17;23H[K[18;1H[41mbad[0m: [41mfoobar[0m [41mbarfoo[0m[21;1H[K[22;1H[41mtest[0m [41moutput[0m:[23;1H[K[24;1H[41mtest[0m 1-1[24;9H[K[25;1H# [41mfile[0m: [41mXtest[0m.[41mlatin1[0m.[41mspl
Comment[0m[26;8H[K[27;1H[41mdeol[0m[27;5H[K[28;1H[41mdéôr
input[0m[29;6H[K[30;1H[41mOK[0m[30;3H[K[31;1H[41moutput
outputs
outtest
put[0m[34;4H[K[35;1H[41mputs[0m[36;1H[K[19;1H[34h[?25h[?25l[23m[24m[0m[H[J[1;1H[41mTests[0m [41mfor[0m [41mspell[0m [41mchecking[0m.     [41mvim[0m: [41mset[0m [41mft[0m=[41mvim[0m :

[41mSTARTTEST[0m
:[41mso[0m [41msmall[0m.[41mvim[0m
:"
:" [41mDon[0m'[41mt[0m [41mwant[0m [41mto[0m [41mdepend[0m [41mon[0m [41mthe[0m [41mlocale[0m [41mfrom[0m [41mthe[0m [41menvironment[0m
:[41mset[0m [41menc[0m=[41mlatin1[0m
:[41me[0m!
:"
:" [41mFunction[0m [41mto[0m [41mtest[0m .[41maff[0m/.[41mdic[0m [41mwith[0m [41mlist[0m [41mof[0m [41mgood[0m [41mand[0m [41mbad[0m [41mwords[0m.
:[41mfunc[0m [41mTestOne[0m([41maff[0m, [41mdic[0m)
  [41mset[0m [41mspellfile[0m=
  $[41mput[0m =''
  $[41mput[0m ='[41mtest[0m '. [41ma[0m:[41maff[0m . '-' . [41ma[0m:[41mdic[0m
  " [41mGenerate[0m [41ma[0m .[41mspl[0m [41mfile[0m [41mfrom[0m [41ma[0m .[41mdic[0m [41mand[0m .[41maff[0m [41mfile[0m.
  [41mexe[0m '1;/^' . [41ma[0m:[41maff[0m . '[41maffstart[0m/+1,/^' . [41ma[0m:[41maff[0m . '[41maffend[0m/-1[41mw[0m! [41mXtest[0m.[41maff[0m'
  [41mexe[0m '1;/^' . [41ma[0m:[41mdic[0m . '[41mdicstart[0m/+1,/^' . [41ma[0m:[41mdic[0m . '[41mdicend[0m/-1[41mw[0m! [41mXtest[0m.[41mdic[0m'
  [41mmkspell[0m! [41mXtest[0m [41mXtest[0m
  " [41muse[0m [41mthat[0m [41mspell[0m [41mfile
[0m  [41mset[0m [41mspl[0m=[41mXtest[0m.[41mlatin1[0m.[41mspl[0m [41mspell[0m
  " [41mlist[0m [41mall[0m [41mvalid[0m [41mwords
[0m  [41mspelldump[0m
  %[41myank
[0m  [41mquit[0m
  $[41mput[0m
  $[41mput[0m ='-------'
  " [41mfind[0m [41mall[0m [41mbad[0m [41mwords[0m [41mand[0m [41msuggestions[0m [41mfor[0m [41mthem
[0m  [41mexe[0m '1;/^' . [41ma[0m:[41maff[0m . '[41mgood[0m:'
  [41mnormal[0m 0[41mf[0m:][41ms
[0m  [41mlet[0m [41mprevbad[0m = ''
  [41mwhile[0m 1
    [41mlet[0m [[41mbad[0m, [41ma[0m] = [41mspellbadword[0m()
    [41mif[0m [41mbad[0m == '' || [41mbad[0m == [41mprevbad[0m || [41mbad[0m == '[41mbadend[0m'[34;7H[41mbreak
[0m    [41mendif[1;1H[34h[?25h[?25l[36;1H[0m:[34h[?25h/^test output:/,$wq! test.out[?25l"test.out" [36;12H[K[36;12H[New File] 283 lines, 3793 characters written
[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test59.failed test.ok test.out X* viminfo
cp test59.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test59.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test59.in" 621 lines, 10818 characters[1;1HTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :

STARTTEST
:so small.vim
:so mbyte.vim
:"
:" Don't want to depend on the locale from the environment.  The .aff and .dic
:" text is in latin1, the test text is utf-8.
:set enc=latin1
:e!
:set enc=utf-8
:set fenc=
:"
:" Function to test .aff/.dic with list of good and bad words.
:func TestOne(aff, dic)
  set spellfile=
  $put =''
  $put ='test '. a:aff . '-' . a:dic
  " Generate a .spl file from a .dic and .aff file.
  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'
  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'
  mkspell! Xtest Xtest
  " use that spell file
  set spl=Xtest.utf-8.spl spell
  " list all valid words
  spelldump
  %yank
  quit
  $put
  $put ='-------'
  " find all bad words and suggestions for them
  exe '1;/^' . a:aff . 'good:'
  normal 0f:]s
  let prevbad = ''
  while 1[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[3;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[4;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 101 lines, 2441 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[4;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[23m[24m[0m[H[J[1;1H/^test2:
]smm:let [str, a] = spellbadword()
:$put =str
`m]s:let [str, a] = spellbadword()
:$put =str
:"
:" Postponed prefixes
:call TestOne('2', '1')
:"
:" Compound words
:call TestOne('3', '3')
:call TestOne('4', '4')
:call TestOne('5', '5')
:call TestOne('6', '6')
:call TestOne('7', '7')
:"
gg:/^test output:/,$wq! test.out
ENDTEST

1affstart
SET ISO8859-1
TRY esianrtolcdugmphbyfvkwjkqxz-ëéèêïîäàâöüû'ESIANRTOLCDUGMPHBYFVKWJKQXZ

FOL  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
LOW  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
UPP  ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ

SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿÀÁÂÃÄÅÆÆ[29;1HÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ¿
SOFOTO   ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkeseeeeeeeceeeeeeeedneeeeeeeeeeepseeeeeeeee[31;1Hceeeeeeeedneeeeeeeeeeep?

MIDWORD '-

KEP =[18;1H[34h[?25h
[?25l[36;1H:so! Xdotest[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso mbyte.vim[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" Don't want to depend on the locale from the environment.  The .aff and .dic[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" text is in latin1, the test text is utf-8.[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset enc=latin1[?25l[23m[24m[0m[H[J[1;1H/^test2:
]smm:let [str, a] = spellbadword()
:$put =str
`m]s:let [str, a] = spellbadword()
:$put =str
:"
:" Postponed prefixes
:call TestOne('2', '1')
:"
:" Compound words
:call TestOne('3', '3')
:call TestOne('4', '4')
:call TestOne('5', '5')
:call TestOne('6', '6')
:call TestOne('7', '7')
:"
gg:/^test output:/,$wq! test.out
ENDTEST

1affstart
SET ISO8859-1
TRY esianrtolcdugmphbyfvkwjkqxz-ëéèêïîäàâöüû'ESIANRTOLCDUGMPHBYFVKWJKQXZ

FOL  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
LOW  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
UPP  ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ

SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿÀÁÂÃÄÅÆÆ[29;1HÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ¿
SOFOTO   ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkeseeeeeeeceeeeeeeedneeeeeeeeeeepseeeeeeeee[31;1Hceeeeeeeedneeeeeeeeeeep?

MIDWORD '-

KEP =[19;1H[34h[?25h[?25l[36;1H:[34h[?25he![?25l"test59.in" 621 lines, 10818 characters[1;1HTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :[2;1H[K[3;1HSTARTTEST[3;10H[K[4;1H:so small.vim[4;14H[K[5;2Hso mbyte.vim[7;4HDon't want to depend on the locale from the environment.  The .aff and .dic
:" text is in latin1, the test text is utf-8.
:set enc=latin1
:e![10;4H[K[11;2Hset enc=utf-8[11;15H[K[12;2Hset fenc=[12;11H[K[13;2H"[13;3H[K[14;2H" Function to test .aff/.dic with list of good and bad words.
:func[9Caff, dic
  set spellfile=
  $put =''[17;11H[K[18;1H  $put ='test '. a:aff . '-' . a:dic
  " Generate a .spl file from a .dic and .aff file.
  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'
  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'
  mkspell! Xtest Xtest[22;23H[K[23;3H" use that spell file
  set spl=Xtest.utf-8.spl spell[24;32H[K[25;1H  " list all valid words[25;25H[K[26;1H  spelldump[26;12H[K[27;3H%yank
  quit[28;7H[K[29;1H  $put[29;7H[K[30;1H  $put ='-------'[30;18H[K[31;1H  " find all bad words and suggestions for them
  exe '1;/^' . a:aff . 'good:'
  normal 0f:]s
  let prevbad = ''
  while 1[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset enc=utf-8[?25l[23m[24m[0m[H[J[1;1HTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :

STARTTEST
:so small.vim
:so mbyte.vim
:"
:" Don't want to depend on the locale from the environment.  The .aff and .dic
:" text is in latin1, the test text is utf-8.
:set enc=latin1
:e!
:set enc=utf-8
:set fenc=
:"
:" Function to test .aff/.dic with list of good and bad words.
:func TestOne(aff, dic)
  set spellfile=
  $put =''
  $put ='test '. a:aff . '-' . a:dic
  " Generate a .spl file from a .dic and .aff file.
  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'
  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'
  mkspell! Xtest Xtest
  " use that spell file
  set spl=Xtest.utf-8.spl spell
  " list all valid words
  spelldump
  %yank
  quit
  $put
  $put ='-------'
  " find all bad words and suggestions for them
  exe '1;/^' . a:aff . 'good:'
  normal 0f:]s
  let prevbad = ''
  while 1[1;1H[34h[?25h[?25l[36;1H:[34h[?25hset fenc=[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" Function to test .aff/.dic with list of good and bad words.[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hfunc TestOne(aff, dic)[?25l
:  [34h[?25h  set spellfile=
[?25l:  [34h[?25h  $put =''
[?25l:  [34h[?25h  $put ='test '. a:aff . '-' . a:dic
[?25l:  [34h[?25h  " Generate a .spl file from a .dic and .aff file.
[?25l:  [34h[?25h  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'
[?25l:  [34h[?25h  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'
[?25l:  [34h[?25h  mkspell! Xtest Xtest
[?25l:  [34h[?25h  " use that spell file
[?25l:  [34h[?25h  set spl=Xtest.utf-8.spl spell
[?25l:  [34h[?25h  " list all valid words
[?25l:  [34h[?25h  spelldump
[?25l:  [34h[?25h  %yank
[?25l:  [34h[?25h  quit
[?25l:  [34h[?25h  $put
[?25l:  [34h[?25h  $put ='-------'
[?25l:  [34h[?25h  " find all bad words and suggestions for them
[?25l:  [34h[?25h  exe '1;/^' . a:aff . 'good:'
[?25l:  [34h[?25h  normal 0f:]s
[?25l:  [34h[?25h  let prevbad = ''
[?25l:  [34h[?25h  while 1
[?25l:    [34h[?25h    let [bad, a] = spellbadword()
[?25l:    [34h[?25h    if bad == '' || bad == prevbad || bad == 'badend'
[?25l:      [34h[?25h      break
[?25l:      [34h[?25h    endif
[?25l:    [34h[?25h    let prevbad = bad
[?25l:    [34h[?25h    let lst = spellsuggest(bad, 3)
[?25l:    [34h[?25h    normal mm
[?25l:    [34h[?25h    $put =bad
[?25l:    [34h[?25h    $put =string(lst)
[?25l:    [34h[?25h    normal `m]s
[?25l:    [34h[?25h  endwhile
[?25l:  [34h[?25hendfunc[23m[24m[0m[H[J[?25l[1;1HTests for spell checking with 'encoding' set to "utf-8".  vim: set ft=vim :

STARTTEST
:so small.vim
:so mbyte.vim
:"
:" Don't want to depend on the locale from the environment.  The .aff and .dic
:" text is in latin1, the test text is utf-8.
:set enc=latin1
:e!
:set enc=utf-8
:set fenc=
:"
:" Function to test .aff/.dic with list of good and bad words.
:func TestOne(aff, dic)
  set spellfile=
  $put =''
  $put ='test '. a:aff . '-' . a:dic
  " Generate a .spl file from a .dic and .aff file.
  exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'
  exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'
  mkspell! Xtest Xtest
  " use that spell file
  set spl=Xtest.utf-8.spl spell
  " list all valid words
  spelldump
  %yank
  quit
  $put
  $put ='-------'
  " find all bad words and suggestions for them
  exe '1;/^' . a:aff . 'good:'
  normal 0f:]s
  let prevbad = ''
  while 1[1;1H[34h[?25h[?25l[36;1H:[34h[?25h"[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hcall TestOne('1', '1')[?25l"Xtest.aff" [36;13H[K[36;1H"Xtest.aff" [New File] 48 lines, 768 characters written
"Xtest.dic" "Xtest.dic" [New File] 11 lines, 71 characters written
Reading affix file Xtest.aff ...
Reading dictionary file Xtest.dic ...
line      2, word      0 - testCompressing word tree...[36;26H[K[36;1H
Compressed 29 of 131 nodes; 102 (77%) remaining
Writing spell file Xtest.utf-8.spl ...
Done!
Estimated runtime memory use: 510 bytes
Reading back spell file...
Performing soundfolding...
Total number of words: 16
Number of words after soundfolding: 16
Compressing word tree...
Compressed 39 of 104 nodes; 65 (62%) remaining
Writing suggestion file Xtest.utf-8.sug ...
Estimated runtime memory use: 357 bytes
17 lines yanked
17 more lines
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25h$put =soundfold('goobledygoook')[?25l[1;1H[19L[1;1Hdeol
dÃ©Ã´r
input
OK
output
outputs
outtest
put
puts
test
testen
testn
the end
uk
wrong
-------
[41mbad[0m
['put', 'uk', 'OK']
[41minputs[0m
['input', 'puts', 'outputs'][20;29H[K[21;1H[41mcomment[0m[21;8H[K[22;1H['Comment', 'outtest', 'the end']
[41mok[0m[23;3H[K[24;1H['OK', 'uk', 'put'][24;20H[K[25;1H[41mOk[0m[25;3H[K[26;1H['OK', 'Uk', 'Put']
test[27;5H[K[28;1H['Test', 'testn', 'testen']
[41mdÃ©Ã´l[0m[29;5H[K[30;1H['deol', 'dÃ©Ã´r', 'test']
[41mend[0m[31;5H[K[32;1H['put', 'uk', 'test'][32;22H[K[33;1H[41mthe[0m[33;4H[K[34;1H['put', 'uk', 'test']
[41mgebletegek[0m[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h$put =soundfold('kÃ³opÃ«rÃ¿nÃ´ven')[?25l[1;35r[35;1H
[1;36r[35;1H[41mkepereneven[0m[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h$put =soundfold('oeverloos gezwets edale')[?25l[1;35r[35;1H
[1;36r[35;1H[41meverles[0m [41mgesvets[0m [41metele[0m[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h"[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" and now with SAL instead of SOFO items; test automatic reloading[?25l[35;1H[34h[?25h[?25l[23m[24m[0m[H[J[1;1H[41mTests[0m [41mfor[0m [41mspell[0m [41mchecking[0m [41mwith[0m '[41mencoding[0m' [41mset[0m [41mto[0m "[41mutf-8[0m".  [41mvim[0m: [41mset[0m [41mft[0m=[41mvim[0m :

[41mSTARTTEST[0m
:[41mso[0m [41msmall[0m.[41mvim[0m
:[41mso[0m [41mmbyte[0m.[41mvim[0m
:"
:" [41mDon't[0m [41mwant[0m [41mto[0m [41mdepend[0m [41mon[0m [41mthe[0m [41mlocale[0m [41mfrom[0m [41mthe[0m [41menvironment[0m.  [41mThe[0m .[41maff[0m [41mand[0m .[41mdic[0m
:" [41mtext[0m [41mis[0m [41min[0m [41mlatin1[0m, [41mthe[0m test [41mtext[0m [41mis[0m [41mutf-8[0m.
:[41mset[0m [41menc[0m=[41mlatin1[0m
:[41me[0m!
:[41mset[0m [41menc[0m=[41mutf-8[0m
:[41mset[0m [41mfenc[0m=
:"
:" [41mFunction[0m [41mto[0m test .[41maff[0m/.[41mdic[0m [41mwith[0m [41mlist[0m [41mof[0m [41mgood[0m [41mand[0m [41mbad[0m [41mwords[0m.
:[41mfunc[0m [41mTestOne[0m([41maff[0m, [41mdic[0m)
  [41mset[0m [41mspellfile[0m=
  $put =''
  $put ='test '. [41ma[0m:[41maff[0m . '-' . [41ma[0m:[41mdic[0m
  " [41mGenerate[0m [41ma[0m .[41mspl[0m [41mfile[0m [41mfrom[0m [41ma[0m .[41mdic[0m [41mand[0m .[41maff[0m [41mfile[0m.
  [41mexe[0m '1;/^' . [41ma[0m:[41maff[0m . '[41maffstart[0m/+1,/^' . [41ma[0m:[41maff[0m . '[41maffend[0m/-1[41mw[0m! [41mXtest[0m.[41maff[0m'
  [41mexe[0m '1;/^' . [41ma[0m:[41mdic[0m . '[41mdicstart[0m/+1,/^' . [41ma[0m:[41mdic[0m . '[41mdicend[0m/-1[41mw[0m! [41mXtest[0m.[41mdic[0m'
  [41mmkspell[0m! [41mXtest[0m [41mXtest[0m
  " [41muse[0m [41mthat[0m [41mspell[0m [41mfile
[0m  [41mset[0m [41mspl[0m=[41mXtest[0m.[41mutf-8[0m.[41mspl[0m [41mspell[0m
  " [41mlist[0m [41mall[0m [41mvalid[0m [41mwords
[0m  [41mspelldump[0m
  %[41myank
[0m  [41mquit[0m
  $put
  $put ='-------'
  " [41mfind[0m [41mall[0m [41mbad[0m [41mwords[0m [41mand[0m [41msuggestions[0m [41mfor[0m [41mthem
[0m  [41mexe[0m '1;/^' . [41ma[0m:[41maff[0m . '[41mgood[0m:'
  [41mnormal[0m 0[41mf[0m:][41ms
[0m  [41mlet[0m [41mprevbad[0m = ''
  [41mwhile[0m 1[1;1H[34h[?25h[?25l[36;1H:[34h[?25h/^affstart_sal/+1,/^affend_sal/-1w! Xtest.aff[?25l"Xtest.aff" [36;13H[K[36;1H"Xtest.aff" 153 lines, 3426 characters written"Xtest.aff" 153 lines, 3426 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmkspell! Xtest Xtest[?25lReading affix file Xtest.aff ...
Reading dictionary file Xtest.dic ...
line      2, word      0 - testCompressing word tree...[36;26H[K[36;1H
Compressed 29 of 131 nodes; 102 (77%) remaining
Writing spell file Xtest.utf-8.spl ...
Done!
Estimated runtime memory use: 510 bytes
Performing soundfolding...
Total number of words: 16
Number of words after soundfolding: 15
Compressing word tree...
Compressed 33 of 75 nodes; 42 (56%) remaining
Writing suggestion file Xtest.utf-8.sug ...
Estimated runtime memory use: 241 bytes
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25h$put =soundfold('goobledygoook')[?25l[1;1H[14L[1;1HOK
output
outputs
outtest
put
puts
test
testen
testn
the end
uk
wrong
-------
[41mbad[0m
['put', 'uk', 'OK'][15;20H[K[16;1H[41minputs[0m[16;7H[K[17;1H['input', 'puts', 'outputs']
[41mcomment[0m[18;8H[K[19;1H['Comment', 'outtest', 'the end'][19;34H[K[20;1H[41mok[0m[20;3H[K[21;1H['OK', 'uk', 'put'][21;20H[K[22;1H[41mOk[0m[22;3H[K[23;1H['OK', 'Uk', 'Put'][23;20H[K[24;1Htest[24;5H[K[25;1H['Test', 'testn', 'testen']
[41mdÃ©Ã´l[0m[26;5H[K[27;1H['deol', 'dÃ©Ã´r', 'test']
[41mend[0m[28;4H[K[29;1H['put', 'uk', 'test']
[41mthe[0m[30;4H[K[31;1H['put', 'uk', 'test'][31;22H[K[32;1H[41mgebletegek[0m[32;11H[K[33;1H[41mkepereneven[0m[33;12H[K[34;1H[41meverles[0m [41mgesvets[0m [41metele
kbltykk[0m[35;9H[K[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h$put =soundfold('kÃ³opÃ«rÃ¿nÃ´ven')[?25l[1;35r[35;1H
[1;36r[35;1H[41mkprnfn[0m[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h$put =soundfold('oeverloos gezwets edale')[?25l[1;35r[35;1H
[1;36r[35;1H*[41mfls[0m [41mkswts[0m [41mtl[0m[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25h"[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" also use an addition file[?25l[35;1H[34h[?25h[?25l[23m[24m[0m[H[J[1;1H[41mTests[0m [41mfor[0m [41mspell[0m [41mchecking[0m [41mwith[0m '[41mencoding[0m' [41mset[0m [41mto[0m "[41mutf-8[0m".  [41mvim[0m: [41mset[0m [41mft[0m=[41mvim[0m :

[41mSTARTTEST[0m
:[41mso[0m [41msmall[0m.[41mvim[0m
:[41mso[0m [41mmbyte[0m.[41mvim[0m
:"
:" [41mDon't[0m [41mwant[0m [41mto[0m [41mdepend[0m [41mon[0m [41mthe[0m [41mlocale[0m [41mfrom[0m [41mthe[0m [41menvironment[0m.  [41mThe[0m .[41maff[0m [41mand[0m .[41mdic[0m
:" [41mtext[0m [41mis[0m [41min[0m [41mlatin1[0m, [41mthe[0m test [41mtext[0m [41mis[0m [41mutf-8[0m.
:[41mset[0m [41menc[0m=[41mlatin1[0m
:[41me[0m!
:[41mset[0m [41menc[0m=[41mutf-8[0m
:[41mset[0m [41mfenc[0m=
:"
:" [41mFunction[0m [41mto[0m test .[41maff[0m/.[41mdic[0m [41mwith[0m [41mlist[0m [41mof[0m [41mgood[0m [41mand[0m [41mbad[0m [41mwords[0m.
:[41mfunc[0m [41mTestOne[0m([41maff[0m, [41mdic[0m)
  [41mset[0m [41mspellfile[0m=
  $put =''
  $put ='test '. [41ma[0m:[41maff[0m . '-' . [41ma[0m:[41mdic[0m
  " [41mGenerate[0m [41ma[0m .[41mspl[0m [41mfile[0m [41mfrom[0m [41ma[0m .[41mdic[0m [41mand[0m .[41maff[0m [41mfile[0m.
  [41mexe[0m '1;/^' . [41ma[0m:[41maff[0m . '[41maffstart[0m/+1,/^' . [41ma[0m:[41maff[0m . '[41maffend[0m/-1[41mw[0m! [41mXtest[0m.[41maff[0m'
  [41mexe[0m '1;/^' . [41ma[0m:[41mdic[0m . '[41mdicstart[0m/+1,/^' . [41ma[0m:[41mdic[0m . '[41mdicend[0m/-1[41mw[0m! [41mXtest[0m.[41mdic[0m'
  [41mmkspell[0m! [41mXtest[0m [41mXtest[0m
  " [41muse[0m [41mthat[0m [41mspell[0m [41mfile
[0m  [41mset[0m [41mspl[0m=[41mXtest[0m.[41mutf-8[0m.[41mspl[0m [41mspell[0m
  " [41mlist[0m [41mall[0m [41mvalid[0m [41mwords
[0m  [41mspelldump[0m
  %[41myank
[0m  [41mquit[0m
  $put
  $put ='-------'
  " [41mfind[0m [41mall[0m [41mbad[0m [41mwords[0m [41mand[0m [41msuggestions[0m [41mfor[0m [41mthem
[0m  [41mexe[0m '1;/^' . [41ma[0m:[41maff[0m . '[41mgood[0m:'
  [41mnormal[0m 0[41mf[0m:][41ms
[0m  [41mlet[0m [41mprevbad[0m = ''
  [41mwhile[0m 1[1;1H[34h[?25h[?25l[36;1H:[34h[?25h/^addstart/+1,/^addend/-1w! Xtest.utf-8.add[?25l"Xtest.utf-8.add" [36;19H[K[36;1H"Xtest.utf-8.add" [New File] 3 lines, 38 characters written"Xtest.utf-8.add" [New File] 3 lines, 38 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmkspell! Xtest.utf-8.add.spl Xtest.utf-8.add[?25lReading word file Xtest.utf-8.add ...[36;38H[K[36;1H
Compressing word tree...
Compressed 0 of 29 nodes; 29 (100%) remaining
Writing spell file Xtest.utf-8.add.spl ...
Done!
Estimated runtime memory use: 145 bytes
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hset spellfile=Xtest.utf-8.add[?25l[1;1H[6L[1;1H[41mTests[0m [41mfor[0m [41mspell[0m [41mchecking[0m [41mwith[0m '[41mencoding[0m' [41mset[0m [41mto[0m "[41mutf-8[0m".  [41mvim[0m: [41mset[0m [41mft[0m=[41mvim[0m :

[41mSTARTTEST[0m
:[41mso[0m [41msmall[0m.[41mvim[0m
:[41mso[0m [41mmbyte[0m.[41mvim[0m
:"[36;1H[K[1;1H[34h[?25h[?25l[36;1H/[34h[?25h^test2:[?25l/^test2:[23m[24m[0m[H[J[1;1H[41mstart[0m/[41ms
end[0m/[41me[0m
4[41mdicend[0m

4[41mgood[0m: [41mword[0m [41mutil[0m [41mbork[0m [41mprebork[0m [41mstart[0m [41mend[0m [41mwordutil[0m [41mwordutils[0m [41mpro-ok[6;9Hbork[0m [41mborkbork[0m [41mborkborkbork[0m [41mborkborkborkbork[0m [41mborkborkborkborkbork[7;9Htomato[0m [41mtomatotomato[0m [41mstartend[0m [41mstartword[0m [41mstartwordword[0m [41mstartwordend[8;9Hstartwordwordend[0m [41mstartwordwordwordend[0m [41mprebork[0m [41mpreborkbork[9;9Hpreborkborkbork[10;9Hnouword
bad[0m: [41mwordutilize[0m [41mpro[0m [41mborkborkborkborkborkbork[0m [41mtomatotomatotomato[12;9Hendstart[0m [41mendend[0m [41mstartstart[0m [41mwordend[0m [41mwordstart[13;9Hpreborkprebork[0m  [41mpreborkpreborkbork[14;9Hstartwordwordwordwordend[0m [41mborkpreborkpreborkbork[15;9Hutilsbork[0m  [41mstartnouword
badend

test2[0m:
elequint test elekwint test [41melekwent[0m [41masdf[0m

Test [41maffix[0m [41mflags[0m [41mwith[0m [41mtwo[0m [41mcharacters[0m

5[41maffstart
SET[0m [41mISO8859-1

FLAG[0m [41mlong

NEEDAFFIX[0m !!

[41mCOMPOUNDRULE[0m [41mssmm[0m*[41mee

NEEDCOMPOUND[0m [41mxx
COMPOUNDPERMITFLAG[0m [41mpp

SFX[0m 13 [41mY[0m 1[18;1H[34h[?25h[19;29H[?25l[36;1H:[34h[?25hlet [str, a] = spellbadword()[?25l[19;29H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$put =str[?25l[23m[24m[0m[H[J[1;1Houttest
put
puts
test
testen
testn
the end
uk
wrong
-------
[41mbad[0m
['put', 'uk', 'OK']
[41minputs[0m
['input', 'puts', 'outputs']
[41mcomment[0m
['Comment', 'outtest', 'the end']
[41mok[0m
['OK', 'uk', 'put']
[41mOk[0m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdÃ©Ã´l[0m
['deol', 'dÃ©Ã´r', 'test']
[41mend[0m
['put', 'uk', 'test']
[41mthe[0m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[0m [41mgesvets[0m [41metele
kbltykk
kprnfn[0m
*[41mfls[0m [41mkswts[0m [41mtl
elekwent[34h[?25h[?25l
[0m:[34h[?25hset spl=Xtest_us.utf-8.spl[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h^test2:[?25l/^test2:[1m[31msearch hit BOTTOM, continuing at TOP[23m[24m[0m[H[J[1;1H[41mstart[0m/[41ms
end[0m/[41me[0m
4[41mdicend[0m

4[41mgood[0m: [41mword[0m [41mutil[0m [41mbork[0m [41mprebork[0m [41mstart[0m [41mend[0m [41mwordutil[0m [41mwordutils[0m [41mpro-ok[6;9Hbork[0m [41mborkbork[0m [41mborkborkbork[0m [41mborkborkborkbork[0m [41mborkborkborkborkbork[7;9Htomato[0m [41mtomatotomato[0m [41mstartend[0m [41mstartword[0m [41mstartwordword[0m [41mstartwordend[8;9Hstartwordwordend[0m [41mstartwordwordwordend[0m [41mprebork[0m [41mpreborkbork[9;9Hpreborkborkbork[10;9Hnouword
bad[0m: [41mwordutilize[0m [41mpro[0m [41mborkborkborkborkborkbork[0m [41mtomatotomatotomato[12;9Hendstart[0m [41mendend[0m [41mstartstart[0m [41mwordend[0m [41mwordstart[13;9Hpreborkprebork[0m  [41mpreborkpreborkbork[14;9Hstartwordwordwordwordend[0m [41mborkpreborkpreborkbork[15;9Hutilsbork[0m  [41mstartnouword
badend

test2[0m:
[46melequint[0m test [46melekwint[0m test [41melekwent[0m [41masdf[0m

Test [41maffix[0m [41mflags[0m [41mwith[0m [41mtwo[0m [41mcharacters[0m

5[41maffstart
SET[0m [41mISO8859-1

FLAG[0m [41mlong

NEEDAFFIX[0m !!

[41mCOMPOUNDRULE[0m [41mssmm[0m*[41mee

NEEDCOMPOUND[0m [41mxx
COMPOUNDPERMITFLAG[0m [41mpp

SFX[0m 13 [41mY[0m 1
[1m[31msearch hit BOTTOM, continuing at TOP[18;1H[34h[?25h
[?25l[0m[36;1H[K[36;1H:[34h[?25hlet [str, a] = spellbadword()[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$put =str[?25l[23m[24m[0m[H[J[1;1Hput
puts
test
testen
testn
the end
uk
wrong
-------
[41mbad[0m
['put', 'uk', 'OK']
[41minputs[0m
['input', 'puts', 'outputs']
[41mcomment[0m
['Comment', 'outtest', 'the end']
[41mok[0m
['OK', 'uk', 'put']
[41mOk[0m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdÃ©Ã´l[0m
['deol', 'dÃ©Ã´r', 'test']
[41mend[0m
['put', 'uk', 'test']
[41mthe[0m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[0m [41mgesvets[0m [41metele
kbltykk
kprnfn[0m
*[41mfls[0m [41mkswts[0m [41mtl
elekwent[0m
[46melequint[34h[?25h[?25l[23m[24m[0m[H[J[1;1H[41mend[0m/[41me[0m
4[41mdicend[0m

4[41mgood[0m: [41mword[0m [41mutil[0m [41mbork[0m [41mprebork[0m [41mstart[0m [41mend[0m [41mwordutil[0m [41mwordutils[0m [41mpro-ok[5;9Hbork[0m [41mborkbork[0m [41mborkborkbork[0m [41mborkborkborkbork[0m [41mborkborkborkborkbork[6;9Htomato[0m [41mtomatotomato[0m [41mstartend[0m [41mstartword[0m [41mstartwordword[0m [41mstartwordend[7;9Hstartwordwordend[0m [41mstartwordwordwordend[0m [41mprebork[0m [41mpreborkbork[8;9Hpreborkborkbork[9;9Hnouword
bad[0m: [41mwordutilize[0m [41mpro[0m [41mborkborkborkborkborkbork[0m [41mtomatotomatotomato[11;9Hendstart[0m [41mendend[0m [41mstartstart[0m [41mwordend[0m [41mwordstart[12;9Hpreborkprebork[0m  [41mpreborkpreborkbork[13;9Hstartwordwordwordwordend[0m [41mborkpreborkpreborkbork[14;9Hutilsbork[0m  [41mstartnouword
badend

test2[0m:
[46melequint[0m test [46melekwint[0m test [41melekwent[0m [41masdf[0m

Test [41maffix[0m [41mflags[0m [41mwith[0m [41mtwo[0m [41mcharacters[0m

5[41maffstart
SET[0m [41mISO8859-1

FLAG[0m [41mlong

NEEDAFFIX[0m !!

[41mCOMPOUNDRULE[0m [41mssmm[0m*[41mee

NEEDCOMPOUND[0m [41mxx
COMPOUNDPERMITFLAG[0m [41mpp

SFX[0m 13 [41mY[0m 1
[41mSFX[0m 13 0 [41mbork[0m .[18;1H[34h[?25h[14C[?25l[36;1H:[34h[?25hlet [str, a] = spellbadword()[?25l[18;15H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$put =str[?25l[23m[24m[0m[H[J[1;1Hputs
test
testen
testn
the end
uk
wrong
-------
[41mbad[0m
['put', 'uk', 'OK']
[41minputs[0m
['input', 'puts', 'outputs']
[41mcomment[0m
['Comment', 'outtest', 'the end']
[41mok[0m
['OK', 'uk', 'put']
[41mOk[0m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdÃ©Ã´l[0m
['deol', 'dÃ©Ã´r', 'test']
[41mend[0m
['put', 'uk', 'test']
[41mthe[0m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[0m [41mgesvets[0m [41metele
kbltykk
kprnfn[0m
*[41mfls[0m [41mkswts[0m [41mtl
elekwent[0m
[46melequint
elekwint[34h[?25h[?25l
[0m:[34h[?25hset spl=Xtest_gb.utf-8.spl[?25l[34;1Helequint
[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h^test2:[?25l/^test2:[1m[31msearch hit BOTTOM, continuing at TOP[23m[24m[0m[H[J[1;1H[41mstart[0m/[41ms
end[0m/[41me[0m
4[41mdicend[0m

4[41mgood[0m: [41mword[0m [41mutil[0m [41mbork[0m [41mprebork[0m [41mstart[0m [41mend[0m [41mwordutil[0m [41mwordutils[0m [41mpro-ok[6;9Hbork[0m [41mborkbork[0m [41mborkborkbork[0m [41mborkborkborkbork[0m [41mborkborkborkborkbork[7;9Htomato[0m [41mtomatotomato[0m [41mstartend[0m [41mstartword[0m [41mstartwordword[0m [41mstartwordend[8;9Hstartwordwordend[0m [41mstartwordwordwordend[0m [41mprebork[0m [41mpreborkbork[9;9Hpreborkborkbork[10;9Hnouword
bad[0m: [41mwordutilize[0m [41mpro[0m [41mborkborkborkborkborkbork[0m [41mtomatotomatotomato[12;9Hendstart[0m [41mendend[0m [41mstartstart[0m [41mwordend[0m [41mwordstart[13;9Hpreborkprebork[0m  [41mpreborkpreborkbork[14;9Hstartwordwordwordwordend[0m [41mborkpreborkpreborkbork[15;9Hutilsbork[0m  [41mstartnouword
badend

test2[0m:
elequint test [46melekwint[0m test [41melekwent[0m [41masdf[0m

Test [41maffix[0m [41mflags[0m [41mwith[0m [41mtwo[0m [41mcharacters[0m

5[41maffstart
SET[0m [41mISO8859-1

FLAG[0m [41mlong

NEEDAFFIX[0m !!

[41mCOMPOUNDRULE[0m [41mssmm[0m*[41mee

NEEDCOMPOUND[0m [41mxx
COMPOUNDPERMITFLAG[0m [41mpp

SFX[0m 13 [41mY[0m 1
[1m[31msearch hit BOTTOM, continuing at TOP[18;1H[34h[?25h[19;15H[?25l[0m[36;1H[K[36;1H:[34h[?25hlet [str, a] = spellbadword()[?25l[19;15H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$put =str[?25l[23m[24m[0m[H[J[1;1Htest
testen
testn
the end
uk
wrong
-------
[41mbad[0m
['put', 'uk', 'OK']
[41minputs[0m
['input', 'puts', 'outputs']
[41mcomment[0m
['Comment', 'outtest', 'the end']
[41mok[0m
['OK', 'uk', 'put']
[41mOk[0m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdÃ©Ã´l[0m
['deol', 'dÃ©Ã´r', 'test']
[41mend[0m
['put', 'uk', 'test']
[41mthe[0m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[0m [41mgesvets[0m [41metele
kbltykk
kprnfn[0m
*[41mfls[0m [41mkswts[0m [41mtl
elekwent[0m
elequint
[46melekwint
elekwint[34h[?25h[?25l[23m[24m[0m[H[J[1;1H[41mend[0m/[41me[0m
4[41mdicend[0m

4[41mgood[0m: [41mword[0m [41mutil[0m [41mbork[0m [41mprebork[0m [41mstart[0m [41mend[0m [41mwordutil[0m [41mwordutils[0m [41mpro-ok[5;9Hbork[0m [41mborkbork[0m [41mborkborkbork[0m [41mborkborkborkbork[0m [41mborkborkborkborkbork[6;9Htomato[0m [41mtomatotomato[0m [41mstartend[0m [41mstartword[0m [41mstartwordword[0m [41mstartwordend[7;9Hstartwordwordend[0m [41mstartwordwordwordend[0m [41mprebork[0m [41mpreborkbork[8;9Hpreborkborkbork[9;9Hnouword
bad[0m: [41mwordutilize[0m [41mpro[0m [41mborkborkborkborkborkbork[0m [41mtomatotomatotomato[11;9Hendstart[0m [41mendend[0m [41mstartstart[0m [41mwordend[0m [41mwordstart[12;9Hpreborkprebork[0m  [41mpreborkpreborkbork[13;9Hstartwordwordwordwordend[0m [41mborkpreborkpreborkbork[14;9Hutilsbork[0m  [41mstartnouword
badend

test2[0m:
elequint test [46melekwint[0m test [41melekwent[0m [41masdf[0m

Test [41maffix[0m [41mflags[0m [41mwith[0m [41mtwo[0m [41mcharacters[0m

5[41maffstart
SET[0m [41mISO8859-1

FLAG[0m [41mlong

NEEDAFFIX[0m !!

[41mCOMPOUNDRULE[0m [41mssmm[0m*[41mee

NEEDCOMPOUND[0m [41mxx
COMPOUNDPERMITFLAG[0m [41mpp

SFX[0m 13 [41mY[0m 1
[41mSFX[0m 13 0 [41mbork[0m .[18;15H[34h[?25h[14C[?25l[36;1H:[34h[?25hlet [str, a] = spellbadword()[?25l[18;29H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$put =str[?25l[23m[24m[0m[H[J[1;1Htesten
testn
the end
uk
wrong
-------
[41mbad[0m
['put', 'uk', 'OK']
[41minputs[0m
['input', 'puts', 'outputs']
[41mcomment[0m
['Comment', 'outtest', 'the end']
[41mok[0m
['OK', 'uk', 'put']
[41mOk[0m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdÃ©Ã´l[0m
['deol', 'dÃ©Ã´r', 'test']
[41mend[0m
['put', 'uk', 'test']
[41mthe[0m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[0m [41mgesvets[0m [41metele
kbltykk
kprnfn[0m
*[41mfls[0m [41mkswts[0m [41mtl
elekwent[0m
elequint
[46melekwint
elekwint[0m
[41melekwent[34h[?25h[?25l
[0m:[34h[?25hset spl=Xtest_nz.utf-8.spl[?25l[32;1H[46melequint[0m
elekwint
elekwint
[34h[?25h[?25l[36;1H[K[36;1H/[34h[?25h^test2:[?25l/^test2:[1m[31msearch hit BOTTOM, continuing at TOP[23m[24m[0m[H[J[1;1H[41mstart[0m/[41ms
end[0m/[41me[0m
4[41mdicend[0m

4[41mgood[0m: [41mword[0m [41mutil[0m [41mbork[0m [41mprebork[0m [41mstart[0m [41mend[0m [41mwordutil[0m [41mwordutils[0m [41mpro-ok[6;9Hbork[0m [41mborkbork[0m [41mborkborkbork[0m [41mborkborkborkbork[0m [41mborkborkborkborkbork[7;9Htomato[0m [41mtomatotomato[0m [41mstartend[0m [41mstartword[0m [41mstartwordword[0m [41mstartwordend[8;9Hstartwordwordend[0m [41mstartwordwordwordend[0m [41mprebork[0m [41mpreborkbork[9;9Hpreborkborkbork[10;9Hnouword
bad[0m: [41mwordutilize[0m [41mpro[0m [41mborkborkborkborkborkbork[0m [41mtomatotomatotomato[12;9Hendstart[0m [41mendend[0m [41mstartstart[0m [41mwordend[0m [41mwordstart[13;9Hpreborkprebork[0m  [41mpreborkpreborkbork[14;9Hstartwordwordwordwordend[0m [41mborkpreborkpreborkbork[15;9Hutilsbork[0m  [41mstartnouword
badend

test2[0m:
[46melequint[0m test elekwint test [41melekwent[0m [41masdf[0m

Test [41maffix[0m [41mflags[0m [41mwith[0m [41mtwo[0m [41mcharacters[0m

5[41maffstart
SET[0m [41mISO8859-1

FLAG[0m [41mlong

NEEDAFFIX[0m !!

[41mCOMPOUNDRULE[0m [41mssmm[0m*[41mee

NEEDCOMPOUND[0m [41mxx
COMPOUNDPERMITFLAG[0m [41mpp

SFX[0m 13 [41mY[0m 1
[1m[31msearch hit BOTTOM, continuing at TOP[18;1H[34h[?25h
[?25l[0m[36;1H[K[36;1H:[34h[?25hlet [str, a] = spellbadword()[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$put =str[?25l[23m[24m[0m[H[J[1;1Htestn
the end
uk
wrong
-------
[41mbad[0m
['put', 'uk', 'OK']
[41minputs[0m
['input', 'puts', 'outputs']
[41mcomment[0m
['Comment', 'outtest', 'the end']
[41mok[0m
['OK', 'uk', 'put']
[41mOk[0m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdÃ©Ã´l[0m
['deol', 'dÃ©Ã´r', 'test']
[41mend[0m
['put', 'uk', 'test']
[41mthe[0m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[0m [41mgesvets[0m [41metele
kbltykk
kprnfn[0m
*[41mfls[0m [41mkswts[0m [41mtl
elekwent[0m
[46melequint[0m
elekwint
elekwint
[41melekwent[0m
[46melequint[34h[?25h[?25l[23m[24m[0m[H[J[1;1H[41mend[0m/[41me[0m
4[41mdicend[0m

4[41mgood[0m: [41mword[0m [41mutil[0m [41mbork[0m [41mprebork[0m [41mstart[0m [41mend[0m [41mwordutil[0m [41mwordutils[0m [41mpro-ok[5;9Hbork[0m [41mborkbork[0m [41mborkborkbork[0m [41mborkborkborkbork[0m [41mborkborkborkborkbork[6;9Htomato[0m [41mtomatotomato[0m [41mstartend[0m [41mstartword[0m [41mstartwordword[0m [41mstartwordend[7;9Hstartwordwordend[0m [41mstartwordwordwordend[0m [41mprebork[0m [41mpreborkbork[8;9Hpreborkborkbork[9;9Hnouword
bad[0m: [41mwordutilize[0m [41mpro[0m [41mborkborkborkborkborkbork[0m [41mtomatotomatotomato[11;9Hendstart[0m [41mendend[0m [41mstartstart[0m [41mwordend[0m [41mwordstart[12;9Hpreborkprebork[0m  [41mpreborkpreborkbork[13;9Hstartwordwordwordwordend[0m [41mborkpreborkpreborkbork[14;9Hutilsbork[0m  [41mstartnouword
badend

test2[0m:
[46melequint[0m test elekwint test [41melekwent[0m [41masdf[0m

Test [41maffix[0m [41mflags[0m [41mwith[0m [41mtwo[0m [41mcharacters[0m

5[41maffstart
SET[0m [41mISO8859-1

FLAG[0m [41mlong

NEEDAFFIX[0m !!

[41mCOMPOUNDRULE[0m [41mssmm[0m*[41mee

NEEDCOMPOUND[0m [41mxx
COMPOUNDPERMITFLAG[0m [41mpp

SFX[0m 13 [41mY[0m 1
[41mSFX[0m 13 0 [41mbork[0m .[18;1H[34h[?25h[28C[?25l[36;1H:[34h[?25hlet [str, a] = spellbadword()[?25l[18;29H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$put =str[?25l[23m[24m[0m[H[J[1;1Hthe end
uk
wrong
-------
[41mbad[0m
['put', 'uk', 'OK']
[41minputs[0m
['input', 'puts', 'outputs']
[41mcomment[0m
['Comment', 'outtest', 'the end']
[41mok[0m
['OK', 'uk', 'put']
[41mOk[0m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdÃ©Ã´l[0m
['deol', 'dÃ©Ã´r', 'test']
[41mend[0m
['put', 'uk', 'test']
[41mthe[0m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[0m [41mgesvets[0m [41metele
kbltykk
kprnfn[0m
*[41mfls[0m [41mkswts[0m [41mtl
elekwent[0m
[46melequint[0m
elekwint
elekwint
[41melekwent[0m
[46melequint[0m
[41melekwent[34h[?25h[?25l
[0m:[34h[?25hset spl=Xtest_ca.utf-8.spl[?25l[30;1H[41melequint
elekwint
elekwint

elequint
[34h[?25h[?25l[0m[36;1H[K[36;1H/[34h[?25h^test2:[?25l/^test2:[1m[31msearch hit BOTTOM, continuing at TOP[23m[24m[0m[H[J[1;1H[41mstart[0m/[41ms
end[0m/[41me[0m
4[41mdicend[0m

4[41mgood[0m: [41mword[0m [41mutil[0m [41mbork[0m [41mprebork[0m [41mstart[0m [41mend[0m [41mwordutil[0m [41mwordutils[0m [41mpro-ok[6;9Hbork[0m [41mborkbork[0m [41mborkborkbork[0m [41mborkborkborkbork[0m [41mborkborkborkborkbork[7;9Htomato[0m [41mtomatotomato[0m [41mstartend[0m [41mstartword[0m [41mstartwordword[0m [41mstartwordend[8;9Hstartwordwordend[0m [41mstartwordwordwordend[0m [41mprebork[0m [41mpreborkbork[9;9Hpreborkborkbork[10;9Hnouword
bad[0m: [41mwordutilize[0m [41mpro[0m [41mborkborkborkborkborkbork[0m [41mtomatotomatotomato[12;9Hendstart[0m [41mendend[0m [41mstartstart[0m [41mwordend[0m [41mwordstart[13;9Hpreborkprebork[0m  [41mpreborkpreborkbork[14;9Hstartwordwordwordwordend[0m [41mborkpreborkpreborkbork[15;9Hutilsbork[0m  [41mstartnouword
badend

test2[0m:
[41melequint[0m test [41melekwint[0m test [41melekwent[0m [41masdf[0m

Test [41maffix[0m [41mflags[0m [41mwith[0m [41mtwo[0m [41mcharacters[0m

5[41maffstart
SET[0m [41mISO8859-1

FLAG[0m [41mlong

NEEDAFFIX[0m !!

[41mCOMPOUNDRULE[0m [41mssmm[0m*[41mee

NEEDCOMPOUND[0m [41mxx
COMPOUNDPERMITFLAG[0m [41mpp

SFX[0m 13 [41mY[0m 1
[1m[31msearch hit BOTTOM, continuing at TOP[18;1H[34h[?25h
[?25l[0m[36;1H[K[36;1H:[34h[?25hlet [str, a] = spellbadword()[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$put =str[?25l[23m[24m[0m[H[J[1;1Huk
wrong
-------
[41mbad[0m
['put', 'uk', 'OK']
[41minputs[0m
['input', 'puts', 'outputs']
[41mcomment[0m
['Comment', 'outtest', 'the end']
[41mok[0m
['OK', 'uk', 'put']
[41mOk[0m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdÃ©Ã´l[0m
['deol', 'dÃ©Ã´r', 'test']
[41mend[0m
['put', 'uk', 'test']
[41mthe[0m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[0m [41mgesvets[0m [41metele
kbltykk
kprnfn[0m
*[41mfls[0m [41mkswts[0m [41mtl
elekwent
elequint
elekwint
elekwint
elekwent
elequint
elekwent
elequint[34h[?25h[?25l[23m[24m[0m[H[J[1;1H[41mend[0m/[41me[0m
4[41mdicend[0m

4[41mgood[0m: [41mword[0m [41mutil[0m [41mbork[0m [41mprebork[0m [41mstart[0m [41mend[0m [41mwordutil[0m [41mwordutils[0m [41mpro-ok[5;9Hbork[0m [41mborkbork[0m [41mborkborkbork[0m [41mborkborkborkbork[0m [41mborkborkborkborkbork[6;9Htomato[0m [41mtomatotomato[0m [41mstartend[0m [41mstartword[0m [41mstartwordword[0m [41mstartwordend[7;9Hstartwordwordend[0m [41mstartwordwordwordend[0m [41mprebork[0m [41mpreborkbork[8;9Hpreborkborkbork[9;9Hnouword
bad[0m: [41mwordutilize[0m [41mpro[0m [41mborkborkborkborkborkbork[0m [41mtomatotomatotomato[11;9Hendstart[0m [41mendend[0m [41mstartstart[0m [41mwordend[0m [41mwordstart[12;9Hpreborkprebork[0m  [41mpreborkpreborkbork[13;9Hstartwordwordwordwordend[0m [41mborkpreborkpreborkbork[14;9Hutilsbork[0m  [41mstartnouword
badend

test2[0m:
[41melequint[0m test [41melekwint[0m test [41melekwent[0m [41masdf[0m

Test [41maffix[0m [41mflags[0m [41mwith[0m [41mtwo[0m [41mcharacters[0m

5[41maffstart
SET[0m [41mISO8859-1

FLAG[0m [41mlong

NEEDAFFIX[0m !!

[41mCOMPOUNDRULE[0m [41mssmm[0m*[41mee

NEEDCOMPOUND[0m [41mxx
COMPOUNDPERMITFLAG[0m [41mpp

SFX[0m 13 [41mY[0m 1
[41mSFX[0m 13 0 [41mbork[0m .[18;1H[34h[?25h[14C[?25l[36;1H:[34h[?25hlet [str, a] = spellbadword()[?25l[18;15H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h$put =str[?25l[23m[24m[0m[H[J[1;1Hwrong
-------
[41mbad[0m
['put', 'uk', 'OK']
[41minputs[0m
['input', 'puts', 'outputs']
[41mcomment[0m
['Comment', 'outtest', 'the end']
[41mok[0m
['OK', 'uk', 'put']
[41mOk[0m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdÃ©Ã´l[0m
['deol', 'dÃ©Ã´r', 'test']
[41mend[0m
['put', 'uk', 'test']
[41mthe[0m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[0m [41mgesvets[0m [41metele
kbltykk
kprnfn[0m
*[41mfls[0m [41mkswts[0m [41mtl
elekwent
elequint
elekwint
elekwint
elekwent
elequint
elekwent
elequint
elekwint[34h[?25h[?25l
[0m:[34h[?25h"[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" Postponed prefixes[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hcall TestOne('2', '1')[?25l"Xtest.aff" [36;13H[K[36;1H"Xtest.aff" 46 lines, 461 characters written
"Xtest.dic" "Xtest.dic" 11 lines, 71 characters written
Reading affix file Xtest.aff ...
Reading dictionary file Xtest.dic ...
line      2, word      0 - testCompressing word tree...[36;26H[K[36;1H
Compressed 10 of 102 nodes; 92 (90%) remaining
Compressed 0 of 13 nodes; 13 (100%) remaining
Writing spell file Xtest.utf-8.spl ...
Done!
Estimated runtime memory use: 525 bytes
17 lines yanked
17 more lines
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25h"[?25l[1;1H[12L[1;1Hput/[41mISO[0m
the end
deol
d[1m[34m<e9><f4>[0mr
1[41mdicend

addstart[0m
/[41mregions[0m=[41musgbnz
elequint[0m/2
[41melekwint[0m/3
[41maddend[0m

1[41mgood[0m: wrong OK puts. Test the end
[41mbad[0m:  [41minputs[0m [41mcomment[0m [41mok[0m [41mOk[0m. [44mtest[0m [41mdÃ©Ã´l[0m [41mend[0m [41mthe
badend[0m[16;1H[K[17;1H2[41mgood[0m: puts
[41mbad[0m: [41minputs[0m [41mcomment[0m [41mok[0m [41mOk[0m [41mend[0m [41mthe[0m. [44mtest[0m [41mdÃ©Ã´l
badend[0m[20;1H[K[21;1HTest [41mrules[0m [41mfor[0m [41mcompounding[0m.[22;1H[K[23;1H3[41maffstart[0m[23;10H[K[24;1H[41mSET[0m [41mISO8859-1[0m[25;1H[K[26;1H[41mCOMPOUNDMIN[0m 3
[41mCOMPOUNDRULE[0m [41mm[0m*
[41mNEEDCOMPOUND[0m [41mx[0m
3[41maffend[0m[29;8H[K[30;1H[K[31;1H3[41mdicstart[0m
1234[32;5H[K[33;1H[41mfoo[0m/[41mm[0m[33;6H[K[34;1H[41mbar[0m/[41mmx[0m[34;7H[K[35;1H[41mm[0m[1m[34m<ef>[0m/[41mm[0m[35;8H[K[36;1H[K[19;1H[34h[?25h[?25l[36;1H:[34h[?25h" Compound words[?25l[19;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hcall TestOne('3', '3')[?25l"Xtest.aff" [36;13H[K[36;1H"Xtest.aff" 5 lines, 60 characters written
"Xtest.dic" "Xtest.dic" 5 lines, 29 characters written
Reading affix file Xtest.aff ...
Reading dictionary file Xtest.dic ...
line      2, word      0 - fooCompressing word tree...[36;26H[K[36;1H
Compressed 6 of 31 nodes; 25 (80%) remaining
Writing spell file Xtest.utf-8.spl ...
Done!
Estimated runtime memory use: 125 bytes
3 lines yanked
3 more lines
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hcall TestOne('4', '4')[?25l"Xtest.aff" [36;13H[K[36;1H"Xtest.aff" 45 lines, 559 characters written
"Xtest.dic" "Xtest.dic" 8 lines, 59 characters written
Reading affix file Xtest.aff ...
Reading dictionary file Xtest.dic ...
line      2, word      0 - wordCompressing word tree...[36;26H[K[36;1H
Compressed 2 of 91 nodes; 89 (97%) remaining
Compressed 0 of 15 nodes; 15 (100%) remaining
Writing spell file Xtest.utf-8.spl ...
Done!
Estimated runtime memory use: 520 bytes
12 lines yanked
12 more lines
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hcall TestOne('5', '5')[?25l"Xtest.aff" [36;13H[K[36;1H"Xtest.aff" 25 lines, 237 characters written
"Xtest.dic" "Xtest.dic" 6 lines, 57 characters written
Reading affix file Xtest.aff ...
Reading dictionary file Xtest.dic ...
line      2, word      0 - fooCompressing word tree...[36;26H[K[36;1H
Compressed 19 of 107 nodes; 88 (82%) remaining
Writing spell file Xtest.utf-8.spl ...
Done!
Estimated runtime memory use: 440 bytes
10 lines yanked
10 more lines
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hcall TestOne('6', '6')[?25l"Xtest.aff" [36;13H[K[36;1H"Xtest.aff" 23 lines, 211 characters written
"Xtest.dic" "Xtest.dic" 6 lines, 53 characters written
Reading affix file Xtest.aff ...
Reading dictionary file Xtest.dic ...
line      2, word      0 - meeCompressing word tree...[36;26H[K[36;1H
Compressed 19 of 89 nodes; 70 (78%) remaining
Writing spell file Xtest.utf-8.spl ...
Done!
Estimated runtime memory use: 350 bytes
9 lines yanked
9 more lines
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hcall TestOne('7', '7')[?25l"Xtest.aff" [36;13H[K[36;1H"Xtest.aff" 26 lines, 338 characters written
"Xtest.dic" "Xtest.dic" 6 lines, 67 characters written
Reading affix file Xtest.aff ...
Reading dictionary file Xtest.dic ...
line      2, word      0 - meeCompressing word tree...[36;26H[K[36;1H
Compressed 19 of 91 nodes; 72 (79%) remaining
Writing spell file Xtest.utf-8.spl ...
Done!
Estimated runtime memory use: 360 bytes
9 lines yanked
9 more lines
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25h"[?25l[23m[24m[0m[H[J[2;1H[41mPFX[0m 17 [41mY[0m 1
[41mPFX[0m 17 0 [41mpre[0m/432 .
7[41maffend[0m

7[41mdicstart[0m
1234
[41mmee[0m/391,111,9999
bar/17,61003,123
lead/2
tail/123
[41mmiddle[0m/77,1
7[41mdicend[0m

7[41mgood[0m: meea1 meeaÃ© bar prebar barmeat prebarmeat  leadprebar[16;7Hlead tail leadtail  leadmiddletail
[41mbad[0m: [41mmee[0m [41mmeea2[0m [41mprabar[0m [41mprobarmaat[0m [41mmiddle[0m [41mleadmiddle[0m [41mmiddletail[0m [41mtaillead[18;9Hleadprobar
badend

test[0m [41moutput[0m:

[41mtest[0m 1-1
# [41mfile[0m: [41mXtest[0m.[41mutf[0m-8.[41mspl
Comment
deol
dÃ©Ã´r
input
OK
output
outputs
outtest
put
puts
test[19;1H[34h[?25h[?25l[23m[24m[0m[H[J[1;1H[41mTests[0m [41mfor[0m [41mspell[0m [41mchecking[0m [41mwith[0m '[41mencoding[0m' [41mset[0m [41mto[0m "[41mutf[0m-8".  [41mvim[0m: [41mset[0m [41mft[0m=[41mvim[0m :

[41mSTARTTEST[0m
:[41mso[0m [41msmall[0m.[41mvim[0m
:[41mso[0m [41mmbyte[0m.[41mvim[0m
:"
:" [41mDon[0m'[41mt[0m [41mwant[0m [41mto[0m [41mdepend[0m [41mon[0m [41mthe[0m [41mlocale[0m [41mfrom[0m [41mthe[0m [41menvironment[0m.  [41mThe[0m .[41maff[0m [41mand[0m .[41mdic[0m
:" [41mtext[0m [41mis[0m [41min[0m [41mlatin1[0m, [41mthe[0m [41mtest[0m [41mtext[0m [41mis[0m [41mutf[0m-8.
:[41mset[0m [41menc[0m=[41mlatin1[0m
:[41me[0m!
:[41mset[0m [41menc[0m=[41mutf[0m-8
:[41mset[0m [41mfenc[0m=
:"
:" [41mFunction[0m [41mto[0m [41mtest[0m .[41maff[0m/.[41mdic[0m [41mwith[0m [41mlist[0m [41mof[0m [41mgood[0m [41mand[0m [41mbad[0m [41mwords[0m.
:[41mfunc[0m [41mTestOne[0m([41maff[0m, [41mdic[0m)
  [41mset[0m [41mspellfile[0m=
  $[41mput[0m =''
  $[41mput[0m ='[41mtest[0m '. [41ma[0m:[41maff[0m . '-' . [41ma[0m:[41mdic[0m
  " [41mGenerate[0m [41ma[0m .[41mspl[0m [41mfile[0m [41mfrom[0m [41ma[0m .[41mdic[0m [41mand[0m .[41maff[0m [41mfile[0m.
  [41mexe[0m '1;/^' . [41ma[0m:[41maff[0m . '[41maffstart[0m/+1,/^' . [41ma[0m:[41maff[0m . '[41maffend[0m/-1[41mw[0m! [41mXtest[0m.[41maff[0m'
  [41mexe[0m '1;/^' . [41ma[0m:[41mdic[0m . '[41mdicstart[0m/+1,/^' . [41ma[0m:[41mdic[0m . '[41mdicend[0m/-1[41mw[0m! [41mXtest[0m.[41mdic[0m'
  [41mmkspell[0m! [41mXtest[0m [41mXtest[0m
  " [41muse[0m [41mthat[0m [41mspell[0m [41mfile
[0m  [41mset[0m [41mspl[0m=[41mXtest[0m.[41mutf[0m-8.[41mspl[0m [41mspell[0m
  " [41mlist[0m [41mall[0m [41mvalid[0m [41mwords
[0m  [41mspelldump[0m
  %[41myank
[0m  [41mquit[0m
  $[41mput[0m
  $[41mput[0m ='-------'
  " [41mfind[0m [41mall[0m [41mbad[0m [41mwords[0m [41mand[0m [41msuggestions[0m [41mfor[0m [41mthem
[0m  [41mexe[0m '1;/^' . [41ma[0m:[41maff[0m . '[41mgood[0m:'
  [41mnormal[0m 0[41mf[0m:][41ms
[0m  [41mlet[0m [41mprevbad[0m = ''
  [41mwhile[0m 1[1;1H[34h[?25h[?25l[36;1H:[34h[?25h/^test output:/,$wq! test.out[?25l"test.out" [36;12H[K[36;1H"test.out" [New File] 270 lines, 3685 characters written
[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test60.failed test.ok test.out X* viminfo
cp test60.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test60.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test60.in" 577 lines, 12425 characters[1;1HTests for the exists() function.  vim: set ft=vim :

STARTTEST
:so small.vim
:function! RunTest(str, result)
    if exists(a:str) == a:result[7;9Hecho "OK"
    else[9;9Hecho "FAILED: Checking for " . a:str
    endif
endfunction
:function! TestExists()
    augroup myagroup[14;9Hautocmd! BufEnter *.my echo 'myfile edited'
    augroup END[17;5Hlet test_cases = [][19;5H" valid autocmd group
    let test_cases += [['#myagroup', 1]]
    " valid autocmd group with garbage
    let test_cases += [['#myagroup+b', 0]]
    " Valid autocmd group and event
    let test_cases += [['#myagroup#BufEnter', 1]]
    " Valid autocmd group, event and pattern
    let test_cases += [['#myagroup#BufEnter#*.my', 1]]
    " Valid autocmd event
    let test_cases += [['#BufEnter', 1]]
    " Valid autocmd event and pattern
    let test_cases += [['#BufEnter#*.my', 1]]
    " Non-existing autocmd group or event
    let test_cases += [['#xyzagroup', 0]]
    " Non-existing autocmd group and valid autocmd event
    let test_cases += [['#xyzagroup#BufEnter', 0]]
    " Valid autocmd group and event with no matching pattern[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTests for the exists() function.  vim: set ft=vim :[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[3;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[4;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 572 lines, 12353 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[4;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[23m[24m[0m[H[J[1;9Hendif[3;9Hecho 'a:non_exists_arg: 0'[4;9Hif !exists('a:non_exists_arg')[5;13Hecho "OK"[6;9Helse[7;13Hecho "FAILED"[8;9Hendif[10;9Hecho 'a:1: 1'[11;9Hif exists('a:1')[12;13Hecho "OK"[13;9Helse[14;13Hecho "FAILED"[15;9Hendif[17;9Hecho 'a:2: 0'[18;9Hif !exists('a:2')[19;13Hecho "OK"[20;9Helse[21;13Hecho "FAILED"[22;9Hendif
    endfunction[25;5Hcall TestFuncArg("arg1", "arg2")[27;5Hredir END
endfunction
:call TestExists()
:edit! test.out
:set ff=unix
:w
:qa!
ENDTEST[34h[?25h
[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hfunction! RunTest(str, result)[?25l
:  [34h[?25h    if exists(a:str) == a:result
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED: Checking for " . a:str
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25hendfunction[1;1H[6L[?25l[1;9Hendif[3;9Hecho 'a:non_exists_arg: 0'[4;9Hif !exists('a:non_exists_arg')[5;13Hecho "OK"[6;9Helse[36;1H[K[35;1H[34h[?25h[?25l
:[34h[?25hfunction! TestExists()[?25l
:  [34h[?25h    augroup myagroup
[?25l:  [34h[?25h[1m[34m^I[0mautocmd! BufEnter *.my echo 'myfile edited'
[?25l:  [34h[?25h    augroup END
[?25l:  [34h[?25h
[?25l:  [34h[?25h    let test_cases = []
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " valid autocmd group
[?25l:  [34h[?25h    let test_cases += [['#myagroup', 1]]
[?25l:  [34h[?25h    " valid autocmd group with garbage
[?25l:  [34h[?25h    let test_cases += [['#myagroup+b', 0]]
[?25l:  [34h[?25h    " Valid autocmd group and event
[?25l:  [34h[?25h    let test_cases += [['#myagroup#BufEnter', 1]]
[?25l:  [34h[?25h    " Valid autocmd group, event and pattern
[?25l:  [34h[?25h    let test_cases += [['#myagroup#BufEnter#*.my', 1]]
[?25l:  [34h[?25h    " Valid autocmd event
[?25l:  [34h[?25h    let test_cases += [['#BufEnter', 1]]
[?25l:  [34h[?25h    " Valid autocmd event and pattern
[?25l:  [34h[?25h    let test_cases += [['#BufEnter#*.my', 1]]
[?25l:  [34h[?25h    " Non-existing autocmd group or event
[?25l:  [34h[?25h    let test_cases += [['#xyzagroup', 0]]
[?25l:  [34h[?25h    " Non-existing autocmd group and valid autocmd event
[?25l:  [34h[?25h    let test_cases += [['#xyzagroup#BufEnter', 0]]
[?25l:  [34h[?25h    " Valid autocmd group and event with no matching pattern
[?25l:  [34h[?25h    let test_cases += [['#myagroup#CmdwinEnter', 0]]
[?25l:  [34h[?25h    " Valid autocmd group and non-existing autocmd event
[?25l:  [34h[?25h    let test_cases += [['#myagroup#xyzacmd', 0]]
[?25l:  [34h[?25h    " Valid autocmd group and event and non-matching pattern
[?25l:  [34h[?25h    let test_cases += [['#myagroup#BufEnter#xyzpat', 0]]
[?25l:  [34h[?25h    " Valid autocmd event and non-matching pattern
[?25l:  [34h[?25h    let test_cases += [['#BufEnter#xyzpat', 0]]
[?25l:  [34h[?25h    " Empty autocmd group, event and pattern
[?25l:  [34h[?25h    let test_cases += [['###', 0]]
[?25l:  [34h[?25h    " Empty autocmd group and event or empty event and pattern
[?25l:  [34h[?25h    let test_cases += [['##', 0]]
[?25l:  [34h[?25h    " Valid autocmd event
[?25l:  [34h[?25h    let test_cases += [['##FileReadCmd', 1]]
[?25l:  [34h[?25h    " Non-existing autocmd event
[?25l:  [34h[?25h    let test_cases += [['##MySpecialCmd', 0]]
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Existing and working option (long form)
[?25l:  [34h[?25h    let test_cases += [['&textwidth', 1]]
[?25l:  [34h[?25h    " Existing and working option (short form)
[?25l:  [34h[?25h    let test_cases += [['&tw', 1]]
[?25l:  [34h[?25h    " Existing and working option with garbage
[?25l:  [34h[?25h    let test_cases += [['&tw-', 0]]
[?25l:  [34h[?25h    " Global option
[?25l:  [34h[?25h    let test_cases += [['&g:errorformat', 1]]
[?25l:  [34h[?25h    " Local option
[?25l:  [34h[?25h    let test_cases += [['&l:errorformat', 1]]
[?25l:  [34h[?25h    " Negative form of existing and working option (long form)
[?25l:  [34h[?25h    let test_cases += [['&nojoinspaces', 0]]
[?25l:  [34h[?25h    " Negative form of existing and working option (short form)
[?25l:  [34h[?25h    let test_cases += [['&nojs', 0]]
[?25l:  [34h[?25h    " Non-existing option
[?25l:  [34h[?25h    let test_cases += [['&myxyzoption', 0]]
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Existing and working option (long form)
[?25l:  [34h[?25h    let test_cases += [['+incsearch', 1]]
[?25l:  [34h[?25h    " Existing and working option with garbage
[?25l:  [34h[?25h    let test_cases += [['+incsearch!1', 0]]
[?25l:  [34h[?25h    " Existing and working option (short form)
[?25l:  [34h[?25h    let test_cases += [['+is', 1]]
[?25l:  [34h[?25h    " Existing option that is hidden.
[?25l:  [34h[?25h    let test_cases += [['+autoprint', 0]]
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Existing environment variable
[?25l:  [34h[?25h    let $EDITOR_NAME = 'Vim Editor'
[?25l:  [34h[?25h    let test_cases += [['$EDITOR_NAME', 1]]
[?25l:  [34h[?25h    " Non-existing environment variable
[?25l:  [34h[?25h    let test_cases += [['$NON_ENV_VAR', 0]]
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Valid internal function
[?25l:  [34h[?25h    let test_cases += [['*bufnr', 1]]
[?25l:  [34h[?25h    " Valid internal function with ()
[?25l:  [34h[?25h    let test_cases += [['*bufnr()', 1]]
[?25l:  [34h[?25h    " Non-existing internal function
[?25l:  [34h[?25h    let test_cases += [['*myxyzfunc', 0]]
[?25l:  [34h[?25h    " Valid internal function with garbage
[?25l:  [34h[?25h    let test_cases += [['*bufnr&6', 0]]
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Valid user defined function
[?25l:  [34h[?25h    let test_cases += [['*TestExists', 1]]
[?25l:  [34h[?25h    " Non-existing user defined function
[?25l:  [34h[?25h    let test_cases += [['*MyxyzFunc', 0]]
[?25l:  [34h[?25h
[?25l:  [34h[?25h    redir! > test.out
[?25l:  [34h[?25h
[?25l:  [34h[?25h    for [test_case, result] in test_cases
[?25l:    [34h[?25h      [1m[34m^I[0mecho test_case . ": " . result
[?25l:    [34h[?25h        call RunTest(test_case, result)
[?25l:    [34h[?25h    endfor
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Valid internal command (full match)
[?25l:  [34h[?25h    echo ':edit: 2'
[?25l:  [34h[?25h    if exists(':edit') == 2
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Valid internal command (full match) with garbage
[?25l:  [34h[?25h    echo ':edit/a: 0'
[?25l:  [34h[?25h    if exists(':edit/a') == 0
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Valid internal command (partial match)
[?25l:  [34h[?25h    echo ':q: 1'
[?25l:  [34h[?25h    if exists(':q') == 1
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Non-existing internal command
[?25l:  [34h[?25h    echo ':invalidcmd: 0'
[?25l:  [34h[?25h    if !exists(':invalidcmd')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " User defined command (full match)
[?25l:  [34h[?25h    command! MyCmd :echo 'My command'
[?25l:  [34h[?25h    echo ':MyCmd: 2'
[?25l:  [34h[?25h    if exists(':MyCmd') == 2
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " User defined command (partial match)
[?25l:  [34h[?25h    command! MyOtherCmd :echo 'Another command'
[?25l:  [34h[?25h    echo ':My: 3'
[?25l:  [34h[?25h    if exists(':My') == 3
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Command modifier
[?25l:  [34h[?25h    echo ':rightbelow: 2'
[?25l:  [34h[?25h    if exists(':rightbelow') == 2
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Non-existing user defined command (full match)
[?25l:  [34h[?25h    delcommand MyCmd
[?25l:  [34h[?25h
[?25l:  [34h[?25h    echo ':MyCmd: 0'
[?25l:  [34h[?25h    if !exists(':MyCmd')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Non-existing user defined command (partial match)
[?25l:  [34h[?25h    delcommand MyOtherCmd
[?25l:  [34h[?25h
[?25l:  [34h[?25h    echo ':My: 0'
[?25l:  [34h[?25h    if !exists(':My')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Valid local variable
[?25l:  [34h[?25h    let local_var = 1
[?25l:  [34h[?25h    echo 'local_var: 1'
[?25l:  [34h[?25h    if exists('local_var')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Valid local variable with garbage
[?25l:  [34h[?25h    let local_var = 1
[?25l:  [34h[?25h    echo 'local_var%n: 0'
[?25l:  [34h[?25h    if !exists('local_var%n')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Non-existing local variable
[?25l:  [34h[?25h    unlet local_var
[?25l:  [34h[?25h    echo 'local_var: 0'
[?25l:  [34h[?25h    if !exists('local_var')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Valid local list
[?25l:  [34h[?25h    let local_list = ["blue", "orange"]
[?25l:  [34h[?25h    echo 'local_list: 1'
[?25l:  [34h[?25h    if exists('local_list')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Valid local list item
[?25l:  [34h[?25h    echo 'local_list[1]: 1'
[?25l:  [34h[?25h    if exists('local_list[1]')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Valid local list item with garbage
[?25l:  [34h[?25h    echo 'local_list[1]+5: 0'
[?25l:  [34h[?25h    if !exists('local_list[1]+5')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Invalid local list item
[?25l:  [34h[?25h    echo 'local_list[2]: 0'
[?25l:  [34h[?25h    if !exists('local_list[2]')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Non-existing local list
[?25l:  [34h[?25h    unlet local_list
[?25l:  [34h[?25h    echo 'local_list: 0'
[?25l:  [34h[?25h    if !exists('local_list')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Valid local dictionary
[?25l:  [34h[?25h    let local_dict = {"xcord":100, "ycord":2}
[?25l:  [34h[?25h    echo 'local_dict: 1'
[?25l:  [34h[?25h    if exists('local_dict')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Non-existing local dictionary
[?25l:  [34h[?25h    unlet local_dict
[?25l:  [34h[?25h    echo 'local_dict: 0'
[?25l:  [34h[?25h    if !exists('local_dict')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Existing local curly-brace variable
[?25l:  [34h[?25h    let str = "local"
[?25l:  [34h[?25h    let curly_{str}_var = 1
[?25l:  [34h[?25h    echo 'curly_' . str . '_var: 1'
[?25l:  [34h[?25h    if exists('curly_{str}_var')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Non-existing local curly-brace variable
[?25l:  [34h[?25h    unlet curly_{str}_var
[?25l:  [34h[?25h    echo 'curly_' . str . '_var: 0'
[?25l:  [34h[?25h    if !exists('curly_{str}_var')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Existing global variable
[?25l:  [34h[?25h    let g:global_var = 1
[?25l:  [34h[?25h    echo 'g:global_var: 1'
[?25l:  [34h[?25h    if exists('g:global_var')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Existing global variable with garbage
[?25l:  [34h[?25h    echo 'g:global_var-n: 1'
[?25l:  [34h[?25h    if !exists('g:global_var-n')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Non-existing global variable
[?25l:  [34h[?25h    unlet g:global_var
[?25l:  [34h[?25h    echo 'g:global_var: 0'
[?25l:  [34h[?25h    if !exists('g:global_var')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Existing global list
[?25l:  [34h[?25h    let g:global_list = ["blue", "orange"]
[?25l:  [34h[?25h    echo 'g:global_list: 1'
[?25l:  [34h[?25h    if exists('g:global_list')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Non-existing global list
[?25l:  [34h[?25h    unlet g:global_list
[?25l:  [34h[?25h    echo 'g:global_list: 0'
[?25l:  [34h[?25h    if !exists('g:global_list')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Existing global dictionary
[?25l:  [34h[?25h    let g:global_dict = {"xcord":100, "ycord":2}
[?25l:  [34h[?25h    echo 'g:global_dict: 1'
[?25l:  [34h[?25h    if exists('g:global_dict')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Non-existing global dictionary
[?25l:  [34h[?25h    unlet g:global_dict
[?25l:  [34h[?25h    echo 'g:global_dict: 0'
[?25l:  [34h[?25h    if !exists('g:global_dict')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Existing global curly-brace variable
[?25l:  [34h[?25h    let str = "global"
[?25l:  [34h[?25h    let g:curly_{str}_var = 1
[?25l:  [34h[?25h    echo 'g:curly_' . str . '_var: 1'
[?25l:  [34h[?25h    if exists('g:curly_{str}_var')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Non-existing global curly-brace variable
[?25l:  [34h[?25h    unlet g:curly_{str}_var
[?25l:  [34h[?25h    echo 'g:curly_' . str . '_var: 0'
[?25l:  [34h[?25h    if !exists('g:curly_{str}_var')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Existing window variable
[?25l:  [34h[?25h    echo 'w:window_var: 1'
[?25l:  [34h[?25h    let w:window_var = 1
[?25l:  [34h[?25h    if exists('w:window_var')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Non-existing window variable
[?25l:  [34h[?25h    unlet w:window_var
[?25l:  [34h[?25h    echo 'w:window_var: 0'
[?25l:  [34h[?25h    if !exists('w:window_var')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Existing window list
[?25l:  [34h[?25h    let w:window_list = ["blue", "orange"]
[?25l:  [34h[?25h    echo 'w:window_list: 1'
[?25l:  [34h[?25h    if exists('w:window_list')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Non-existing window list
[?25l:  [34h[?25h    unlet w:window_list
[?25l:  [34h[?25h    echo 'w:window_list: 0'
[?25l:  [34h[?25h    if !exists('w:window_list')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Existing window dictionary
[?25l:  [34h[?25h    let w:window_dict = {"xcord":100, "ycord":2}
[?25l:  [34h[?25h    echo 'w:window_dict: 1'
[?25l:  [34h[?25h    if exists('w:window_dict')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Non-existing window dictionary
[?25l:  [34h[?25h    unlet w:window_dict
[?25l:  [34h[?25h    echo 'w:window_dict: 0'
[?25l:  [34h[?25h    if !exists('w:window_dict')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Existing window curly-brace variable
[?25l:  [34h[?25h    let str = "window"
[?25l:  [34h[?25h    let w:curly_{str}_var = 1
[?25l:  [34h[?25h    echo 'w:curly_' . str . '_var: 1'
[?25l:  [34h[?25h    if exists('w:curly_{str}_var')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Non-existing window curly-brace variable
[?25l:  [34h[?25h    unlet w:curly_{str}_var
[?25l:  [34h[?25h    echo 'w:curly_' . str . '_var: 0'
[?25l:  [34h[?25h    if !exists('w:curly_{str}_var')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Existing buffer variable
[?25l:  [34h[?25h    echo 'b:buffer_var: 1'
[?25l:  [34h[?25h    let b:buffer_var = 1
[?25l:  [34h[?25h    if exists('b:buffer_var')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Non-existing buffer variable
[?25l:  [34h[?25h    unlet b:buffer_var
[?25l:  [34h[?25h    echo 'b:buffer_var: 0'
[?25l:  [34h[?25h    if !exists('b:buffer_var')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Existing buffer list
[?25l:  [34h[?25h    let b:buffer_list = ["blue", "orange"]
[?25l:  [34h[?25h    echo 'b:buffer_list: 1'
[?25l:  [34h[?25h    if exists('b:buffer_list')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Non-existing buffer list
[?25l:  [34h[?25h    unlet b:buffer_list
[?25l:  [34h[?25h    echo 'b:buffer_list: 0'
[?25l:  [34h[?25h    if !exists('b:buffer_list')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Existing buffer dictionary
[?25l:  [34h[?25h    let b:buffer_dict = {"xcord":100, "ycord":2}
[?25l:  [34h[?25h    echo 'b:buffer_dict: 1'
[?25l:  [34h[?25h    if exists('b:buffer_dict')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Non-existing buffer dictionary
[?25l:  [34h[?25h    unlet b:buffer_dict
[?25l:  [34h[?25h    echo 'b:buffer_dict: 0'
[?25l:  [34h[?25h    if !exists('b:buffer_dict')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Existing buffer curly-brace variable
[?25l:  [34h[?25h    let str = "buffer"
[?25l:  [34h[?25h    let b:curly_{str}_var = 1
[?25l:  [34h[?25h    echo 'b:curly_' . str . '_var: 1'
[?25l:  [34h[?25h    if exists('b:curly_{str}_var')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Non-existing buffer curly-brace variable
[?25l:  [34h[?25h    unlet b:curly_{str}_var
[?25l:  [34h[?25h    echo 'b:curly_' . str . '_var: 0'
[?25l:  [34h[?25h    if !exists('b:curly_{str}_var')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Script-local tests
[?25l:  [34h[?25h    source test60.vim
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Existing Vim internal variable
[?25l:  [34h[?25h    echo 'v:version: 1'
[?25l:  [34h[?25h    if exists('v:version')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Non-existing Vim internal variable
[?25l:  [34h[?25h    echo 'v:non_exists_var: 0'
[?25l:  [34h[?25h    if !exists('v:non_exists_var')
[?25l:    [34h[?25h[1m[34m^I[0mecho "OK"
[?25l:    [34h[?25h    else
[?25l:    [34h[?25h[1m[34m^I[0mecho "FAILED"
[?25l:    [34h[?25h    endif
[?25l:  [34h[?25h
[?25l:  [34h[?25h    " Function arguments
[?25l:  [34h[?25h    function TestFuncArg(func_arg, ...)
[?25l:    [34h[?25h        echo 'a:func_arg: 1'
[?25l:    [34h[?25h        if exists('a:func_arg')
[?25l:      [34h[?25h            echo "OK"
[?25l:      [34h[?25h        else
[?25l:      [34h[?25h            echo "FAILED"
[?25l:      [34h[?25h        endif
[?25l:    [34h[?25h
[?25l:    [34h[?25h        echo 'a:non_exists_arg: 0'
[?25l:    [34h[?25h        if !exists('a:non_exists_arg')
[?25l:      [34h[?25h            echo "OK"
[?25l:      [34h[?25h        else
[?25l:      [34h[?25h            echo "FAILED"
[?25l:      [34h[?25h        endif
[?25l:    [34h[?25h
[?25l:    [34h[?25h        echo 'a:1: 1'
[?25l:    [34h[?25h        if exists('a:1')
[?25l:      [34h[?25h            echo "OK"
[?25l:      [34h[?25h        else
[?25l:      [34h[?25h            echo "FAILED"
[?25l:      [34h[?25h        endif
[?25l:    [34h[?25h
[?25l:    [34h[?25h        echo 'a:2: 0'
[?25l:    [34h[?25h        if !exists('a:2')
[?25l:      [34h[?25h            echo "OK"
[?25l:      [34h[?25h        else
[?25l:      [34h[?25h            echo "FAILED"
[?25l:      [34h[?25h        endif
[?25l:    [34h[?25h    endfunction
[?25l:    [34h[?25h
[?25l:    [34h[?25h    call TestFuncArg("arg1", "arg2")
[?25l:    [34h[?25h
[?25l:    [34h[?25h    redir END
[?25l:    [34h[?25hendfunction[23m[24m[0m[H[J[?25l[1;9Hendif[3;9Hecho 'a:non_exists_arg: 0'[4;9Hif !exists('a:non_exists_arg')[5;13Hecho "OK"[6;9Helse[7;13Hecho "FAILED"[8;9Hendif[10;9Hecho 'a:1: 1'[11;9Hif exists('a:1')[12;13Hecho "OK"[13;9Helse[14;13Hecho "FAILED"[15;9Hendif[17;9Hecho 'a:2: 0'[18;9Hif !exists('a:2')[19;13Hecho "OK"[20;9Helse[21;13Hecho "FAILED"[22;9Hendif
    endfunction[25;5Hcall TestFuncArg("arg1", "arg2")[27;5Hredir END
endfunction
:call TestExists()
:edit! test.out
:set ff=unix
:w
:qa!
ENDTEST
[34h[?25h[?25l
:[34h[?25hcall TestExists()[?25l#myagroup: 1[36;13H[K[36;1H
OK
#myagroup+b: 0
OK
#myagroup#BufEnter: 1
OK
#myagroup#BufEnter#*.my: 1
OK
#BufEnter: 1
OK
#BufEnter#*.my: 1
OK
#xyzagroup: 0
OK
#xyzagroup#BufEnter: 0
OK
#myagroup#CmdwinEnter: 0
OK
#myagroup#xyzacmd: 0
OK
#myagroup#BufEnter#xyzpat: 0
OK
#BufEnter#xyzpat: 0
OK
###: 0
OK
##: 0
OK
##FileReadCmd: 1
OK
##MySpecialCmd: 0
OK
&textwidth: 1
OK
&tw: 1
OK
&tw-: 0
OK
&g:errorformat: 1
OK
&l:errorformat: 1
OK
&nojoinspaces: 0
OK
&nojs: 0
OK
&myxyzoption: 0
OK
+incsearch: 1
OK
+incsearch!1: 0
OK
+is: 1
OK
+autoprint: 0
OK
$EDITOR_NAME: 1
OK
$NON_ENV_VAR: 0
OK
*bufnr: 1
OK
*bufnr(): 1
OK
*myxyzfunc: 0
OK
*bufnr&6: 0
OK
*TestExists: 1
OK
*MyxyzFunc: 0
OK
:edit: 2
OK
:edit/a: 0
OK
:q: 1
OK
:invalidcmd: 0
OK
:MyCmd: 2
OK
:My: 3
OK
:rightbelow: 2
OK
:MyCmd: 0
OK
:My: 0
OK
local_var: 1
OK
local_var%n: 0
OK
local_var: 0
OK
local_list: 1
OK
local_list[1]: 1
OK
local_list[1]+5: 0
OK
local_list[2]: 0
OK
local_list: 0
OK
local_dict: 1
OK
local_dict: 0
OK
curly_local_var: 1
OK
curly_local_var: 0
OK
g:global_var: 1
OK
g:global_var-n: 1
OK
g:global_var: 0
OK
g:global_list: 1
OK
g:global_list: 0
OK
g:global_dict: 1
OK
g:global_dict: 0
OK
g:curly_global_var: 1
OK
g:curly_global_var: 0
OK
w:window_var: 1
OK
w:window_var: 0
OK
w:window_list: 1
OK
w:window_list: 0
OK
w:window_dict: 1
OK
w:window_dict: 0
OK
w:curly_window_var: 1
OK
w:curly_window_var: 0
OK
b:buffer_var: 1
OK
b:buffer_var: 0
OK
b:buffer_list: 1
OK
b:buffer_list: 0
OK
b:buffer_dict: 1
OK
b:buffer_dict: 0
OK
b:curly_buffer_var: 1
OK
b:curly_buffer_var: 0
OK
s:script_var: 1
OK
s:script_var: 0
OK
s:script_list: 1
OK
s:script_list: 0
OK
s:script_dict: 1
OK
s:script_dict: 0
OK
s:curly_script_var: 1
OK
s:curly_script_var: 0
OK
*s:my_script_func: 1
OK
*s:my_script_func: 0
OK
v:version: 1
OK
v:non_exists_var: 0
OK
a:func_arg: 1
OK
a:non_exists_arg: 0
OK
a:1: 1
OK
a:2: 0
OK
[1m[32mPress ENTER or type command to continue[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hedit! test.out[?25l"test.out" [36;12H[K[36;12H[Incomplete last line] 197 lines, 1844 characters[23m[24m[0m[H[J[2;1H#myagroup: 1
OK
#myagroup+b: 0
OK
#myagroup#BufEnter: 1
OK
#myagroup#BufEnter#*.my: 1
OK
#BufEnter: 1
OK
#BufEnter#*.my: 1
OK
#xyzagroup: 0
OK
#xyzagroup#BufEnter: 0
OK
#myagroup#CmdwinEnter: 0
OK
#myagroup#xyzacmd: 0
OK
#myagroup#BufEnter#xyzpat: 0
OK
#BufEnter#xyzpat: 0
OK
###: 0
OK
##: 0
OK
##FileReadCmd: 1
OK
##MySpecialCmd: 0
OK
&textwidth: 1
OK
"test.out" [Incomplete last line] 197 lines, 1844 characters[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset ff=unix[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hw[?25l"test.out" 197 lines, 1845 characters written[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test61.failed test.ok test.out X* viminfo
cp test61.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test61.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test61.in" 59 lines, 1011 characters[1;1HTests for undo tree.
Since this script is sourced we need to explicitly break changes up in
undo-able pieces.  Do that by setting 'undolevels'.

STARTTEST
:" Delete three characters and undo
Gx:set ul=100
x:set ul=100
x:.w! test.out
g-:.w >>test.out
g-:.w >>test.out
g-:.w >>test.out
g-:.w >>test.out
:"
:/^111/w >>test.out
:" Delete three other characters and go back in time step by step
$x:set ul=100
x:set ul=100
x:.w >>test.out
:sleep 1
g-:.w >>test.out
g-:.w >>test.out
g-:.w >>test.out
g-:.w >>test.out
g-:.w >>test.out
g-:.w >>test.out
g-:.w >>test.out
g-:.w >>test.out
10g+:.w >>test.out
:"
:/^222/w >>test.out
:" Delay for three seconds and go some seconds forward and backward
:sleep 2
Aa[1m[34m^[[0m:set ul=100
Ab[1m[34m^[[0m:set ul=100[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTests for undo tree.[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[5;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[6;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 48 lines, 814 characters written[6;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[6;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[1;35r[1;1H[19M[1;36r[17;1HAc[1m[34m^[[0m:set ul=100
:.w >>test.out
:ear 1s
:.w >>test.out
:ear 3s
:.w >>test.out
:later 1s
:.w >>test.out
:later 1h
:.w >>test.out
:"
:" test undojoin
Goaaaa[1m[34m^[[0m:set ul=100
obbbb[1m[34m^[[0mu:.w >>test.out
obbbb[1m[34m^[[0m:set ul=100
:undojoin
occcc[1m[34m^[[0mu:.w >>test.out
:qa!
ENDTEST[36;1H[K[35;1H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1H[34h[?25h[?25l
:so! Xdotest[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" Delete three characters and undo[?25l[35;1H[34h[?25h[?25l[1;35r[1;1H[4M[1;36r[32;1H1111 -----
2222 -----

123456789[36;1H[K[35;1H[34h[?25h[?25l23456789[35;9H[K[35;1H[34h[?25h[?25l
:[34h[?25hset ul=100[?25l[35;1H[34h[?25h[?25l3456789[35;8H[K[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset ul=100[?25l[35;1H[34h[?25h[?25l456789[35;7H[K[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.w! test.out[?25l"test.out" [36;12H[K[36;12H[New File] 1 line, 7 characters written[35;1H[34h[?25h[?25l
1 change; before #3  0 seconds ago[36;35H[K[35;1H3456789[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 8 characters appended[35;1H[34h[?25h[?25l
1 change; before #2  0 seconds ago[36;35H[K[35;1H23456789[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 9 characters appended[35;1H[34h[?25h[?25l
1 change; before #1  0 seconds ago[36;35H[K[35;1H123456789[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 10 characters appended[35;1H[34h[?25h[?25l
Already at oldest change[36;25H[K[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 10 characters appended[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^111/w >>test.out[?25l[1m[31msearch hit BOTTOM, continuing at TOP[0m"test.out" [36;12H[K[36;12H1 line, 11 characters appended[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" Delete three other characters and go back in time step by step[?25l[35;1H[34h[?25h[8C[?25l[35;9H[K[35;8H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset ul=100[?25l[35;8H[34h[?25h[?25l[35;8H[K[35;7H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset ul=100[?25l[35;7H[34h[?25h[?25l[35;7H[K[35;6H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 7 characters appended[35;6H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hsleep 1[?25l[35;6H[34h[?25h[?25l
1 change; before #6  1 seconds ago[35;7H7[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 8 characters appended[35;7H[34h[?25h[?25l
1 change; before #5  1 seconds ago[36;35H[K[35;8H8[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 9 characters appended[35;8H[34h[?25h[?25l
4 changes; after #3  1 seconds ago[36;35H[K[35;1H456789[35;7H[K[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 7 characters appended[35;1H[34h[?25h[?25l
1 change; before #3  1 seconds ago[36;35H[K[35;1H3456789[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 8 characters appended[35;1H[34h[?25h[?25l
1 change; before #2  1 seconds ago[36;35H[K[35;1H23456789[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 9 characters appended[35;1H[34h[?25h[?25l
1 change; before #1  1 seconds ago[36;35H[K[35;1H123456789[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 10 characters appended[35;1H[34h[?25h[?25l
Already at oldest change[36;25H[K[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 10 characters appended[35;1H[34h[?25h[?25l
Already at oldest change[36;25H[K[35;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 10 characters appended[35;1H[34h[?25h[?25l
3 changes; after #6  1 seconds ago[36;35H[K[35;7H[K[35;6H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 7 characters appended[35;6H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[35;6H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^222/w >>test.out[?25l[1m[31msearch hit BOTTOM, continuing at TOP[0m"test.out" [36;12H[K[36;12H1 line, 11 characters appended[35;6H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" Delay for three seconds and go some seconds forward and backward[?25l[35;6H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hsleep 2[?25l[35;6H[34h[?25h[?25l6a[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset ul=100[?25l[35;7H[34h[?25h[?25lab[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset ul=100[?25l[35;8H[34h[?25h[?25lbc[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset ul=100[?25l[35;9H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 10 characters appended[35;9H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hear 1s[?25l3 changes; before #7  0 seconds ago[35;7H[K[35;6H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 7 characters appended[35;6H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hear 3s[?25l3 changes; before #1  3 seconds ago[35;7H789[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 10 characters appended[35;9H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hlater 1s[?25l3 changes; after #6  3 seconds ago[35;7H[K[35;6H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 7 characters appended[35;6H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hlater 1h[?25l3 changes; after #9  0 seconds ago[35;7Habc[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 10 characters appended[35;9H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[35;9H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" test undojoin[?25l[35;9H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1Haaaa[36;1H[K[35;4H[34h[?25h[?25l
:[34h[?25hset ul=100[?25l[35;4H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1Hbbbb[36;1H[K[35;4H[34h[?25h[?25l
1 line less; before #11  0 seconds ago[35;1H[1m[34m~                                                                                                   [34;4H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 5 characters appended[34;4H[34h[?25h[?25l
bbbb[35;5H[K[35;4H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hset ul=100[?25l[35;4H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hundojoin[?25l[35;4H[34h[?25h[?25l[1;35r[35;1H
[1;36r[35;1Hcccc[36;1H[K[35;4H[34h[?25h[?25l
2 fewer lines; before #12  0 seconds ago[34;1H[1m[34m~                                                                                                   [35;1H~                                                                                                   [33;4H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25h.w >>test.out[?25l"test.out" [36;12H[K[36;12H1 line, 5 characters appended[33;4H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo
rm -rf test62.failed test.ok test.out X* viminfo
cp test62.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
../vim -u unix.vim -U NONE --noplugin -s dotest.in test62.in
Vim: Warning: Output is not to a terminal
[?1049h[?1h=[1;36r[34l[34h[?25h[23m[24m[0m[H[J[?25l[36;1H"test62.in" 32 lines, 522 characters[1;1HTests for tab pages

STARTTEST
:so small.vim
:" Simple test for opening and closing a tab page
:tabnew
:let nr = tabpagenr()
:q
:call append(line('$'), 'tab page ' . nr)
:"
:" Open three tab pages and use ":tabdo"
:0tabnew
:1tabnew
:888tabnew
:tabdo call append(line('$'), 'this is tab page ' . tabpagenr())
:tabclose! 2
:tabrewind
:let line1 = getline('$')
:undo
:q
:tablast
:let line2 = getline('$')
:q!
:call append(line('$'), line1)
:call append(line('$'), line2)
:"
:"
:/^Results/,$w! test.out
:qa!
ENDTEST

Results:
[1m[34m~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [1;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hset cp[?25l[1;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hmap dotest /^STARTTEST^[1m[34m^M[0mj:set ff=unix cpo-=A^[1m[34m^M[0m:.,/ENDTEST/-1w! Xdotest^[1m[34m^M[0m:set ff& cpo+=A^[1m[34m^M[0mnj0:so! X
[35;100Hd[36;1Hotest^[1m[34m^M[0mdotest[?25l[1;1H[L[1;1HTests for tab pages[36;1H[K[1;1H[34h[?25h[?25l[36;1H/^STARTTEST[3;1H[34h[?25h
[?25l[36;1H[K[36;1H:set ff=unix cpo-=A[4;1H[34h[?25h[?25l[36;1H[K[36;1H:.,/ENDTEST/-1w! Xdotest"Xdotest" [36;11H[K[36;11H[New File] 26 lines, 473 characters written[4;1H[34h[?25h[?25l[36;1H[K[36;1H:set ff& cpo+=A[4;1H[34h[?25h[?25l[36;1H/ENDTEST[36;10H[K[36;1H[30;1H[34h[?25h
[?25l[36;1H[K[36;1H:so! Xdotest[31;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hso small.vim[?25l[31;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" Simple test for opening and closing a tab page[?25l[31;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25htabnew[?25l[23m[24m[0m[H[J[1;1H[1m[4m[37m[40m test62.in [24m[0m[1m [No Name] [0m[7m                                                                              [0m[1;100H[1m[4m[37m[40mX[24m[0m[3;1H[1m[34m~                                                                                                   [4;1H~                                                                                                   [5;1H~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [2;1H[34h[?25h[?25l[36;1H[0m:[34h[?25hlet nr = tabpagenr()[?25l[2;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hq[?25l[23m[24m[0m[H[J[1;1HTests for tab pages

STARTTEST
:so small.vim
:" Simple test for opening and closing a tab page
:tabnew
:let nr = tabpagenr()
:q
:call append(line('$'), 'tab page ' . nr)
:"
:" Open three tab pages and use ":tabdo"
:0tabnew
:1tabnew
:888tabnew
:tabdo call append(line('$'), 'this is tab page ' . tabpagenr())
:tabclose! 2
:tabrewind
:let line1 = getline('$')
:undo
:q
:tablast
:let line2 = getline('$')
:q!
:call append(line('$'), line1)
:call append(line('$'), line2)
:"
:"
:/^Results/,$w! test.out
:qa!
ENDTEST

Results:
[1m[34m~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [31;1H[34h[?25h[?25l[36;1H[0m:[34h[?25hcall append(line('$'), 'tab page ' . nr)[?25l[33;1Htab page 2[33;11H[K[31;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[31;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h" Open three tab pages and use ":tabdo"[?25l[31;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h0tabnew[?25l[23m[24m[0m[H[J[1;1H[1m [No Name] [0m[1m[4m[37m[40m + test62.in [24m[0m[7m                                                                            [0m[1;100H[1m[4m[37m[40mX[24m[0m[3;1H[1m[34m~                                                                                                   [4;1H~                                                                                                   [5;1H~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [2;1H[34h[?25h[?25l[36;1H[0m:[34h[?25h1tabnew[?25l[23m[24m[0m[H[J[1;1H[1m[4m[37m[40m [No Name] [24m[0m[1m [No Name] [0m[1m[4m[37m[40m + test62.in [24m[0m[7m                                                                 [0m[1;100H[1m[4m[37m[40mX[24m[0m[3;1H[1m[34m~                                                                                                   [4;1H~                                                                                                   [5;1H~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [2;1H[34h[?25h[?25l[36;1H[0m:[34h[?25h888tabnew[?25l[23m[24m[0m[H[J[1;1H[1m[4m[37m[40m [No Name]  [No Name]  + test62.in [24m[0m[1m [No Name] [0m[7m                                                      [0m[1;100H[1m[4m[37m[40mX[24m[0m[3;1H[1m[34m~                                                                                                   [4;1H~                                                                                                   [5;1H~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [2;1H[34h[?25h[?25l[36;1H[0m:[34h[?25htabdo call append(line('$'), 'this is tab page ' . tabpagenr())[?25l[23m[24m[0m[H[J[1;1H[1m[4m[37m[40m + [No Name]  + [No Name]  + test62.in [24m[0m[1m + [No Name] [0m[7m                                                [0m[1;100H[1m[4m[37m[40mX[24m[0m[3;1Hthis is tab page 4
[1m[34m~                                                                                                   [5;1H~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [2;1H[34h[?25h[?25l[36;1H[0m:[34h[?25htabclose! 2[?25l[1;17H[1m[4m[37m[40mtest62.in[24m[0m[1C[1m + [No Name] [0m[7m             [47C [0m[1;100H[1m[4m[37m[40mX[2;1H[34h[?25h[?25l[24m[0m[36;1H[K[36;1H:[34h[?25htabrewind[?25l[23m[24m[0m[H[J[1;1H[1m + [No Name] [0m[1m[4m[37m[40m + test62.in  + [No Name] [24m[0m[7m                                                             [0m[1;100H[1m[4m[37m[40mX[24m[0m[3;1Hthis is tab page 1
[1m[34m~                                                                                                   [5;1H~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [2;1H[34h[?25h[?25l[36;1H[0m:[34h[?25hlet line1 = getline('$')[?25l[2;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hundo[?25l2 fewer lines; before #1  0 seconds ago[1;2H[1m[No Name] [0m[1m[4m[37m[40m + test62.in  + [No Name] [24m[0m[7m  [60C [0m[1;100H[1m[4m[37m[40mX[24m[0m[3;1H[1m[34m~                                                                                                   [2;1H[34h[?25h[?25l[0m[36;1H[K[36;1H:[34h[?25hq[?25l[23m[24m[0m[H[J[1;1H[1m + test62.in [0m[1m[4m[37m[40m + [No Name] [24m[0m[7m                                                                          [0m[1;100H[1m[4m[37m[40mX[24m[0m[2;1HTests for tab pages

STARTTEST
:so small.vim
:" Simple test for opening and closing a tab page
:tabnew
:let nr = tabpagenr()
:q
:call append(line('$'), 'tab page ' . nr)
:"
:" Open three tab pages and use ":tabdo"
:0tabnew
:1tabnew
:888tabnew
:tabdo call append(line('$'), 'this is tab page ' . tabpagenr())
:tabclose! 2
:tabrewind
:let line1 = getline('$')
:undo
:q
:tablast
:let line2 = getline('$')
:q!
:call append(line('$'), line1)
:call append(line('$'), line2)
:"
:"
:/^Results/,$w! test.out
:qa!
ENDTEST

Results:
tab page 2
this is tab page 3[32;1H[34h[?25h[?25l[36;1H:[34h[?25htablast[?25l[23m[24m[0m[H[J[1;1H[1m[4m[37m[40m + test62.in [24m[0m[1m + [No Name] [0m[7m                                                                          [0m[1;100H[1m[4m[37m[40mX[24m[0m[3;1Hthis is tab page 4
[1m[34m~                                                                                                   [5;1H~                                                                                                   [6;1H~                                                                                                   [7;1H~                                                                                                   [8;1H~                                                                                                   [9;1H~                                                                                                   [10;1H~                                                                                                   [11;1H~                                                                                                   [12;1H~                                                                                                   [13;1H~                                                                                                   [14;1H~                                                                                                   [15;1H~                                                                                                   [16;1H~                                                                                                   [17;1H~                                                                                                   [18;1H~                                                                                                   [19;1H~                                                                                                   [20;1H~                                                                                                   [21;1H~                                                                                                   [22;1H~                                                                                                   [23;1H~                                                                                                   [24;1H~                                                                                                   [25;1H~                                                                                                   [26;1H~                                                                                                   [27;1H~                                                                                                   [28;1H~                                                                                                   [29;1H~                                                                                                   [30;1H~                                                                                                   [31;1H~                                                                                                   [32;1H~                                                                                                   [33;1H~                                                                                                   [34;1H~                                                                                                   [35;1H~                                                                                                   [2;1H[34h[?25h[?25l[36;1H[0m:[34h[?25hlet line2 = getline('$')[?25l[2;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hq![?25l[23m[24m[0m[H[J[1;1HTests for tab pages

STARTTEST
:so small.vim
:" Simple test for opening and closing a tab page
:tabnew
:let nr = tabpagenr()
:q
:call append(line('$'), 'tab page ' . nr)
:"
:" Open three tab pages and use ":tabdo"
:0tabnew
:1tabnew
:888tabnew
:tabdo call append(line('$'), 'this is tab page ' . tabpagenr())
:tabclose! 2
:tabrewind
:let line1 = getline('$')
:undo
:q
:tablast
:let line2 = getline('$')
:q!
:call append(line('$'), line1)
:call append(line('$'), line2)
:"
:"
:/^Results/,$w! test.out
:qa!
ENDTEST

Results:
tab page 2
this is tab page 3
[1m[34m~                                                                                                   [31;1H[34h[?25h[?25l[36;1H[0m:[34h[?25hcall append(line('$'), line1)[?25l[35;1Hthis is tab page 1[35;19H[K[31;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hcall append(line('$'), line2)[?25l[31;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[31;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h"[?25l[31;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25h/^Results/,$w! test.out[?25l"test.out" [36;12H[K[36;12H[New File] 5 lines, 77 characters written[31;1H[34h[?25h[?25l[36;1H[K[36;1H:[34h[?25hqa![?25l[36;1H[K[36;1H[?1l>[34h[?25h[?1049lrm -rf X* test.ok viminfo

Test results:
ALL DONE
make[2]: Leaving directory `/sources/vim70/src/testdir'
make[1]: Leaving directory `/sources/vim70/src'
