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=[?25h[?25l"af.po" "af.po" 5409 lines, 133799 characters search hit BOTTOM, continuing at TOP OK [?1l>[?25h[?1049ltouch af.ck ../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq ca.po [?1049h[?1h=[?25h[?25l"ca.po" "ca.po" 4947 lines, 129501 characters search hit BOTTOM, continuing at TOP OK [?1l>[?25h[?1049ltouch ca.ck ../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq cs.po [?1049h[?1h=[?25h[?25l"cs.po" "cs.po" 4664 lines, 111009 characters search hit BOTTOM, continuing at TOP OK [?1l>[?25h[?1049ltouch cs.ck ../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq de.po [?1049h[?1h=[?25h[?25l"de.po" "de.po" 6133 lines, 157017 characters search hit BOTTOM, continuing at TOP OK [?1l>[?25h[?1049ltouch de.ck ../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq en_GB.po [?1049h[?1h=[?25h[?25l"en_GB.po" "en_GB.po" 292 lines, 8821 characters search hit BOTTOM, continuing at TOP OK [?1l>[?25h[?1049ltouch en_GB.ck ../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq es.po [?1049h[?1h=[?25h[?25l"es.po" "es.po" 5453 lines, 139991 characters search hit BOTTOM, continuing at TOP OK [?1l>[?25h[?1049ltouch es.ck ../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq fr.po [?1049h[?1h=[?25h[?25l"fr.po" "fr.po" 6543 lines, 176361 characters search hit BOTTOM, continuing at TOP OK [?1l>[?25h[?1049ltouch fr.ck ../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq ga.po [?1049h[?1h=[?25h[?25l"ga.po" "ga.po" 5626 lines, 140933 characters search hit BOTTOM, continuing at TOP OK [?1l>[?25h[?1049ltouch ga.ck ../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq it.po [?1049h[?1h=[?25h[?25l"it.po" "it.po" 6136 lines, 154029 characters search hit BOTTOM, continuing at TOP OK [?1l>[?25h[?1049ltouch it.ck ../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq ja.po [?1049h[?1h=[?25h[?25l"ja.po" "ja.po" 6097 lines, 151279 characters search hit BOTTOM, continuing at TOP OK [?1l>[?25h[?1049ltouch ja.ck ../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq ko.po [?1049h[?1h=[?25h[?25l"ko.po" "ko.po" 5154 lines, 122328 characters search hit BOTTOM, continuing at TOP OK [?1l>[?25h[?1049ltouch ko.ck ../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq no.po [?1049h[?1h=[?25h[?25l"no.po" "no.po" 5202 lines, 126100 characters search hit BOTTOM, continuing at TOP OK [?1l>[?25h[?1049ltouch no.ck ../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq pl.po [?1049h[?1h=[?25h[?25l"pl.po" "pl.po" 6119 lines, 152011 characters search hit BOTTOM, continuing at TOP OK [?1l>[?25h[?1049ltouch pl.ck ../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq ru.po [?1049h[?1h=[?25h[?25l"ru.po" "ru.po" 5237 lines, 166173 characters search hit BOTTOM, continuing at TOP OK [?1l>[?25h[?1049ltouch ru.ck ../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq sk.po [?1049h[?1h=[?25h[?25l"sk.po" "sk.po" 5837 lines, 147784 characters search hit BOTTOM, continuing at TOP OK [?1l>[?25h[?1049ltouch sk.ck ../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq sv.po [?1049h[?1h=[?25h[?25l"sv.po" "sv.po" 6063 lines, 146904 characters search hit BOTTOM, continuing at TOP OK [?1l>[?25h[?1049ltouch sv.ck ../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq uk.po [?1049h[?1h=[?25h[?25l"uk.po" "uk.po" 4926 lines, 116555 characters search hit BOTTOM, continuing at TOP OK [?1l>[?25h[?1049ltouch uk.ck ../vim -u NONE -e -S check.vim -c "if error == 0 | q | endif" -c cq vi.po [?1049h[?1h=[?25h[?25l"vi.po" "vi.po" 5214 lines, 144437 characters search hit BOTTOM, continuing at TOP OK [?1l>[?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=[?25h[?25l"zh_CN.UTF-8.po" "zh_CN.UTF-8.po" 6158 lines, 147881 characters search hit BOTTOM, continuing at TOP OK [?1l>[?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=[?25h[?25l"zh_CN.po" "zh_CN.po" 6158 lines, 136858 characters search hit BOTTOM, continuing at TOP OK [?1l>[?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=[?25h[?25l"zh_TW.UTF-8.po" "zh_TW.UTF-8.po" 5300 lines, 127697 characters search hit BOTTOM, continuing at TOP OK [?1l>[?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=[?25h[?25l"zh_TW.po" "zh_TW.po" 5293 lines, 117728 characters search hit BOTTOM, continuing at TOP OK [?1l>[?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=[?25h[?25l"cs.cp1250.po" "cs.cp1250.po" 4664 lines, 111017 characters search hit BOTTOM, continuing at TOP OK [?1l>[?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=[?25h[?25l"ja.sjis.po" "ja.sjis.po" 6097 lines, 151373 characters search hit BOTTOM, continuing at TOP OK [?1l>[?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=[?25h[?25l"pl.cp1250.po" "pl.cp1250.po" 6119 lines, 152007 characters search hit BOTTOM, continuing at TOP OK [?1l>[?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=[?25h[?25l"pl.UTF-8.po" "pl.UTF-8.po" 6119 lines, 154316 characters search hit BOTTOM, continuing at TOP OK [?1l>[?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=[?25h[?25l"ru.cp1251.po" "ru.cp1251.po" 5237 lines, 131462 characters search hit BOTTOM, continuing at TOP OK [?1l>[?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=[?25h[?25l"sk.cp1250.po" "sk.cp1250.po" 5837 lines, 147780 characters search hit BOTTOM, continuing at TOP OK [?1l>[?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=[?25h[?25l"uk.cp1251.po" "uk.cp1251.po" 4926 lines, 116555 characters search hit BOTTOM, continuing at TOP OK [?1l>[?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=[?25h[?25l"zh_CN.cp936.po" "zh_CN.cp936.po" 6158 lines, 136870 characters search hit BOTTOM, continuing at TOP OK [?1l>[?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=[?25h[?25l"test1.in" 40 lines, 1465 charactersFirst 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.viim 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^[: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! ^[: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[?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25l[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 21 lines, 661 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST:" written to skip the test. :sp another :wq! tiny.vim :qa! ENDTEST[?25h[?25l [?25h[?25l :so! Xdotest [?25h[?25l:[?25h" Write a single line to test.out to check if testing works at all. [?25l[?25h[?25l:[?25h%d [?25l~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ --No lines in buffer--[?25h[?25lthis is a test[?25h[?25l:[?25hw! test.out [?25l"test.out" [New File] 1 line, 15 characters written[?25h[?25l:[?25h" Create small.vim and tiny.vim empty, create mbyte.vim to skip the test. [?25l[?25h [?25l[?25h[?25l:[?25hw! small.vim [?25l"small.vim" [New File] 1 line, 1 character written[?25h[?25l:[?25hw! tiny.vim [?25l"tiny.vim" [New File] 1 line, 1 character written[?25h[?25le! test.ok w! test.outqa![?25h[?25l:[?25hw! mbyte.vim [?25l"mbyte.vim" [New File] 4 lines, 28 characters written[?25h[?25l:[?25h" If +multi_byte feature supported, make mbyte.vim empty. [?25l[?25h[?25l:[?25hif has("multi_byte") | sp another | w! mbyte.vim | q | endif [?25l"another" [New File] "mbyte.vim" 0 lines, 0 characters writtene! test.ok[?25h[?25l:[?25h" If +eval feature supported quit here, leaving tiny.vim and small.vim empty. [?25l[?25h[?25l:[?25h" Otherwise write small.vim to skip the test. [?25l[?25h[?25l:[?25hif 1 | q! | endif [?25l[?1l>[?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=[?25h[?25l"test2.in" 29 lines, 717 charactersThis 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("")) /^second /URL :call append(1, expand("")) :if has("ebcdic") : set isf=@,240-249,/,.,-,_,+,,,$,:,~,\ :else : set isf=@,48-57,/,.,-,_,+,,,$,:,~,\ :endif /^third /name :call append(2, expand("")) /^fourth /URL :call append(3, expand("")) 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 ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25l[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 19 lines, 336 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST[?25h [?25l:so! Xdotest [?25h[?25l:[?25hso small.vim [?25l[?25h[?25l/[?25h^first [?25lsearch hit BOTTOM, continuing at TOP[?25h[?25l/[?25htmp [?25l[?25h[?25l:[?25hcall append(0, expand("")) [?25lURL://machine.name/tmp/vimtest2a[?25h[?25l/[?25h^second [?25l[?25h[?25l/[?25hURL [?25l[?25h[?25l:[?25hcall append(1, expand("")) [?25lURL://machine.name/tmp/vimtest2b[?25h[?25l:[?25hif has("ebcdic") [?25l : [?25h: set isf=@,240-249,/,.,-,_,+,,,$,:,~,\ [?25l: [?25h:else [?25l: [?25h: set isf=@,48-57,/,.,-,_,+,,,$,:,~,\ [?25l: [?25h:endif [?25lURL://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[?25h[?25l/[?25h^third [?25l[?25h[?25l/[?25hname [?25l[?25h[?25l:[?25hcall append(2, expand("")) [?25lURL:\\machine.name\vimtest2c[?25h[?25l/[?25h^fourth [?25l[?25h[?25l/[?25hURL [?25l[?25h[?25l:[?25hcall append(3, expand("")) [?25lURL:\\machine.name\tmp\vimtest2d[?25h[?25l29 fewer lines~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hwq! test.out [?25l"test.out" [New File] 4 lines, 128 characters written [?1l>[?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=[?25h[?25l"test3.in" 1320 lines, 13734 characters/* vim: set cin ts=4 sw=4 : */ Test for 'cindent' STARTTEST :so small.vim :set nocompatible viminfo+=nviminfo :edit" read modeline /start of AUTO =/end of AUTO ENDTEST /* start of AUTO matically checked vim: set ts=4 : */ {if (test)cmd1;cmd2; } {if (test)cmd1;elsecmd2; } {if (test){cmd1;cmd2;} } {[?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25l/* vim: set cin ts=4 sw=4 : */[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 5 lines, 116 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST[?25h [?25l:so! Xdotest [?25h[?25l:[?25hso small.vim [?25l[?25h[?25l:[?25hset nocompatible viminfo+=nviminfo [?25l[?25h[?25l:[?25hedit " read modeline [?25l"test3.in"1320L, 13734Cif (test)cmd1;cmd2;if (test)cmd1;elsecmd2;if (test){cmd1;cmd2;}[?25h[?25l/[?25hstart of AUTO [?25l[?25h[?25l/[?25hend of AUTO [?25l789 lines to indent... 7500 650 550 450 350 250 150 50 lines to indent... 790 lines indented [?25h[?25l/^STARTTEST } main() { (void) MyFancyFuasdfadsfnction(argument); } main() { char foo[] = "/*"; /* asdf */ 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^[ ENDTEST { /* this is * a real serious important big * comment */ /* insert " about life, the universe, and the rest" after "serious" */ } STARTTEST :set nocin /comments[?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" 3L, 93C written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST/+-1[?25h [?25l:so! Xdotest [?25h[?25l:[?25hset tw=0 wm=60 columns=80 noai fo=croq [?25l[?25h[?25l} main() { (void) MyFancyFuasdfadsfnction(argument); } main() { char foo[] = "/*"; /* asdf */ 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^[ ENDTEST { /* this is * a real serious important big * comment */ /* insert " about life, the universe, and the rest" after "serious" */ } STARTTEST :set nocin /comments[?25h[?25l/[?25hserious/e [?25l[?25h[?25l-- INSERT --* about life, the * universe, and the * rest important big[?25h[?25l/^STARTTEST  STARTTEST[?25h[?25l :set nocin [?25h[?25l :set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" 6L, 78C written[?25h[?25l:set ff& cpo+=A [?25h[?25l /ENDTEST/+-1/comments joabout life^[/happens jothere^[/below oline^[/this Ohello^[[?25h[?25l ENDTEST [?25h[?25l :so! Xdotest [?25h[?25l:[?25hset nocin [?25l[?25h[?25l/[?25hcomments [?25l{ /** Testing for comments, without 'cin' set[?25h[?25l */[?25h[?25l -- INSERT -- about life[?25h[?25l /[?25hhappens [?25l/* * what happens here?[?25h[?25l */[?25h[?25l -- INSERT -- there[?25h[?25l /[?25hbelow [?25l/*the end of the comment, try inserting a line below */[?25h[?25l -- INSERT -- line[?25h[?25l /[?25hthis [?25l/* how aboutthis one */[?25h[?25l -- INSERT --hello[?25h[?25l this one */[?25h[?25l /^STARTTEST } STARTTEST[?25h[?25l :set cin [?25h[?25l :set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" 3L, 18C written[?25h[?25l:set ff& cpo+=A [?25h[?25l /ENDTEST/+-1/vec2 ==[?25h[?25l ENDTEST [?25h[?25l :so! Xdotest [?25h[?25l:[?25hset cin [?25l[?25h[?25l/[?25hvec2 [?25l{ var = this + that + vec[0] * vec[0]+ vec[1] * vec[1]+ vec2[2] * vec[2];[?25h[?25l }[?25h[?25l /^STARTTEST STARTTEST[?25h[?25l :set cin [?25h[?25l :set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" 5L, 51C written[?25h[?25l:set ff& cpo+=A [?25h[?25l /ENDTEST/+-1:set cino=}4 /testing1 k2==/testing2 k2==[?25h[?25l ENDTEST [?25h[?25l :so! Xdotest [?25h[?25l:[?25hset cin [?25l[?25h[?25l:[?25hset cino=}4 [?25l[?25h[?25l/[?25htesting1 [?25l{asdf asdflkajds f; if (tes & ting) {asdf asdf asdf ;asdfa sdf asdf;} testing1;[?25h [?25l /[?25htesting2 [?25lif (tes & ting) {asdf asdf asdf ;asdfa sdf asdf;} testing2;[?25h [?25l /^STARTTEST } STARTTEST[?25h[?25l :set cin [?25h[?25l :set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" 4L, 36C written[?25h[?25l:set ff& cpo+=A [?25h[?25l /ENDTEST/+-1:set cino=(0,)20 /main =][[?25h[?25l ENDTEST [?25h[?25l :so! Xdotest [?25h[?25l:[?25hset cin [?25l[?25h[?25l:[?25hset cino=(0,)20 [?25l[?25h[?25l/[?25hmain [?25lmain ( int first_par, /*[?25h[?25l 19 lines to indent... 20indented [?25h[?25l * Comment for[?25h[?25l /^STARTTEST * Comment for* second par*/) { func( first_par, /** Comment for* first par*/second_par /** Comment for* second par*/); } STARTTEST :set cin :set cino= ]]=][ ENDTEST { do {if (){if ()asdf;elseasdf;} } while ();cmd;/* this should go under the } */[?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" 3L, 26C written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST/+-1[?25h [?25l:so! Xdotest [?25h[?25l:[?25hset cin [?25l[?25h[?25l:[?25hset cino= [?25l[?25h [?25l11 lines to indent... 12indented cmd; /* this should go under the } */[?25h [?25l/^STARTTEST } STARTTEST[?25h[?25l ]]=][ [?25h[?25l :set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" 1L, 6C written[?25h[?25l:set ff& cpo+=A [?25h[?25l /ENDTEST/+-1[?25h[?25l ENDTEST[?25h[?25l :so! Xdotest [?25h[?25lvoid f() {[?25h[?25l 8 lines to indent... 9indented [?25h[?25l if ( k() ) {[?25h[?25l /^STARTTEST l();} else { /* Start (two words) end */m(); }n(); } STARTTEST[?25h[?25l :set cino={s,e-s [?25h[?25l :set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" 2L, 23C written[?25h[?25l:set ff& cpo+=A [?25h[?25l /ENDTEST/+-1 ]]=][[?25h[?25l ENDTEST [?25h[?25l :so! Xdotest [?25h[?25l:[?25hset cino={s,e-s [?25l[?25h[?25lvoid f() {[?25h[?25l 7 lines to indent... 8indented  {[?25h[?25l if ( k() )[?25h[?25l /^STARTTEST {l();} else { /* Start (two words) end */m();} n(); /* should be under the if () */ } STARTTEST[?25h[?25l :set cino={s,fs [?25h[?25l :set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" 2L, 25C written[?25h[?25l:set ff& cpo+=A [?25h[?25l /ENDTEST/+-1 ]]=/ foo[?25h[?25l ENDTEST [?25h[?25l :so! Xdotest [?25h[?25l:[?25hset cino={s,fs [?25l[?25h[?25lvoid bar(void) {[?25h[?25l /[?25h foo [?25l30 lines to indent... 31indented  {[?25h[?25l/^STARTTEST a = a + 1;}} b = a; } void func(void) { a = 1;{b = 2;} c = 3; d = 4; } /* foo */ STARTTEST :set cino= /while ohere^[ ENDTEST a() { do { a = a +a; } while ( a );/* add text under this line */ if ( a )a; } STARTTEST :set cino= com=[?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" 3L, 25C written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST/+-1[?25h [?25l:so! Xdotest [?25h[?25l:[?25hset cino= [?25l[?25h[?25l/[?25hwhile [?25l[?25h[?25l-- INSERT --here[?25h[?25l/^STARTTEST [?25h[?25l :set cino= com=[?25h[?25l :set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" 3L, 109C written[?25h[?25l:set ff& cpo+=A [?25h[?25l /ENDTEST/+-1/comment olabel2: b();^Mlabel3 /* post */:^M/* pre */ label4:^Mf(/*com*/);^Mif (/*com*/)^^Mcmd();^[[?25h[?25l ENDTEST [?25h[?25l :so! Xdotest [?25h[?25l:[?25hset cino= com= [?25l[?25h[?25l/[?25hcomment [?25la() { label1:/* hmm */// comment[?25h[?25l -- INSERT --label2: b(); label3 /* post */: /* pre */ label4:f(/*com*/);if (/*com*/)cmd();[?25h[?25l }[?25h[?25l /^STARTTEST STARTTEST[?25h[?25l :set comments& comments^=s:/*,m:**,ex:*/ [?25h[?25l :set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" 3L, 53C written[?25h[?25l:set ff& cpo+=A [?25h[?25l /ENDTEST/+-1/simple =5j[?25h[?25l ENDTEST [?25h[?25l :so! Xdotest [?25h[?25l:[?25hset comments& comments^=s:/*,m:**,ex:*/ [?25l[?25h[?25l/[?25hsimple [?25l/* * A simple comment[?25h[?25l 5 lines to indent... 6indented * A simple comment[?25h[?25l */[?25h[?25l /^STARTTEST /* ** A different comment */ STARTTEST[?25h[?25l :set cino=c0 [?25h[?25l :set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" 3L, 70C written[?25h[?25l:set ff& cpo+=A [?25h[?25l /ENDTEST/+-1:set comments& comments-=s1:/* comments^=s0:/* 2kdd]]=][[?25h[?25lENDTEST [?25h[?25l :so! Xdotest [?25h[?25l:[?25hset cino=c0 [?25l[?25h[?25l:[?25hset comments& comments-=s1:/* comments^=s0:/* [?25l[?25h[?25l void f()[?25h[?25l {[?25h[?25l 4 lines to indent... 5indented [?25h[?25l [?25h[?25l /^STARTTEST /*********A comment. *********/ } STARTTEST[?25h[?25l :set cino=c0,C1 [?25h[?25l :set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" 3L, 73C written[?25h[?25l:set ff& cpo+=A [?25h[?25l /ENDTEST/+-1:set comments& comments-=s1:/* comments^=s0:/* 2kdd]]=][[?25h[?25l ENDTEST [?25h[?25l :so! Xdotest [?25h[?25l:[?25hset cino=c0,C1 [?25l[?25h[?25l:[?25hset comments& comments-=s1:/* comments^=s0:/* [?25l[?25h[?25l2kdd]]=][ENDTEST[?25h[?25lvoid f() {[?25h[?25l 4 lines to indent... 5indented [?25h[?25l [?25h[?25l /^STARTTEST /********* A comment. *********/ } STARTTEST[?25h[?25l :set cino= [?25h[?25l :set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" 2L, 17C written[?25h[?25l:set ff& cpo+=A [?25h[?25l /ENDTEST/+-1 ]]=][[?25h[?25l ENDTEST [?25h[?25l :so! Xdotest [?25h[?25l:[?25hset cino= [?25l[?25h[?25lvoid f() {[?25h[?25l 5 lines to indent... 6indented [?25h[?25l c = c1 &&[?25h[?25l /^STARTTEST (c2 ||c3) && c4; } STARTTEST[?25h[?25l :set cino=(s [?25h[?25l :set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" 2L, 23C written[?25h[?25l:set ff& cpo+=A [?25h[?25l /ENDTEST/+-1 2kdd]]=][[?25h[?25l ENDTEST [?25h[?25l :so! Xdotest [?25h[?25l:[?25hset cino=(s [?25l[?25h[?25l2kdd]]=][ENDTEST[?25h[?25lvoid f() {[?25h[?25l 5 lines to indent... 6indented [?25h[?25l c = c1 &&[?25h[?25l /^STARTTEST (c2 ||c3) && c4; } STARTTEST[?25h[?25l :set cino=(s,U1 [?25h[?25l :set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" 2L, 28C written[?25h[?25l:set ff& cpo+=A [?25h[?25l /ENDTEST/+-1 2kdd]]=][[?25h[?25l ENDTEST [?25h[?25l :so! Xdotest [?25h[?25l:[?25hset cino=(s,U1 [?25l[?25h[?25l2kdd]]=][ENDTEST[?25h[?25lvoid f() {[?25h[?25l 5 lines to indent... 6indented [?25h[?25l c = c1 &&[?25h[?25l /^STARTTEST (c2 ||c3) && c4; } STARTTEST[?25h[?25l :set cino=(0 [?25h[?25l :set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" 2L, 23C written[?25h[?25l:set ff& cpo+=A [?25h[?25l /ENDTEST/+-1 2kdd]]=][[?25h[?25l ENDTEST [?25h[?25l :so! Xdotest [?25h[?25l:[?25hset cino=(0 [?25l[?25h[?25l2kdd]]=][ENDTEST[?25h[?25lvoid f() {[?25h[?25l 4 lines to indent... 5indented [?25h[?25l if ( c1[?25h[?25l /^STARTTEST && ( c2|| c3))foo; } STARTTEST[?25h[?25l :set cino=(0,w1 [?25h[?25l :set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" 2L, 28C written[?25h[?25l:set ff& cpo+=A [?25h[?25l /ENDTEST/+-1 2kdd]]=][[?25h[?25l ENDTEST [?25h[?25l :so! Xdotest [?25h[?25l:[?25hset cino=(0,w1 [?25l[?25h[?25l2kdd]]=][ENDTEST[?25h[?25lvoid f() {[?25h[?25l 4 lines to indent... 5indented [?25h[?25l if ( c1[?25h[?25l /^STARTTEST && ( c2|| c3))foo; } STARTTEST[?25h[?25l :set cino=(s [?25h[?25l :set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" 2L, 23C written[?25h[?25l:set ff& cpo+=A [?25h[?25l /ENDTEST/+-1 2kdd]]=][[?25h[?25l ENDTEST [?25h[?25l :so! Xdotest [?25h[?25l:[?25hset cino=(s [?25l[?25h[?25l2kdd]]=][ENDTEST[?25h[?25lvoid f() {[?25h[?25l 8 lines to indent... 9indented [?25h[?25l c = c1 && ([?25h[?25l /^STARTTEST c2 ||c3) && c4; if (c1 && c2)foo; } STARTTEST[?25h[?25l :set cino=(s,m1 [?25h[?25l :set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" 2L, 28C written[?25h[?25l:set ff& cpo+=A [?25h[?25l /ENDTEST/+-1 2kdd]]=][[?25h[?25l ENDTEST [?25h[?25l :so! Xdotest [?25h[?25l:[?25hset cino=(s,m1 [?25l[?25h[?25l2kdd]]=][ENDTEST[?25h[?25lvoid f() {[?25h[?25l 8 lines to indent... 9indented [?25h[?25l c = c1 && ([?25h[?25l /^STARTTEST c2 ||c3 ) && c4; if (c1 && c2 )foo; } STARTTEST[?25h[?25l :set cino=b1 [?25h[?25l :set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" 2L, 23C written[?25h[?25l:set ff& cpo+=A [?25h[?25l /ENDTEST/+-1 2kdd]]=][[?25h[?25l ENDTEST [?25h[?25l :so! Xdotest [?25h[?25l:[?25hset cino=b1 [?25l[?25h[?25l2kdd]]=][ENDTEST[?25h[?25lvoid f() {[?25h[?25l 9 lines to indent... 10 lines indented [?25h[?25l switch (x)[?25h[?25l /^STARTTEST {case 1:a = b;break;default:a = 0;break; } } STARTTEST[?25h[?25l :set cino=(0,W5 [?25h[?25l :set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" 2L, 26C written[?25h[?25l:set ff& cpo+=A [?25h[?25l /ENDTEST/+-1 2kdd]]=][[?25h[?25l ENDTEST [?25h[?25l :so! Xdotest [?25h[?25l:[?25hset cino=(0,W5 [?25l[?25h[?25l2kdd]]=][ENDTEST[?25h[?25lvoid f() {[?25h[?25l 10 lines to indent... 11indented [?25h[?25l invokeme([?25h[?25l /^STARTTEST argu,ment); invokeme(argu,ment); invokeme(argu,ment); } STARTTEST[?25h[?25l :set cino=/6 [?25h[?25l :set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" 2L, 23C written[?25h[?25l:set ff& cpo+=A [?25h[?25l /ENDTEST/+-1 2kdd]]=][[?25h[?25l ENDTEST [?25h[?25l :so! Xdotest [?25h[?25l:[?25hset cino=/6 [?25l[?25h[?25l2kdd]]=][ENDTEST[?25h[?25lvoid f() {[?25h[?25l 3 lines to indent... 4indented [?25h[?25l statement;[?25h[?25l /^STARTTEST // comment 1// comment 2 } STARTTEST[?25h[?25l :set cino= [?25h[?25l :set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" 3L, 34C written[?25h[?25l:set ff& cpo+=A [?25h[?25l /ENDTEST/+-12kdd]]/comment 1/+1 ==[?25h[?25l ENDTEST [?25h[?25l :so! Xdotest [?25h[?25l:[?25hset cino= [?25l[?25h[?25l==ENDTEST[?25h[?25lvoid f() {[?25h[?25l /[?25hcomment 1/+1 [?25lstatement;// comment 1 // comment 2[?25h[?25l // comment 2[?25h[?25l }[?25h[?25l /^STARTTEST STARTTEST[?25h[?25l :set cino=g0 [?25h[?25l :set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" 2L, 23C written[?25h[?25l:set ff& cpo+=A [?25h[?25l /ENDTEST/+-1 2kdd]]=][[?25h[?25l ENDTEST [?25h[?25l :so! Xdotest [?25h[?25l:[?25hset cino=g0 [?25l[?25h[?25l2kdd]]=][ENDTEST[?25h[?25lclass CAbc {[?25h[?25l 6 lines to indent... 7indented [?25h[?25l int Test() { return FALSE; }[?25h[?25l /^STARTTEST public: // comment void testfall(); protected: void testfall(); }; STARTTEST[?25h[?25l :set cino=+20 [?25h[?25l :set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" 2L, 24C written[?25h[?25l:set ff& cpo+=A [?25h[?25l /ENDTEST/+-1 2kdd]]=][[?25h[?25l ENDTEST [?25h[?25l :so! Xdotest [?25h[?25l:[?25hset cino=+20 [?25l[?25h[?25l2kdd]]=][ENDTEST[?25h[?25lvoid foo() {[?25h[?25l 4 lines to indent... 5indented [?25h[?25l if (a)[?25h[?25l /^STARTTEST { } elseasdf; } STARTTEST[?25h[?25l :set cino=(0,W2s [?25h[?25l :set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" 2L, 27C written[?25h[?25l:set ff& cpo+=A [?25h[?25l /ENDTEST/+-1 2kdd]]=][[?25h[?25l ENDTEST [?25h[?25l :so! Xdotest [?25h[?25l:[?25hset cino=(0,W2s [?25l[?25h[?25l2kdd]]=][ENDTEST[?25h[?25l {[?25h[?25l 34 lines to indent... 35indented [?25h[?25l averylongfunctionnamelongfunctionnameaverylongfunctionname()->asd([?25h[?25l /^STARTTEST asdfasdf),asdasdf);averylongfunctionnameaverylongfunctionnameavery()->asd(fasdf(abc,dec)->asdfasdfasdf(asdfadsf,asdfasdf,asdfasdf,),func(asdfadf,asdfasdf),asdasdf); } STARTTEST :set cino=M1 2kdd]]=][ ENDTEST int main () { if (cond1 &&cond2)foo; } STARTTEST :g/^STARTTEST/.,/^ENDTEST/d :1;/start of AUTO/,$wq! test.out ENDTEST[?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" 2L, 23C written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST/+-1[?25h [?25l:so! Xdotest [?25h[?25l:[?25hset cino=M1 [?25l[?25h[?25l ~ [?25h[?25l4 lines to indent... 5indented [?25h [?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" 2L, 61C written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST/+-1[?25h [?25l:so! Xdotest [?25h[?25l:[?25hg/^STARTTEST/.,/^ENDTEST/d [?25l128 fewer linesaverylongfunctionname( abc, dec)->averylongfunctionname( asdfadsf,asdfasdf, asdfasdf, ),func(asdfadf,asdfasdf),asdasdf);averylongfunctionnameaverylongfunctionnameavery()->asd(fasdf( abc, dec)->asdfasdfasdf( asdfadsf,asdfasdf, asdfasdf, ), func(asdfadf,asdfasdf), asdasdf ); }int main (){ if (cond1 && cond2 ) foo;}[?25h[?25l:[?25h1;/start of AUTO/,$wq! test.out [?25l"test.out" [New] 1185L, 11362C written [?1l>[?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=[?25h[?25l"test4.in" 31 lines, 839 charactersTest 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" split to Xxx, autocmd will do :brew G?this is a othis should be auto-indented^[ :" Append text with autoindent to this file :au! BufEnter Xxx :buf Xxx" go to Xxx, no autocmd anymore G?this is a othis should be in column 1^[:wq " append text without autoindent to Xxx G:r Xxx" include Xxx in the current file :?startstart?,$w! test.out :qa! ENDTEST startstart start of test file Xxx vim: set noai :this is a testthis is a testthis is a testthis is a test end of test file Xxx ~ ~ ~ ~ [?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25lTest for autocommand that changes current buffer on BufEnter event.[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 17 lines, 557 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST[?25h [?25l:so! Xdotest [?25h[?25l:[?25hso small.vim [?25l[?25h[?25l:[?25hset nocompatible viminfo+=nviminfo [?25l[?25h[?25l:[?25hau BufEnter Xxx brew [?25l[?25h[?25l/[?25hstart of [?25l[?25h[?25l:[?25h.,/end of/w! Xxx " write test file Xxx [?25l"Xxx" [New] 7L, 124C written[?25h[?25l:[?25hset ai modeline modelines=3 [?25l[?25h[?25l:[?25hsp Xxx " split to Xxx, autocmd will do :brew [?25l"Xxx" 7L, 124C:au! BufEnter Xxx:buf Xxx " go to Xxx, no autocmd anymoreG?this is a othis should be in column 1^[:wq " append text without autoindent to Xxx G:r Xxx " include Xxx in the current file :?startstart?,$w! test.outqa!ENDTESTstartstartstart of test file Xxxvim: set noai : this is a test this is a test this is a test this is a testend of test file Xxx test4.in : Append text with autoindent to this file :au! BufEnter Xxxbuf Xxx" go to Xxx, no autocmd anymore G?this is a othis should be in column 1^[:wq " append text without autoindent to Xxx G:r Xxx " include Xxx in the current file :?startstart?,$w! test.out :qa!ENDTESTstartstartstart of test file Xxx vim: set noai : this is a test this is a test this is a testtest4.in test4.in" line 25 of 31 --80%-- col 1[?25h[?25l?[?25hthis is a [?25l[?25h[?25l-- INSERT -- this should be auto-indented[+][+][?25h[?25l end of test file Xxx[?25h[?25l:[?25h " Append text with autoindent to this file [?25l[?25h[?25l:[?25hau! BufEnter Xxx [?25l[?25h[?25l:[?25hbuf Xxx " go to Xxx, no autocmd anymore [?25l"Xxx" 7L, 124Cstart of test file Xxxvim: set noai : this is a test this is a test this is a this is a test end of test file Xxx ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Xxx [?25h[?25l?[?25hthis is a [?25l[?25h[?25l-- INSERT --this should be in column 1[+][?25h[?25l:[?25hwq " append text without autoindent to Xxx [?25l"Xxx8L, 151C writtenTest 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 " split to Xxx, autocmd will do :brewG?this is aothis should be auto-indented^[: " Append text with autoindent to this file:au! BufEnter Xxx:buf Xxx " go to Xxx, no autocmd anymoreG?this is aothis should be in column 1^[:wq " append text without autoindent to XxxG:r Xxxinclude Xxx in the current file?startstart?,$w! test.out :qa!ENDTESTstartstartstart of test file Xxxvim: set noai : this is a testthis is a test this is a test this is a test this should be auto-indented end of test file Xxx~ ~ ~ [?25h[?25l:[?25hr Xxx " include Xxx in the current file [?25l"Xxx" 8L, 151Cstart of test file Xxxvim: set noai : this is a test[?25h[?25l:[?25h?startstart?,$w! test.out [?25l"test.out" [New] 17L, 316C written[?25h[?25l:[?25hqa! [?25l[?1l>[?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=[?25h[?25l"test5.in" 29 lines, 949 charactersTest 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" write test file Xxx :sp Xxx" split to Xxx :bwipe" delete buffer Xxx, now we're back here G?this is a othis is some more text^[ :" Append some text to this file :?start?,$w! test.out" Write current file contents :bwipe test.out" delete alternate buffer :au bufleave test5.in bwipe :bwipe!" delete current buffer, get an empty one ithis is another test line^[:w >>test.out :" append an extra line to the output file :qa! ENDTEST start of test file Xxx vim: set noai :this is a testthis is a testthis is a testthis is a test end of test file Xxx ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25lTest for autocommand that deletes the current buffer on BufLeave event.[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 16 lines, 664 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST[?25h [?25l:so! Xdotest [?25h[?25l:[?25hso small.vim [?25l[?25h[?25l:[?25hau BufLeave Xxx bwipe [?25l[?25h[?25l/[?25hstart of [?25l[?25h[?25l:[?25h.,/end of/w! Xxx " write test file Xxx [?25l"Xxx" [New File] 7 lines, 124 characters written[?25h[?25l:[?25hsp Xxx " split to Xxx [?25l"Xxx" 7 lines, 124 charactersstart of test file Xxxvim: set noai :this is a test this is a test this is a test this is a test end of test file Xxx ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Xxx Append some text to this file?start?,$w! test.out" Write current file contents :bwipe test.out" delete alternate buffer :au bufleave test5.in bwipe :bwipe! " delete current buffer, get an empty one ithis is another test line^[:w >>test.out : " append an extra line to the output file :qa!ENDTESTstart of test file Xxx vim: set noai : this is a test this is a test this is a test this is a testtest5.in [?25h[?25l:[?25hbwipe " delete buffer Xxx, now we're back here [?25lTest 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 " write test file Xxx:sp Xxx " split to Xxx:bwipe " delete buffer Xxx, now we're back hereG?this is aothis is some more text^[: " Append some text to this file:?start?,$w! test.out " Write current file contents:bwipe test.out " delete alternate buffer:au bufleave test5.in bwipe:bwipe! " delete current buffer, get an empty oneithis is another test line^[:w >>test.outappend an extra line to the output file :qa!ENDTESTstart of test file Xxxvim: set noai : this is a test this is a test this is a testthis is a test end of test file Xxx~ ~ ~ ~ ~ ~ [?25h[?25l?[?25hthis is a [?25l[?25h[?25lthis is some more text[?25h[?25l:[?25h " Append some text to this file [?25l[?25h[?25l:[?25h?start?,$w! test.out " Write current file contents [?25l"test.out" [New File] 8 lines, 147 characters written[?25h[?25l:[?25hbwipe test.out " delete alternate buffer [?25l[?25h[?25l:[?25hau bufleave test5.in bwipe [?25l[?25h[?25l:[?25hbwipe! " delete current buffer, get an empty one [?25lError detected while processing BufLeave Auto commands for "test5.in": E89: No write since last change for buffer 1 (add ! to override) Press ENTER or type command to continue[?25h[?25l~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25lthis is another test line[?25h[?25l:[?25hw >>test.out [?25l"test.out" 1 line, 26 characters appended[?25h[?25l:[?25h " append an extra line to the output file [?25l[?25h[?25l:[?25hqa! [?25l[?1l>[?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=[?25h[?25l"test6.in" 24 lines, 739 charactersTest for autocommand that redefines the argument list, when doing ":all". STARTTEST :so small.vim :au BufReadPost Xxx2 next Xxx2 Xxx1 /^start of A1^[:.,/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" open window for all args :w! test.out" Write contents of Xxx1 ^W^W^W^W:w >>test.out " Append contents of last window (Xxx1) :rew" should now be in Xxx2 :w >>test.out" Append contents of Xxx2 :qa! ENDTEST start of test file Xxxthis is a testthis is a testthis is a testthis is a test end of test file Xxx ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25lTest for autocommand that redefines the argument list, when doing ":all".[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 13 lines, 537 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST[?25h [?25l:so! Xdotest [?25h[?25l:[?25hso small.vim [?25l[?25h[?25l:[?25hau BufReadPost Xxx2 next Xxx2 Xxx1 [?25l[?25h[?25l/[?25h^start of [?25l[?25h[?25l1[?25h[?25l:[?25h.,/end of/w! Xxx1 " write test file Xxx1 [?25l"Xxx1" [New File] 6 lines, 109 characters written[?25h[?25l2[?25h[?25l:[?25h.,/end of/w! Xxx2 " write test file Xxx2 [?25l"Xxx2" [New File] 6 lines, 109 characters written[?25h[?25l3[?25h[?25l:[?25h.,/end of/w! Xxx3 " write test file Xxx3 [?25l"Xxx3" [New File] 6 lines, 109 characters written[?25h[?25l:[?25hnext! Xxx1 Xxx2 Xxx3 " redefine arglist; go to Xxx1 [?25l"Xxx1"6 lines, 109 charactersstart of test file Xxx1this is a test this is a test this is a test this is a testend of test file Xxx ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hall " open window for all args [?25l"Xxx2"6 lines, 109 characters "Xxx2" 6 lines, 109 characters Press ENTER or type command to continue[?25h[?25l:[?25hw! test.out " Write contents of Xxx1 [?25l"test.out" [New File] 6 lines, 109 characters written Press ENTER or type command to continue[?25h[?25lstart of test file Xxx1this is a testthis is a testXxx1 start of test file Xxx2 this is a test this is a test this is a test this is a testend of test file XxxXxx2 [?25hXxx1 Xxx2 Xxx1 Xxx2 [?25l:[?25hw >>test.out " Append contents of last window (Xxx1) [?25l"test.out" 6 lines, 109 characters appended[?25h[?25l:[?25hrew " should now be in Xxx2 [?25l"Xxx2" line 1 of 6 --16%-- col 1 (file 1 of 2)22[?25h[?25l:[?25hw >>test.out " Append contents of Xxx2 [?25l"test.out" 6 lines, 109 characters appended[?25h[?25l:[?25hqa! [?25l[?1l>[?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=[?25h[?25l"test7.in" 26 lines, 675 charactersTest for autocommand that changes the buffer list, when doing ":ball". STARTTEST :so small.vim /^start of A1^[:.,/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" open window for all args, close Xxx2 :.,$w! test.out" Write contents of this file ^W^W:w >>test.out" Append contents of second window (Xxx1) ^W^W:/^start of/,$w >>test.out " Append contents of last window (this file) :qa! ENDTEST start of test file Xxxthis is a testthis is a test end of test file Xxx ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25lTest for autocommand that changes the buffer list, when doing ":ball".[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 17 lines, 508 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST[?25h [?25l:so! Xdotest [?25h[?25l:[?25hso small.vim [?25l[?25h[?25l/[?25h^start of [?25l[?25h[?25l1[?25h[?25l:[?25h.,/end of/w! Xxx1 " write test file Xxx1 [?25l"Xxx1" [New File] 4 lines, 77 characters written[?25h[?25l:[?25hsp Xxx1 [?25l"Xxx1" 4 lines, 77 charactersstart of test file Xxx1this is a test this is a test end of test file Xxx ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Xxx1 :close$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 ^W^W:w >>test.out " Append contents of second window (Xxx1) ^W^W:/^start of/,$w >>test.out " Append contents of last window (this file):qa!ENDTESTstart of test file Xxx1 this is a test this is a testend of test file Xxxtest7.in [+] [?25h[?25l:[?25hclose [?25lTest for autocommand that changes the buffer list, when doing ":ball".STARTTEST:so small.vim/^start ofA1^[:.,/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 " open window for all args, close Xxx2:.,$w! test.out " Write contents of this file^W^W:w >>test.out " Append contents of second window (Xxx1)^W^W:/^start of/,$w >>test.out " Append contents of last window (this file) :qa!ENDTESTstart of test file Xxx1 this is a test this is a testend of test file Xxx~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l2[?25h[?25l:[?25h.,/end of/w! Xxx2 " write test file Xxx2 [?25l"Xxx2" [New File] 4 lines, 77 characters written[?25h[?25l:[?25hsp Xxx2 [?25l"Xxx2" 4 lines, 77 charactersstart of test file Xxx2this is a test this is a test end of test file Xxx ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Xxx2 :close$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 ^W^W:w >>test.out " Append contents of second window (Xxx1) ^W^W:/^start of/,$w >>test.out " Append contents of last window (this file):qa!ENDTESTstart of test file Xxx2 this is a test this is a testend of test file Xxxtest7.in [+] [?25h[?25l:[?25hclose [?25lTest for autocommand that changes the buffer list, when doing ":ball".STARTTEST:so small.vim/^start ofA1^[:.,/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 " open window for all args, close Xxx2:.,$w! test.out " Write contents of this file^W^W:w >>test.out " Append contents of second window (Xxx1)^W^W:/^start of/,$w >>test.out " Append contents of last window (this file) :qa!ENDTESTstart of test file Xxx2 this is a test this is a testend of test file Xxx~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l3[?25h[?25l:[?25h.,/end of/w! Xxx3 " write test file Xxx3 [?25l"Xxx3" [New File] 4 lines, 77 characters written[?25h[?25l:[?25hsp Xxx3 [?25l"Xxx3" 4 lines, 77 charactersstart of test file Xxx3this is a test this is a test end of test file Xxx ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Xxx3 :close$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 ^W^W:w >>test.out " Append contents of second window (Xxx1) ^W^W:/^start of/,$w >>test.out " Append contents of last window (this file):qa!ENDTESTstart of test file Xxx3 this is a test this is a testend of test file Xxxtest7.in [+] [?25h[?25l:[?25hclose [?25lTest for autocommand that changes the buffer list, when doing ":ball".STARTTEST:so small.vim/^start ofA1^[:.,/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 " open window for all args, close Xxx2:.,$w! test.out " Write contents of this file^W^W:w >>test.out " Append contents of second window (Xxx1)^W^W:/^start of/,$w >>test.out " Append contents of last window (this file) :qa!ENDTESTstart of test file Xxx3 this is a test this is a testend of test file Xxx~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hau BufReadPost Xxx2 bwipe [?25l[?25h[?25l4[?25h[?25l:[?25hball " open window for all args, close Xxx2 [?25l"Xxx1"4 lines, 77 characters "Xxx2" 4 lines, 77 characters Press ENTER or type command to continue[?25h[?25l:[?25h.,$w! test.out " Write contents of this file [?25l"test.out" [New File] 4 lines, 77 characters written Press ENTER or type command to continue[?25h[?25l:close $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 ^W^W:w >>test.out" Append contents of second window (Xxx1) ^W^W:/^start of/,$w >>test.out " Append contents of last window (this file) :qa! ENDTEST start of test file Xxx4this is a testthis is a test end of test file Xxx test7.in [+] start of test file Xxx1this is a testthis is a test end of test file Xxx ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Xxx1 [?25htest7.in [+] Xxx1 [?25l:[?25hw >>test.out " Append contents of second window (Xxx1) [?25l"test.out" 4 lines, 77 characters appended[?25htest7.in [+] Xxx1 [?25l:[?25h/^start of/,$w >>test.out " Append contents of last window (this file) [?25lsearch hit BOTTOM, continuing at TOP"test.out" 4 lines, 77 characters appended[?25h[?25l:[?25hqa! [?25l[?1l>[?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=[?25h[?25l"test8.in" 24 lines, 797 charactersTest for BufWritePre autocommand that deletes or unloads the buffer. STARTTEST :so small.vim :au BufWritePre Xxx1 bunload :au BufWritePre Xxx2 bwipe /^start of A1^[:.,/end of/w! Xxx1 " write test file Xxx1 $r2:.,/end of/w! Xxx2 " write test file Xxx2 :e! Xxx2" edit Xxx2 :bdel test8.in" delete this file from the buffer list :e Xxx1" edit Xxx1 :w" write it, will unload it and give an error msg :w! test.out" Write contents of this file :e! Xxx2" start editing Xxx2 :bwipe test.out" remove test.out from the buffer list :w" write it, will delete the buffer and give an error msg :w >>test.out" Append contents of this file :qa! ENDTEST start of Xxxtest end of Xxx ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25lTest for BufWritePre autocommand that deletes or unloads the buffer.[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 16 lines, 678 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST[?25h [?25l:so! Xdotest [?25h[?25l:[?25hso small.vim [?25l[?25h[?25l:[?25hau BufWritePre Xxx1 bunload [?25l[?25h[?25l:[?25hau BufWritePre Xxx2 bwipe [?25l[?25h[?25l/[?25h^start of [?25l[?25h[?25l1[?25h[?25l:[?25h.,/end of/w! Xxx1 " write test file Xxx1 [?25l"Xxx1" [New File] 3 lines, 31 characters written[?25h[?25l2[?25h[?25l:[?25h.,/end of/w! Xxx2 " write test file Xxx2 [?25l"Xxx2" [New File] 3 lines, 31 characters written[?25h[?25l:[?25he! Xxx2 " edit Xxx2 [?25l"Xxx2" 3 lines, 31 charactersstart of Xxx2test end of Xxx ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hbdel test8.in^I^I" delete this file from the buffer list [?25l[?25h[?25l:[?25he Xxx1 " edit Xxx1 [?25l"Xxx1" 3 lines, 31 characters1 [?25h[?25l:[?25hw " write it, will unload it and give an error msg [?25l"Xxx2"3 lines, 31 characters E203: Autocommands deleted or unloaded buffer to be written Press ENTER or type command to continue[?25h[?25l:[?25hw! test.out " Write contents of this file [?25l"test.out" [New File] 3 lines, 31 characters written Press ENTER or type command to continue[?25h[?25l:[?25he! Xxx2 " start editing Xxx2 [?25l"Xxx2" 3 lines, 31 charactersstart of Xxx2test end of Xxx"Xxx2" 3 lines, 31 characters[?25h[?25l:[?25hbwipe test.out " remove test.out from the buffer list [?25l[?25h[?25l:[?25hw " write it, will delete the buffer and give an error msg [?25l"Xxx1"3 lines, 31 characters E203: Autocommands deleted or unloaded buffer to be written Press ENTER or type command to continue[?25h[?25l:[?25hw >>test.out " Append contents of this file [?25l"test.out" 3 lines, 31 characters appended Press ENTER or type command to continue[?25h[?25l:[?25hqa! [?25l[?1l>[?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=[?25h[?25l"test9.in" 12 lines, 255 charactersTest 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 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25lTest for Bufleave autocommand that deletes the buffer we are about to edit.[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 5 lines, 117 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST[?25h [?25l:so! Xdotest [?25h[?25l:[?25hso small.vim [?25l[?25h[?25l:[?25hau BufLeave test9.in bwipe yy [?25l[?25h[?25l:[?25he yy [?25lE143: Autocommands unexpectedly deleted new buffer yy[?25h[?25l:[?25h/^start of/,$w! test.out " Write contents of this file [?25l"test.out" [New File] 2 lines, 42 characters written[?25h[?25l:[?25hqa! [?25l[?1l>[?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=[?25h[?25l"test10.in" 57 lines, 1624 charactersTest 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" 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[?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25lTest for 'errorformat'. This will fail if the quickfix feature was disabled.[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 15 lines, 225 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST[?25h [?25l:so! Xdotest [?25h[?25l:[?25hso small.vim [?25l[?25h[?25l:[?25h/start of errorfile/,/end of errorfile/w! Xerrorfile [?25l"Xerrorfile" [New File] 13 lines, 447 characters written[?25h[?25l:[?25h/start of testfile/,/end of testfile/w! Xtestfile [?25l"Xtestfile" [New File] 23 lines, 853 characters written[?25h[?25l:[?25hcf Xerrorfile [?25l"Xtestfile" 23 lines, 853 characters (2 of 13): 1506-045 (S) Undeclared identifier fd_set. Press ENTER or type command to continue[?25h[?25lstart of testfile line 2 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 4 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxline 6 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxline 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 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxline 18 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 19 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 20 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 21 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 22 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxend of testfile~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25lA[?25h[?25l:[?25hcn [?25l(3 of 13): this is an error[?25h[?25lB[?25h[?25l:[?25hcn [?25l(5 of 13): parse error before `asd'[?25h[?25lC[?25h [?25l:[?25hcn [?25l(7 of 13): there is an error[?25h[?25lD[?25h [?25l:[?25hcn [?25l(10 of 13): yet another problem[?25h[?25lE[?25h [?25l:[?25hw! test.out " Write contents of this file [?25l"test.out" [New File] 23 lines, 853 characters written[?25h[?25l:[?25hqa! [?25l[?1l>[?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=[?25h[?25l"test11.in" 78 lines, 3040 charactersTests for autocommands: - FileWritePrewriting a compressed file - FileReadPostreading a compressed file - BufNewFilereading a file template - BufReadPredecompressing the file to be read - FilterReadPresubstituting characters in the temp file - FilterReadPostsubstituting characters after filtering - FileReadPreset options for decompression - FileReadPostdecompress 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" 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" Will load Xtest.c :au FileAppendPre *.out '[,']s/new/NEW/ :au FileAppendPost *.out !cat Xtest.c >>test.out :w>>test.out" Append it to the output file :au! FileAppendPre :" setup autocommands to decompress before reading and re-compress afterwards :au BufReadPre *.gz !gzip -d [?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25lTests for autocommands:[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 42 lines, 1973 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST:au FilterReadPre *.out call rename(expand(""), expand("").".t") :au FilterReadPre *.out !sed s/e/E/ .t > :au FilterReadPre *.out !rm .t :au FilterReadPost *.out '[,']s/x/X/g :e! test.out" Edit the output file :23,$!cat :23,$s/\r$//" remove CR for when sed adds them :au! FileReadPre *.gz !gzip -d :au FileReadPre *.gz call rename(expand(":r"), expand("")) :au! FileReadPost *.gz '[,']s/l/L/ :$r Xtestfile.gz" Read compressed file :w" write it, after filtering :au!" remove all autocommands :e" 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[?25h [?25l:so! Xdotest [?25h[?25l:[?25hso small.vim [?25l[?25h[?25l:[?25hlet $GZIP = "" [?25l[?25h[?25l:[?25hau FileChangedShell * echo "caught FileChangedShell" [?25l[?25h[?25l:[?25hset bin [?25l[?25h[?25l:[?25hau FileWritePre *.gz '[,']!gzip [?25l[?25h[?25l:[?25hau FileWritePost *.gz undo [?25l[?25h[?25l:[?25h/^start of testfile/,/^end of testfile/w! Xtestfile.gz [?25l[?25h[?25l11 lines filtered "Xtestfile.gz" [New File][Incomplete last line] 1 line, 111 characters written 10 more lines; before #1 0 seconds ago Press ENTER or type command to continue[?25h[?25l:[?25hau FileReadPost *.gz '[,']!gzip -d [?25l:au FilterReadPre *.out call rename(expand(""), expand("").".t") :au FilterReadPre *.out !sed s/e/E/ .t > :au FilterReadPre *.out !rm .t[?25h[?25l:[?25h$r Xtestfile.gz " Read and decompress the testfile [?25l"Xtestfile.gz" [Incomplete last line] 1 line, 111 characters [?25h[?25l*/ end of test.c start of testfile[?25h[?25l :[?25h?startstart?,$w! test.out " Write contents of this file [?25l"test.out" [New File] 29 lines, 788 characters written[?25h[?25l:[?25hau BufNewFile *.c read Xtest.c [?25l[?25h[?25l:[?25h/^start of test.c/+1,/^end of test.c/-1w! Xtest.c [?25lsearch hit BOTTOM, continuing at TOP"Xtest.c" [New File] 3 lines, 32 characters written[?25h[?25l:[?25he! foo.c " Will load Xtest.c [?25l"foo.c" [New File] "Xtest.c" 3 lines, 32 characters Press ENTER or type command to continue[?25h[?25l:[?25hau FileAppendPre *.out '[,']s/new/NEW/ [?25l/* * Here is a new .c file */~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hau FileAppendPost *.out !cat Xtest.c >>test.out [?25l[?25h[?25l:[?25hw>>test.out " Append it to the output file [?25l"test.out" 4 lines, 33 characters appended :!cat Xtest.c >>test.out [?25h Press ENTER or type command to continue[?25l:[?25hau! FileAppendPre [?25l/* * Here is a NEW .c file */ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25h" setup autocommands to decompress before reading and re-compress afterwards [?25l[?25h[?25l:[?25hau BufReadPre *.gz !gzip -d [?25l[?25h[?25l:[?25hau BufReadPre *.gz call rename(expand(":r"), expand("")) [?25l[?25h[?25l:[?25hau BufReadPost *.gz call rename(expand(""), expand(":r")) [?25l[?25h[?25l:[?25hau BufReadPost *.gz !gzip :r [?25l[?25h[?25l:[?25he! Xtestfile.gz " Edit compressed file [?25l:!gzip -d Xtestfile.gz [?25h[?25l"Xtestfile.gz""Xtestfile.gz" 11 lines, 357 characters:!gzip Xtestfile [?25h Press ENTER or type command to continue[?25l:[?25hw>>test.out " Append it to the output file [?25l"test.out" 11 lines, 357 characters appended :!cat Xtest.c >>test.out [?25h Press ENTER or type command to continue[?25l:[?25hset shelltemp " need temp files here [?25lstart 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 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hau FilterReadPre *.out call rename(expand(""), expand("").".t") [?25l[?25h[?25l:[?25hau FilterReadPre *.out !sed s/e/E/ .t > [?25l[?25h[?25l:[?25hau FilterReadPre *.out !rm .t [?25l[?25h[?25l:[?25hau FilterReadPost *.out '[,']s/x/X/g [?25l[?25h[?25l:[?25he! test.out " Edit the output file [?25l"test.out" 50 lines, 1242 charactersstarstart of testfile2 Abcdefghijklmnopqrstuvwxyz3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx4 Abcdefghijklmnopqrstuvwxyz5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx6 Abcdefghijklmnopqrstuvwxyz7 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx8 Abcdefghijklmnopqrstuvwxyz9 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 10 Abcdefghijklmnopqrstuvwxyz end of testfilestart of test.c/* * Here is a new .c file */end of test.cstart of testfileline 2 Abcdefghijklmnopqrstuvwxyzline 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxline 4 Abcdefghijklmnopqrstuvwxyzline 5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxline 6 Abcdefghijklmnopqrstuvwxyzline 7 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxline 8 Abcdefghijklmnopqrstuvwxyzline 9 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxline 10 Abcdefghijklmnopqrstuvwxyzend of testfile/* * Here is a NEW .c file *//* * Here is a new .c file[?25h[?25l:[?25h23,$!cat [?25l[?25h[?25l:!sed s/e/E/ /tmp/v101266/1.t >/tmp/v101266/1 [?25h[?25l:!rm /tmp/v101266/1.t [?25h[?25l218 substitutions on 15 lines 28 lines filtered Press ENTER or type command to continue[?25h[?25l:[?25h23,$s/\r$// " remove CR for when sed adds them [?25lE486: Pattern not found: \r$ Press ENTER or type command to continue[?25h[?25l:[?25hau! FileReadPre *.gz !gzip -d [?25lstartstart 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[?25h[?25l:[?25hau FileReadPre *.gz call rename(expand(":r"), expand("")) [?25l[?25h[?25l:[?25hau! FileReadPost *.gz '[,']s/l/L/ [?25l[?25h[?25l:[?25h$r Xtestfile.gz " Read compressed file [?25l:!gzip -d Xtestfile.gz [?25h[?25l"Xtestfile.gz""Xtestfile.gz" 11 lines, 357 characters11 substitutions on 11 lines Press ENTER or type command to continue[?25h[?25l:[?25hw " write it, after filtering [?25l"test.out"61 lines, 1599 characters written Press ENTER or type command to continue[?25h[?25l:[?25hau! " remove all autocommands [?25lE216: No such group or event: " remove all autocommands Press ENTER or type command to continue[?25h[?25l:[?25he " Edit test.out again [?25l"test.out"61 lines, 1599 charactersstartstart 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[?25h[?25l:[?25hset nobin ff& " use the default fileformat for writing [?25l[?25h[?25l:[?25hw [?25l"test.out" 61 lines, 1599 characters written[?25h[?25l:[?25hqa! [?25l[?1l>[?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=[?25h[?25l"test12.in" 52 lines, 1199 charactersTests 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[?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25lTests for 'directory' option.[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 40 lines, 965 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST:!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[?25h[?25l [?25h[?25l :so! Xdotest [?25h[?25l:[?25hso small.vim [?25l[?25h[?25l:[?25hset nocompatible viminfo+=nviminfo [?25l[?25h[?25l:[?25hset dir=.,~ [?25l[?25h[?25l:[?25h/start of testfile/,/end of testfile/w! Xtest1 [?25l"Xtest1" [New] 4L, 70C written[?25h[?25l:[?25h" do an ls of the current dir to find the swap file (should not be there) [?25l[?25h[?25l:[?25hif has("unix") [?25l : [?25h: !ls .X*.swp >test.out [?25l:!ls .X*.swp >test.out[?1l>[?25h[?1049l ls: .X*.swp: No such file or directory shell returned 2 Press ENTER or type command to continue[?1049h[?1h= [?25l: :[?25helse [?25l: [?25h: r !ls X*.swp >test.out [?25l: [?25h:endif [?25l:[?25h!echo first line >>test.out [?25l[?1l>[?25h[?1049l Press ENTER or type command to continue[?1049h[?1h=[?25l:[?25he Xtest1 [?25l"Xtest1" 4L, 70Cstart of testfile line 2 Abcdefghij line 3 Abcdefghij end of testfile ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ "Xtest1" 4L, 70C[?25h[?25l:[?25hif has("unix") [?25l : [?25h:" Do an ls of the current dir to find the swap file, remove the leading dot [?25l: [?25h:" to make the result the same for all systems. [?25l: [?25h: r!ls .X*.swp  [?25l: [?25h: s/\.*X/X/ [?25l: [?25h: .w >>test.out [?25l"test.out" 1L, 11C appended : [?25h: undo [?25l1 line less; before #1 0 seconds ago : [?25h:else [?25l: [?25h: !ls X*.swp >>test.out [?25l: [?25h:endif [?25lstart of testfile line 2 Abcdefghij line 3 Abcdefghij end of testfile ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25h!echo under Xtest1.swp >>test.out [?25l[?1l>[?25h[?1049l Press ENTER or type command to continue[?1049h[?1h=[?25l:[?25h!mkdir Xtest2 [?25l[?1l>[?25h[?1049l Press ENTER or type command to continue[?1049h[?1h=[?25l:[?25hset dir=./Xtest2,.,~ [?25lstart of testfile line 2 Abcdefghij line 3 Abcdefghij end of testfile ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25he Xtest1 [?25l"Xtest1" 4L, 70C[?25h[?25l:[?25h!ls X*.swp >>test.out [?25l[?1l>[?25h[?1049l ls: X*.swp: No such file or directory shell returned 2 Press ENTER or type command to continue[?1049h[?1h=[?25l:[?25h!echo under under >>test.out [?25l[?1l>[?25h[?1049l Press ENTER or type command to continue[?1049h[?1h=[?25l:[?25h!ls Xtest2 >>test.out [?25l[?1l>[?25h[?1049l Press ENTER or type command to continue[?1049h[?1h=[?25l:[?25h!echo under Xtest1.swp >>test.out [?25l[?1l>[?25h[?1049l Press ENTER or type command to continue[?1049h[?1h=[?25l:[?25h!mkdir Xtest.je [?25l[?1l>[?25h[?1049l Press ENTER or type command to continue[?1049h[?1h=[?25l:[?25h/start of testfile/,/end of testfile/w! Xtest2/Xtest3 [?25lsearch hit BOTTOM, continuing at TOP"Xtest2/Xtest3" [New] 4L, 70C writtenstart of testfile line 2 Abcdefghij line 3 Abcdefghij end of testfile ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ "Xtest2/Xtest3" [New] 4L, 70C written[?25h[?25l:[?25hset dir=Xtest.je,~ [?25l[?25h[?25l:[?25he Xtest2/Xtest3 [?25l"Xtest2/Xtest3" 4L, 70C[?25h[?25l:[?25hswap [?25lXtest.je/Xtest3.swp[?25h[?25l:[?25h!ls Xtest2 >>test.out [?25l[?1l>[?25h[?1049l Press ENTER or type command to continue[?1049h[?1h=[?25l:[?25h!echo under Xtest3 >>test.out [?25l[?1l>[?25h[?1049l Press ENTER or type command to continue[?1049h[?1h=[?25l:[?25h!ls Xtest.je >>test.out [?25l[?1l>[?25h[?1049l Press ENTER or type command to continue[?1049h[?1h=[?25l:[?25h!echo under Xtest3.swp >>test.out [?25l[?1l>[?25h[?1049l Press ENTER or type command to continue[?1049h[?1h=[?25l:[?25hqa! [?25l[?1l>[?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=[?25h[?25l"test13.in" 58 lines, 1133 charactersTests 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^[ :w :sp Xtestje2 otestje2^[ :w :sp Xtestje3 otestje3^[ :w ^W^W :au WinLeave Xtestje2 bwipe ^W^W :w! test.out :au WinLeave Xtestje1 bwipe Xtestje3 :close :w >>test.out :e Xtestje1 :bwipe Xtestje2 Xtestje3 test.out[?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25lTests for autocommands on :close command[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 38 lines, 631 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST: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[?25h[?25l [?25h[?25l :so! Xdotest [?25h[?25l:[?25hso small.vim [?25l[?25h[?25l:[?25h/^start of testfile/,/^end of testfile/w! Xtestje1 [?25l"Xtestje1" [New File] 5 lines, 64 characters written[?25h[?25l:[?25h/^start of testfile/,/^end of testfile/w! Xtestje2 [?25l"Xtestje2" [New File] 5 lines, 64 characters written[?25h[?25l:[?25h/^start of testfile/,/^end of testfile/w! Xtestje3 [?25l"Xtestje3" [New File] 5 lines, 64 characters written[?25h[?25l:[?25he Xtestje1 [?25l"Xtestje1" 5 lines, 64 charactersstart of testfile contents contents contents end of testfile ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25ltestje1[?25h[?25l:[?25hw [?25l"Xtestje1" 6 lines, 72 characters written[?25h[?25l:[?25hsp Xtestje2 [?25l"Xtestje2" 5 lines, 64 characters contents end of testfile~ Xtestje2 start of testfiletestje1 contents contents contentsend of testfileXtestje1 [?25h[?25ltestje2[+][?25h[?25l:[?25hw [?25l"Xtestje2" 6 lines, 72 characters written [?25h[?25l:[?25hsp Xtestje3 [?25l"Xtestje3" 5 lines, 64 charactersstart of testfilecontentscontentscontents end of testfile ~ ~ ~ ~ ~ ~ Xtestje3 start of testfile testje2contentscontentscontents end of testfile ~ ~ ~ ~ ~ Xtestje2 start of testfile testje1contentscontentscontents end of testfile ~ ~ ~ ~ Xtestje1 [?25h[?25ltestje3[+][?25h[?25l:[?25hw [?25l"Xtestje3" 6 lines, 72 characters written [?25hXtestje3 Xtestje2 [?25l:[?25hau WinLeave Xtestje2 bwipe [?25l[?25h[?25lstart of testfile testje3contentscontentscontents end of testfile ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Xtestje3 start of testfile testje1contentscontentscontents end of testfile ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Xtestje1 [?25h[?25l:[?25hw! test.out [?25l"test.out" [New File] 6 lines, 72 characters written[?25h[?25l:[?25hau WinLeave Xtestje1 bwipe Xtestje3 [?25l[?25h[?25l:[?25hclose [?25l1~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hw >>test.out [?25l"test.out" 6 lines, 72 characters appended[?25h[?25l:[?25he Xtestje1 [?25l"Xtestje1" 6 lines, 72 characters[?25h[?25l:[?25hbwipe Xtestje2 Xtestje3 test.out [?25lE94: No matching buffer for Xtestje2 Xtestje3 test.out[?25h[?25l:[?25hau! [?25l[?25h[?25l:[?25hau! BufUnload Xtestje1 bwipe [?25l[?25h[?25l:[?25he Xtestje3 [?25l"Xtestje3" 6 lines, 72 characters3[?25h[?25l:[?25hw >>test.out [?25l"test.out" 6 lines, 72 characters appended[?25h[?25l:[?25he Xtestje2 [?25l"Xtestje2" 6 lines, 72 characters2[?25h[?25l:[?25hsp Xtestje1 [?25l"Xtestje1" 6 lines, 72 characters1Xtestje1 start of testfiletestje2 contents contents contentsend of testfileXtestje2 [?25h[?25l:[?25he [?25lE143: Autocommands unexpectedly deleted new buffer Xtestje12~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hw >>test.out [?25l"test.out" 6 lines, 72 characters appended[?25h[?25l:[?25hau! [?25l[?25h[?25l:[?25honly [?25lAlready only one window[?25h[?25l:[?25he Xtestje1 [?25l"Xtestje1" 6 lines, 72 characters1[?25h[?25l:[?25hbwipe Xtestje2 Xtestje3 test.out test13.in [?25l4 buffers wiped out[?25h[?25l:[?25hau BufWipeout Xtestje1 buf Xtestje1 [?25l[?25h[?25l:[?25hbwipe [?25l"Xtestje1" 6 lines, 72 characters[?25h[?25l:[?25hw >>test.out [?25l"test.out" 6 lines, 72 characters appended[?25h[?25l:[?25hqa! [?25l[?1l>[?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=[?25h[?25l"test14.in" 65 lines, 1012 charactersTests 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\193\xc2\o303 \90a\xfg\o578\" :else : let tt = "o\65\x42\o103 \33a\xfg\o78\" :endif :exe "normal " . tt :.w >>test.out :set vb /^Piece 2]maA^[:.w >>test.out j]maB^[:.w >>test.out ]maC^[:.w >>test.out [maD^[:.w >>test.out k2[maE^[:.w >>test.out 3[maF^[:.w >>test.out ]MaG^[:.w >>test.out j2]MaH^[:.w >>test.out ]M]MaI^[:.w >>test.out 2[MaJ^[:.w >>test.out k[MaK^[:.w >>test.out 3[MaL^[:.w >>test.out[?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25lTests for "vaBiB", end could be wrong.[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 30 lines, 613 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST:qa! ENDTEST[?25h[?25l [?25h[?25l :so! Xdotest [?25h[?25l:[?25hso small.vim [?25l[?25h[?25l/[?25hStart cursor here [?25l- Bug in "vPPPP" on this text (Webb):{cmd;{cmd; /* <-- Start cursor here */[?25h[?25l[?25h[?25l{ cmd; /* <-- Start cursor here */ { } }[?25h[?25l cmd; }[?25h[?25l 6 fewer lines }Piece of Java{ tt m1 { t1;[?25h[?25l:[?25h?Bug?,/Piece/-2w! test.out [?25l"test.out" [New File] 3 lines, 44 characters written[?25h[?25l/[?25h^- Bug [?25lsearch hit BOTTOM, continuing at TOP[?25h[?25l:[?25hs/u/~u~/ [?25l[?25h[?25l:[?25hs/i/~u~/ [?25luuun "vPPPP" on this text (Webb): [?25h[?25l:[?25hs/o/~~~/ [?25luuuuuuuuun this text (Webb): [?25h[?25l:[?25h.w >>test.out [?25l"test.out" 1 line, 48 characters appended[?25h[?25l:[?25hif has("ebcdic") [?25l : [?25h: let tt = "o\193\xc2\o303 \90a\xfg\o578\" [?25l: [?25h:else [?25l: [?25h: let tt = "o\65\x42\o103 \33a\xfg\o78\" [?25l: [?25h:endif [?25l:s/i/~u~/ :s/o/~~~/ :.w >>test.out :if has("ebcdic")[?25h[?25l:[?25hexe "normal " . tt [?25lABC !a^Og^G8[?25h[?25l:[?25h.w >>test.out [?25l"test.out" 1 line, 11 characters appended[?25h[?25l:[?25hset vb [?25l[?25h[?25l/[?25h^Piece [?25l[?25h[?25l{A[?25h[?25l:[?25h.w >>test.out [?25l"test.out" 1 line, 10 characters appended[?25h[?25l t1;[?25h[?25l} e1tt m2 {[?25h[?25l{B[?25h[?25l :[?25h.w >>test.out [?25l"test.out" 1 line, 10 characters appended[?25h[?25lt2;} e2tt m3 {[?25h[?25l{C[?25h[?25l :[?25h.w >>test.out [?25l"test.out" 1 line, 10 characters appended[?25h[?25l{DC[?25h[?25l:[?25h.w >>test.out [?25l"test.out" 1 line, 11 characters appended[?25h[?25l{EA[?25h[?25l:[?25h.w >>test.out [?25l"test.out" 1 line, 11 characters appended[?25h[?25l{F[?25h[?25l:[?25h.w >>test.out [?25l"test.out" 1 line, 3 characters appended[?25h[?25l}G e1[?25h[?25l:[?25h.w >>test.out [?25l"test.out" 1 line, 7 characters appended[?25h [?25lif (x){t3;}} e3[?25h[?25l}H e3[?25h[?25l :[?25h.w >>test.out [?25l"test.out" 1 line, 7 characters appended[?25h[?25l }[?25hg[?25l}I[?25h[?25l :[?25h.w >>test.out [?25l"test.out" 1 line, 3 characters appended[?25h[?25l}JH e3[?25h[?25l:[?25h.w >>test.out [?25l"test.out" 1 line, 8 characters appended[?25h[?25l}K e2[?25h[?25l:[?25h.w >>test.out [?25l"test.out" 1 line, 7 characters appended[?25h[?25l{LF[?25h[?25l:[?25h.w >>test.out [?25l"test.out" 1 line, 4 characters appended[?25h[?25l:[?25hqa! [?25l[?1l>[?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=[?25h[?25l"test15.in" 136 lines, 2246 charactersTests 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^R :map gg :.,.+2s/^/x/kk:set tw=3gqq /^aa ggu :?test for :left?,$w! test.out :qa! ENDTESTtest for :leftaafaadfaasdfaaasdfaaxasdfaa asxxdfaatest for :centeraa[?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25lTests for :right on text with embedded TAB.[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 17 lines, 401 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST[?25h [?25l:so! Xdotest [?25h[?25l:[?25hso small.vim [?25l[?25h[?25l:[?25hset tw=65 [?25l[?25h[?25l:[?25h/^\s*test for :left/,/^\s*test for :center/ left [?25lsearch hit BOTTOM, continuing at TOPtest for :lefta afa adfa asdfaaasdfa axasdfaatest for :cente[?25h[?25l:[?25h/^\s*test for :center/,/^\s*test for :right/ center [?25l test for :center  aa[?25h[?25l:[?25h/^\s*test for :right/,/^xxx/-1 right [?25l[?25h[?25l:[?25hset fo+=tcroql tw=72 [?25l[?25h[?25l/[?25hxxxxxxxx$ [?25lasdfaaxxxoikxasdfaaxxxoikasxxdfaaxxxoikasxa;ofaaxxxoikasdfaqweraxxxoikaaxxxoikefaaxxxoikedfaaxxxoikesdfaaxxxoikeasdfaaxxxoikexasdfaaxxxoikeasxxdfaaxxxoikeasxa;ofaaxxxoikeasdfaqweraxxxoikeaaxxxoikeyfaaxxxoikeydfaaxxxoikeysdfaaxxxoikeyasdfaaxxxoikeyxasdfaaxxxoikeyasxxdfaaxxxoikeyasxa;ofaaxxxoikeyasdfaqweraxxxoikey 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[?25h [?25l  xx xxxxxx xxxxxxx xxxxxxxxx xxx xxxx xxxxx xxxxx xxx xxxx xxxxxxx. xxxx xxxx.xxxxxxx: xxxx xxxxxxx, xx xxxx xxxxxxx~ [?25h [?25l:[?25hset nocp viminfo+=nviminfo [?25l[?25h[?25l:[?25h" undo/redo here to make the next undo only work on the following changes [?25l[?25h[?25l1 more line; before #1 0 seconds ago:/^\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^R :map gg :.,.+2s/^/x/kk:set tw=3gqq /^aa ggu :?test for :left?,$w! test.out :qa! ENDTESTtest for :leftaafaadfaasdfaaasdfaaxasdfaa asxxdfaatest for :centeraafaafd asdfdfaasdfaafd asdfasdfaaxasdfaasdfasdfasdfasdfasdf asxxdfaa[?25h[?25l1 line less; after #1 0 seconds agotest for :lefta afa adfa asdfaaasdfa axasdfaa test for :center  aa fa afd asdf  dfaa sdfa afd asdf  asdfaaxasdfa  asxxdfaa[?25h [?25l:[?25hmap gg :.,.+2s/^/x/kk:set tw=3gqq [?25l[?25h[?25l/[?25h^aa [?25lsdfaaxxxoikasdfaaxxxoikxasdfaaxxxoikasxxdfaaxxxoikasxa;ofaaxxxoikasdfaqweraxxxoikaaxxxoikefaaxxxoikedfaaxxxoikesdfaaxxxoikeasdfaaxxxoikexasdfaaxxxoikeasxxdfaaxxxoikeasxa;ofaaxxxoikeasdfaqweraxxxoikeaaxxxoikeyfaaxxxoikeydfaaxxxoikeysdfaaxxxoikeyasdfaaxxxoikeyxasdfaaxxxoikeyasxxdfaaxxxoikeyasxa;ofaaxxxoikeyasdfaqweraxxxoikey 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[?25h[?25l :.,.+2s/^/x/ 3 substitutions on 3 linesxaa aa aa aa xbb bb bb bb xcc cc cc cc [?25h[?25l:set tw=3 [?25h[?25l 3 more lines aaaaaa3 more lines[?25h[?25l 3 fewer lines; before #2 0 seconds agoaa aa aa aa bb bb bb bb cc cc cc cc ~ [?25h [?25l:[?25h?test for :left?,$w! test.out [?25l"test.out"[New] 111L, 2304C written[?25h[?25l:[?25hqa! [?25l[?1l>[?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=[?25h[?25l"test17.in" 27 lines, 368 charactersTests 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${CDIR}/test17a.in$TDIR/test17a.in ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25lTests for "gf" on ${VAR}[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 20 lines, 285 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST[?25h [?25l:so! Xdotest [?25h[?25l:[?25hso small.vim [?25l[?25h[?25l:[?25hif has("ebcdic") [?25l : [?25h: set isfname=@,240-249,/,.,-,_,+,,,$,:,~,{,} [?25l: [?25h:else [?25l: [?25h: set isfname=@,48-57,/,.,-,_,+,,,$,:,~,{,} [?25l: [?25h:endif [?25lTests for "gf" on ${VAR} STARTTEST :so small.vim[?25h[?25l:[?25hif has("unix") [?25l : [?25h:let $CDIR = "." [?25l: [?25h/CDIR [?25l: [?25h:else [?25l: [?25h:if has("amiga") [?25l: [?25h:let $TDIR = "/testdir" [?25l: [?25h:else [?25l: [?25h:let $TDIR = "." [?25l: [?25h:endif [?25l: [?25h/TDIR [?25l: [?25h:endif [?25lTests for "gf" on ${VAR} STARTTEST :so small.vim :if has("ebcdic") : set isfname=@,240-249,/,.,-,_,+,,,$,:,~,{,} :else : set isfname=@,48-57,/,.,-,_,+,,,$,:,~,{,} :endif :if has("unix")[?25h[?25l"/sources/vim70/src/testdir/./test17a.in" 3 lines, 88 charactershis file is just to test "gf" in test 17. The contents is not importent. Just testing! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h [?25l:[?25hw! test.out [?25l"test.out" [New File] 3 lines, 88 characters written[?25h[?25l:[?25hqa! [?25l[?1l>[?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=[?25h[?25l"test18.in" 16 lines, 213 charactersTests for not doing smart indenting when it isn't set. STARTTEST :so small.vim :set nocin nosi ai /some 2cc#test^[ :?start?,$w! test.out :qa! ENDTEST start textsome test texttest text test texttest text ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25lTests for not doing smart indenting when it isn't set.[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 6 lines, 76 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST[?25h [?25l:so! Xdotest [?25h[?25l:[?25hso small.vim [?25l[?25h[?25l:[?25hset nocin nosi ai [?25l[?25h[?25l/[?25hsome [?25l[?25h[?25l #test~ [?25h[?25l:[?25h?start?,$w! test.out [?25l"test.out" [New File] 4 lines, 41 characters written[?25h[?25l:[?25hqa! [?25l[?1l>[?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=[?25h[?25l"test19.in" 23 lines, 374 charactersTests for "r" with 'smarttab' and 'expandtab' set/not set. STARTTEST :set smarttab expandtab ts=8 sw=4 /some r:set noexpandtab /other r :" Test replacing with Tabs and then backspacing to undo it 0wR^H^H^H^[ :" Test replacing with Tabs 0wR^[ :?^start?,$w! test.out :qa! ENDTEST start textsome test text test textother test text a cde f ghi test text ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25lTests for "r" with 'smarttab' and 'expandtab' set/not set.[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 11 lines, 204 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST[?25h [?25l:so! Xdotest [?25h[?25l:[?25hset smarttab expandtab ts=8 sw=4 [?25l[?25h[?25l/[?25hsome [?25l[?25h[?25l ome test text[?25h[?25l:[?25hset noexpandtab [?25l[?25h[?25l/[?25hother [?25l[?25h[?25l ther test text[?25h[?25l:[?25h" Test replacing with Tabs and then backspacing to undo it [?25l[?25h [?25l[?25h [?25l:[?25h" Test replacing with Tabs [?25l[?25h [?25l hi[?25h[?25l:[?25h?^start?,$w! test.out [?25l"test.out" [New File] 7 lines, 91 characters written[?25h[?25l:[?25hqa! [?25l[?1l>[?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=[?25h[?25l"test20.in" 22 lines, 361 charactersTests 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$ ^Vjjlld :/here$/,$-1w! test.out :qa! ENDTEST test text test tex start heresome texttest text test text Ox^[jAy^[kdd ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25lTests Blockwise Visual when there are TABs before the text.[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 9 lines, 92 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST[?25h [?25l:so! Xdotest [?25h[?25l:[?25hso tiny.vim [?25l[?25h[?25lx[?25h [?25ly[?25h[?25l ~ [?25h[?25l2 changes; before #1 0 seconds ago[?25h [?25l:[?25hnew [?25l~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [No Name] G0"ay$k@au:new@auY:quit! GP/start here$^Vjjlld:/here$/,$-1w! test.out:qa!ENDTESTtest text test tex start here some text test texttest textOx^[jAy^[kddtest20.in [?25h[?25lx[+][?25h [?25ly[?25h[?25l ~ [?25h[?25l1 line less; before #1 0 seconds ago [?25h[?25l:[?25hquit! [?25lTests 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.vimG0"ay$k@au:new@auY:quit!GP/start here$^Vjjlld:/here$/,$-1w! test.out:qa!ENDTESTtest text test tex start here some text test text test textOx^[jAy^[kdd ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l[?25h [?25l/[?25hstart here$ [?25lsearch hit BOTTOM, continuing at TOP[?25h[?25l[?25h[?25ls[?25h[?25le[?25h[?25lt t[?25h[?25lat [?25h[?25lrt hereextex[?25h[?25l:[?25h/here$/,$-1w! test.out [?25lsearch hit BOTTOM, continuing at TOP "test.out" [New File] 6 lines, 57 characters written[?25h[?25l:[?25hqa! [?25l[?1l>[?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=[?25h[?25l"test21.in" 19 lines, 297 charactersTests 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^W :.w >>test.out :qa! ENDTEST #include test21.in /* test text test tex start heresome texttest textstart OK if found this linestart found wrong line test text ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25lTests for [ CTRL-I with a count and CTRL-W CTRL-I with a count[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 6 lines, 73 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST[?25h [?25l:so! Xdotest [?25h[?25l:[?25hso small.vim [?25l[?25h[?25l/[?25hstart [?25l[?25h[?25l:[?25h.w! test.out [?25l"test.out" [New File] 1 line, 30 characters written[?25h[?25l?[?25hstart here [?25l[?25h[?25lSTARTTEST:so small.vim /start6[ :.w! test.out ?start here 6^W >>test.out :qa!ENDTEST#include test21.in /* test text test tex start heresome text test texttart OK if found this linestart found wrong line test texttest21.in :so small.vim /start6[ :.w! test.out?start here6^W :.w >>test.out:qa!ENDTEST#include test21.in/* test text test tex start here some text test text start OK if found this line start found wrong linetest texttest21.in [?25h[?25l:[?25h.w >>test.out [?25l"test.out" 1 line, 30 characters appended[?25h[?25l:[?25hqa! [?25l[?1l>[?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=[?25h[?25l"test22.in" 13 lines, 197 charactersTests for file with some lines ending in CTRL-M, some not^M ^M STARTTEST :set ta tx :e! :$-3,$w! test.out :qa! ENDTEST this lines ends in a^M this one doesn't this one does^M and the last one doesn't ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25lTests for file with some lines ending in CTRL-M, some not^M[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 4 lines, 38 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST[?25h [?25l:so! Xdotest [?25h[?25l:[?25hset ta tx [?25l[?25h[?25l:[?25he! [?25l"test22.in" 13 lines, 197 characters[?25h[?25l:[?25h$-3,$w! test.out [?25l"test.out" [New File] 4 lines, 79 characters written[?25h[?25l:[?25hqa! [?25l[?1l>[?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=[?25h[?25l"test23.in" 15 lines, 282 charactersTests 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 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25lTests for complicated + argument to :edit command[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 7 lines, 125 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST[?25h [?25l:so! Xdotest [?25h[?25l:[?25h$-1w! Xfile1 [?25l"Xfile1" [New File] 1 line, 8 characters written[?25h[?25l:[?25h$w! Xfile2 [?25l"Xfile2" [New File] 1 line, 8 characters written[?25h[?25l:[?25hedit +1|s/|/PIPE/|w Xfile1| e Xfile2|1 | s/\//SLASH/|w [?25l"Xfile1" 1 line, 8 characters foo|bar "Xfile1" 1 line, 11 characters written "Xfile2" 1 line, 8 characters foo/bar "Xfile2" 1 line, 12 characters written Press ENTER or type command to continue[?25h[?25l:[?25hw! test.out [?25l"test.out" [New File] 1 line, 12 characters written Press ENTER or type command to continue[?25h[?25l:[?25he Xfile1 [?25l"Xfile1" 1 line, 11 charactersfooPIPEbar ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ "Xfile1" 1 line, 11 characters[?25h[?25l:[?25hw >> test.out [?25l"test.out" 1 line, 11 characters appended[?25h[?25l:[?25hqa! [?25l[?1l>[?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=[?25h[?25l"test24.in" 79 lines, 1240 charactersTests 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/[?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25lTests for regexp with backslash and other special characters inside [][?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 44 lines, 480 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST:s/\(a\)\{-2,3}/A/ :s/\(a\)*\(12\)\@>/A/ :s/\(foo\)\@\|\.\)\=\)\+=/XX/ :s/^\(\h\w*\%(->\|\.\)\=\)\+=/YY/ :?start?,$w! test.out :qa! ENDTEST[?25h[?25l [?25h[?25l :so! Xdotest [?25h[?25l:[?25hset nocompatible viminfo+=nviminfo [?25l[?25h[?25l/[?25h[\x] [?25lstart test \text test text[?25h[?25ltext test text[?25h[?25l /[?25h[\t\]] [?25l test text test text[?25h[?25ltext test tex[?25h[?25l /[?25h[]y] [?25l test text ]test text[?25h[?25ltest text[?25h[?25l /[?25h[\]] [?25l test ]text test text[?25h[?25ltext test text[?25h[?25l /[?25h[y^] [?25l test text te^st text[?25h[?25lst text[?25h[?25l /[?25h[$y] [?25l test te$xt test text[?25h[?25lxt test text[?25h[?25l /[?25h[\x61] [?25l test taext test text x61[?25h[?25lext test text x61[?25h[?25l /[?25h[\x60-\x64] [?25l test tbext test text x60-x64[?25h[?25lext test text x60-x64[?25h[?25l test 5text test text x78 5[?25h [?25l /[?25h[\x785] [?25l[?25h[?25ltext test text x78 5[?25h[?25l/[?25h[\o143] [?25l testc text test text o143[?25h[?25l text test text o143[?25h[?25l /[?25h[\o140-\o144] [?25l tesdt text test text o140-o144[?25h[?25lt text test text o140-o14[?25h[?25l /[?25h[\o417] [?25l test7 text test text o41 7[?25h[?25l text test text o41 7[?25h[?25l /[?25h\%x42 [?25l test text tBest text \%x42[?25h[?25lest text \%x42[?25h[?25l /[?25h\%o103 [?25l test text teCst text \%o103[?25h[?25lst text \%o103[?25h[?25l /[?25h[\x00] [?25l test text ^@test text [\x00][?25h[?25ltest text [\x00][?25h[?25l test te^@xt t^Dest t^Pext [\x00-\x10][?25h[?25l :[?25hs/[\x00-\x10]//g [?25l3 substitutions on 1 linext test text [\x00-\x10][?25h[?25l test \xyztext test text [\x-z][?25h[?25l :[?25hs/[\x-z]\+// [?25ltext test text [\x-z][?25h[?25l test text tev\uyst text [\u-z][?25h[?25l :[?25hs/[\u-z]\{2,}// [?25lst text [\u-z][?25h[?25l xx aaaaa xx a[?25h[?25l :[?25hs/\(a\)\+// [?25l xx [?25h[?25l xx aaaaa xx a[?25h[?25l :[?25hs/\(a*\)\+// [?25l[?25h[?25l xx aaaaa xx a[?25h[?25l :[?25hs/\(a*\)*// [?25l[?25h[?25l xx aaaaa xx[?25h[?25l :[?25hs/\(a\)\{2,3}/A/ [?25lAaa xx[?25h[?25l xx aaaaa xx[?25h[?25l :[?25hs/\(a\)\{-2,3}/A/ [?25lAaaa x[?25h[?25l xx aaa12aa xx[?25h[?25l :[?25hs/\(a\)*\(12\)\@>/A/ [?25lAaa xx[?25h[?25l xx foobar xbar xx[?25h[?25l :[?25hs/\(foo\)\@\|\.\)\=\)\+=/XX/ [?25lXX [?25h[?25l hh= 77;[?25h[?25l :[?25hs/^\(\h\w*\%(->\|\.\)\=\)\+=/YY/ [?25lYY 77;[?25h[?25l:[?25h?start?,$w! test.out [?25l"test.out" [New] 29L, 571C written[?25h[?25l:[?25hqa! [?25l[?1l>[?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=[?25h[?25l"test25.in" 31 lines, 840 charactersTest 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^] 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 ~ ~ ~ ~ [?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25lTest for jumping to a tag with 'hidden' set, with symbolic link in path of tag.[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 17 lines, 540 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST[?25h [?25l:so! Xdotest [?25h[?25l:[?25hso small.vim [?25l[?25h[?25l:[?25hset hidden [?25l[?25h[?25l:[?25h" Create a link from test25.dir to the current directory. [?25l[?25h[?25l:[?25h!rm -f test25.dir [?25l[?1l>[?25h[?1049l Press ENTER or type command to continue[?1049h[?1h=[?25l:[?25h!ln -s . test25.dir [?25l[?1l>[?25h[?1049l Press ENTER or type command to continue[?1049h[?1h=[?25l:[?25h" Create tags.text, with the current directory name inserted. [?25lTest 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^] 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 ~ ~ ~ ~ [?25h[?25l/[?25htags line [?25l[?25h[?25l:[?25hr !pwd [?25l[?25h[?25lTest 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^] 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 ~ ~ ~ [?25h[?25l[?25h[?25l/[?25htest [?25l[?25h[?25l/sources/vim70/src/testdir/test25.dir/test25.in /^#define SECTION_OFF 3$/[?25h[?25l:[?25h.w! tags.test [?25l"tags.test" [New File] 1 line, 88 characters written[?25h[?25l:[?25h" Try jumping to a tag in the current file, but with a path that contains a [?25l[?25h[?25l:[?25h" symbolic link. When wrong, this will give the ATTENTION message. The next [?25l[?25h[?25l:[?25h" space will then be eaten by hit-return, instead of moving the cursor to 'd'. [?25l[?25h[?25l:[?25hset tags=tags.test [?25l[?25h#[?25lefine SECTION_OFF 3[?25h[?25l:[?25h.w! test.out [?25l"test.out" [New File] 1 line, 23 characters written[?25h[?25l:[?25h!rm -f test25.dir tags.test [?25l[?1l>[?25h[?1049l [No write since last change] Press ENTER or type command to continue[?1049h[?1h=[?25l:[?25hqa! [?25l[?1l>[?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=[?25h[?25l"test26.in" 43 lines, 739 charactersTest 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^V^[ : if i == 9 : break : endif : if i == 5 : continue : else : let j = 9 : while j > 0 :if has("ebcdic") :execute "normal" j . "a" . j . "\x27" :else :execute "normal" j . "a" . j . "\x1b" :endif :let j = j - 1 : endwhile : endif : endif : if i == 9 : if has("ebcdic") : execute "normal Az\047" : else[?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25lTest for :execute, :while and :if[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 38 lines, 685 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST: execute "normal Az\033" : endif : endif :endwhile :'t,$w! test.out :qa! ENDTEST[?25h[?25l [?25h[?25l :so! Xdotest [?25h[?25l:[?25hso small.vim [?25l[?25h[?25l:[?25hlet i = 0 [?25l[?25h[?25l:[?25hwhile i < 12 [?25l : [?25h: let i = i + 1 [?25l: [?25h: if has("ebcdic") [?25l: [?25h: execute "normal o" . i . "\047" [?25l: [?25h: else [?25l: [?25h: execute "normal o" . i . "\033" [?25l: [?25h: endif [?25l: [?25h: if i % 2 [?25l: [?25h: normal Ax^^[  [?25l: [?25h: if i == 9 [?25l: [?25h: break [?25l: [?25h: endif [?25l: [?25h: if i == 5 [?25l: [?25h: continue [?25l: [?25h: else [?25l: [?25h: let j = 9 [?25l: [?25h: while j > 0 [?25l:[?25h: if has("ebcdic") [?25l:[?25h: execute "normal" j . "a" . j . "\x27" [?25l:[?25h: else [?25l:[?25h: execute "normal" j . "a" . j . "\x1b" [?25l:[?25h: endif [?25l:[?25h: let j = j - 1 [?25l:[?25h: endwhile [?25l: [?25h: endif [?25l: [?25h: endif [?25l: [?25h: if i == 9 [?25l: [?25h: if has("ebcdic") [?25l: [?25h: execute "normal Az\047" [?25l: [?25h: else [?25l: [?25h: execute "normal Az\033" [?25l: [?25h: endif [?25l: [?25h: endif [?25l: [?25h:endwhile [?25l: if i == 5 : continue : else : let j = 9 : while j > 0 :if has("ebcdic") :execute "normal" j . "a" . j . "\x27" :else :execute "normal" j . "a" . j . "\x1b" :endif :let 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[?25h[?25l :[?25h't,$w! test.out [?25l"test.out" [New File] 10 lines, 159 characters written[?25h[?25l:[?25hqa! [?25l[?1l>[?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=[?25h[?25l"test27.in" 20 lines, 270 charactersTest 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^R%^[:.w! test.out :n! Xdir?/*/nofile Go^R%^[:.w >>test.out :e! xx :!rm -rf Xdir1 Xdir2 Xdir3 :qa! ENDTEST ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25lTest for expanding file names[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 15 lines, 220 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST[?25h [?25l:so! Xdotest [?25h[?25l:[?25h!mkdir Xdir1 [?25l[?1l>[?25h[?1049l Press ENTER or type command to continue[?1049h[?1h=[?25l:[?25h!mkdir Xdir2 [?25l[?1l>[?25h[?1049l Press ENTER or type command to continue[?1049h[?1h=[?25l:[?25h!mkdir Xdir3 [?25l[?1l>[?25h[?1049l Press ENTER or type command to continue[?1049h[?1h=[?25l:[?25hcd Xdir3 [?25l/sources/vim70/src/testdir/Xdir3Test 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^R%^[:.w! test.out :n! Xdir?/*/nofile Go^R%^[:.w >>test.out :e! xx :!rm -rf Xdir1 Xdir2 Xdir3 :qa! ENDTEST ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25h!mkdir Xdir4 [?25l[?1l>[?25h[?1049l Press ENTER or type command to continue[?1049h[?1h=[?25l:[?25hcd .. [?25l/sources/vim70/src/testdirTest 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^R%^[:.w! test.out :n! Xdir?/*/nofile Go^R%^[:.w >>test.out :e! xx :!rm -rf Xdir1 Xdir2 Xdir3 :qa! ENDTEST ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hw Xdir1/file [?25l"Xdir1/file" [New File] 20 lines, 270 characters written[?25h[?25l:[?25hw Xdir3/Xdir4/file [?25l"Xdir3/Xdir4/file" [New File] 20 lines, 270 characters written[?25h[?25l:[?25hn Xdir?/*/file [?25l"Xdir3/Xdir4/file" 20 lines, 270 characters[?25h[?25l Xdir3/Xdir4/file[?25h[?25l:[?25h.w! test.out [?25l"test.out" [New File] 1 line, 17 characters written[?25h[?25l:[?25hn! Xdir?/*/nofile [?25l"Xdir?/*/nofile" [New DIRECTORY]~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l Xdir?/*/nofile[?25h[?25l:[?25h.w >>test.out [?25l"test.out" 1 line, 15 characters appended[?25h[?25l:[?25he! xx [?25l"xx" [New File]~ [?25h[?25l:[?25h!rm -rf Xdir1 Xdir2 Xdir3 [?25l[?1l>[?25h[?1049l Press ENTER or type command to continue[?1049h[?1h=[?25l:[?25hqa! [?25l[?1l>[?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=[?25h[?25l"test28.in" 23 lines, 364 charactersTest for sourcing a file with CTRL-V's at the end of the line STARTTEST :/firstline/+1,/lastline/-1w! Xtestfile :so Xtestfile Gmm__1^[^[__2^[__3^[^[__4^[__5^[:'m,$s/^@/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^V map __2 asd^V^V map __3 asd^V^V map __4 asd^V^V^V map __5 asd^V^V^V lastline ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25lTest for sourcing a file with CTRL-V's at the end of the line[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 5 lines, 114 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST[?25h [?25l:so! Xdotest [?25h[?25l:[?25h/firstline/+1,/lastline/-1w! Xtestfile [?25l"Xtestfile" [New File] 10 lines, 148 characters written[?25h[?25l:[?25hso Xtestfile [?25l[?25h[?25lsd map __2 asd^[[?25h[?25lsecond[?25hd [?25lsd^[[?25h^[ [?25lsd^@map __5 asd^@[?25h[?25lfifth[?25h[?25l:[?25h'm,$s/^@/0/g [?25l0map __5 asd0fifth[?25h[?25l:[?25h'm,$w! test.out [?25l"test.out" [New File] 2 lines, 45 characters written[?25h[?25l:[?25hqa! [?25l[?1l>[?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=[?25h[?25l"test29.in" 67 lines, 663 charactersTest 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[?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25lTest for joining lines with 'joinspaces' set or not[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 5 lines, 135 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST[?25h [?25l:so! Xdotest [?25h[?25l:[?25hset nojoinspaces [?25l[?25h[?25l/[?25hfirstline/ [?25l[?25h [?25l asdf. asdfasdfasdf[?25h[?25l asdf. asdfasdf[?25h[?25l asdf. asdfasdfasdf[?25h[?25l asdf.asdfasdf[?25h[?25l asdf.asdfasdfasdf.[?25h[?25l asdf.asdfasdf[?25h[?25l asdf.asdfasdfasdf.[?25h[?25l asdf asdfasdf[?25h[?25l asdf asdfasdfasdf.[?25h[?25l asdf asdfasdf[?25h[?25l asdfasdfasdfasdf.[?25h[?25l asdfasdfasdf[?25h[?25l asdfasdfasdfasdf.[?25h[?25l asdfasdfasdf[?25h[?25l:[?25hset joinspaces [?25l[?25h[?25l asdf. asdfasdfasdf.[?25h[?25l asdf. asdfasdf[?25h[?25l asdf. asdfasdfasdf.[?25h[?25l asdf.asdfasdf[?25h[?25l asdf.asdfasdfasdf[?25h[?25l asdf.asdfasdf[?25h[?25l asdf.asdf asdfasdf[?25h[?25lf asdf asdfasdf[?25h[?25l asdf asdfasdf[?25h[?25l asdf[?25h[?25l asdfasdf[?25h[?25l asdf[?25h[?25l asdfasdf[?25h[?25l asdf[?25h[?25l asdfasdf[?25h[?25l asdf[?25h[?25l asdfasdf[?25h[?25l asdf[?25h[?25l :[?25h?firstline?+1,$w! test.out [?25l"test.out" [New File] 28 lines, 424 characters written[?25h[?25l:[?25hqa! [?25l[?1l>[?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=[?25h[?25l"test30.in" 208 lines, 3095 charactersTest 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[?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25lTest for a lot of variations of the 'fileformats' option[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 183 lines, 2957 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST:$r XXtt42 :$r XXtt43 Go5^[:$r XXtt51 :$r XXtt52 :$r XXtt53 Go6^[:$r XXtt61 :$r XXtt62 :$r XXtt63 Go7^[:$r XXtt71 Go8^[:$r XXtt81 Go9^[:$r XXtt91 :$r XXtt92 :$r XXtt93 Go10^[:$r XXUnix :set nobinary ff& :w :qa! ENDTEST 1 2 3 4 5 6 7 8 9 10 unix unix eof dos^M[?25h [?25l:so! Xdotest [?25h[?25l:[?25hso small.vim [?25l[?25h[?25l:[?25h" first write three test files, one in each format [?25l[?25h[?25l:[?25hset fileformat=unix [?25l[?25h[?25l:[?25hset fileformats= [?25l[?25h[?25l:[?25h/^1/w! XX1 [?25l"XX1" [New File] 1 line, 2 characters written[?25h[?25l:[?25h/^2/w! XX2 [?25l"XX2" [New File] 1 line, 2 characters written[?25h[?25l:[?25h/^3/w! XX3 [?25l"XX3" [New File] 1 line, 2 characters written[?25h[?25l:[?25h/^4/w! XX4 [?25l"XX4" [New File] 1 line, 2 characters written[?25h[?25l:[?25h/^5/w! XX5 [?25l"XX5" [New File] 1 line, 2 characters written[?25h[?25l:[?25h/^6/w! XX6 [?25l"XX6" [New File] 1 line, 2 characters written[?25h[?25l:[?25h/^7/w! XX7 [?25l"XX7" [New File] 1 line, 2 characters written[?25h[?25l:[?25h/^8/w! XX8 [?25l"XX8" [New File] 1 line, 2 characters written[?25h[?25l:[?25h/^9/w! XX9 [?25l"XX9" [New File] 1 line, 2 characters written[?25h[?25l:[?25h/^10/w! XX10 [?25l"XX10" [New File] 1 line, 3 characters written[?25h[?25l:[?25h/^unix/;/eof/-1w! XXUnix [?25l"XXUnix" [New File] 2 lines, 10 characters written[?25h[?25l:[?25h/^dos/;/eof/-1w! XXDos [?25l"XXDos" [New File] 2 lines, 10 characters written[?25h[?25l:[?25hset bin noeol [?25l[?25h[?25l:[?25h$w! XXMac [?25l"XXMac" [New File][Incomplete last line] 1 line, 8 characters written[?25h[?25l:[?25hset nobin eol [?25l[?25h[?25l:[?25hbwipe XXUnix XXDos XXMac [?25l3 buffers wiped out[?25h[?25l:[?25h" create mixed format files [?25l[?25h[?25l:[?25h!cat XXUnix XXDos >XXUxDs [?25l[?1l>[?25h[?1049l Press ENTER or type command to continue[?1049h[?1h=[?25l:[?25h!cat XXUnix XXMac >XXUxMac [?25l[?1l>[?25h[?1049l Press ENTER or type command to continue[?1049h[?1h=[?25l:[?25h!cat XXDos XXMac >XXDosMac [?25l[?1l>[?25h[?1049l Press ENTER or type command to continue[?1049h[?1h=[?25l:[?25h!cat XXUnix XXDos XXMac >XXUxDsMc [?25l[?1l>[?25h[?1049l Press ENTER or type command to continue[?1049h[?1h=[?25l:[?25h" [?25l:$r XXtt42 :$r XXtt43 Go5^[:$r XXtt51 :$r XXtt52 :$r XXtt53 Go6^[:$r XXtt61 :$r XXtt62 :$r XXtt63 Go7^[:$r XXtt71 Go8^[:$r XXtt81 Go9^[:$r XXtt91 :$r XXtt92 :$r XXtt93 Go10^[:$r XXUnix :set nobinary ff& :w :qa! ENDTEST 1 2 3 4 5 6 7 8 9 10 unix unix eof dos^M [?25h[?25l :[?25h" try reading and writing with 'fileformats' empty [?25l[?25h[?25l:[?25hset fileformat=unix [?25l[?25h[?25l:[?25he! XXUnix [?25l"XXUnix" 2 lines, 10 charactersunixunix~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hw! test.out [?25l"test.out" [New File] 2 lines, 10 characters written[?25h[?25l:[?25he! XXDos [?25l"XXDos" 2 lines, 10 charactersdos^M dos^M[?25h[?25l:[?25hw! XXtt01 [?25l"XXtt01" [New File] 2 lines, 10 characters written[?25h[?25l:[?25he! XXMac [?25l"XXMac" [Incomplete last line] 1 line, 8 charactersmacmac^M ~ [?25h[?25l:[?25hw! XXtt02 [?25l"XXtt02" [New File] 1 line, 9 characters written[?25h[?25l:[?25hbwipe XXUnix XXDos XXMac [?25l"test30.in" 208 lines, 3095 characters 3 buffers wiped out Press ENTER or type command to continue[?25h[?25l:[?25hset fileformat=dos [?25l:$r XXtt53 Go6^[:$r XXtt61 :$r XXtt62:$r XXtt63Go7^[:$r XXtt71Go8^[:$r XXtt81Go9^[:$r XXtt91:$r XXtt92:$r XXtt93Go10^[:$r XXUnix:set nobinary ff&:w:qa!ENDTEST12345678910unixunixeofdos^Mdos^Meofmac^Mmac^M[?25h[?25l:[?25he! XXUnix [?25l"XXUnix" [CR missing][dos format] 2 lines, 10 charactersunixunix~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hw! XXtt11 [?25l"XXtt11" [New File][dos format] 2 lines, 12 characters written[?25h[?25l:[?25he! XXDos [?25l"XXDos" [dos format] 2 lines, 10 charactersdosdos[?25h[?25l:[?25hw! XXtt12 [?25l"XXtt12" [New File][dos format] 2 lines, 10 characters written[?25h[?25l:[?25he! XXMac [?25l"XXMac" [Incomplete last line][dos format] 1 line, 8 charactersmac^Mmac^M ~ [?25h[?25l:[?25hw! XXtt13 [?25l"XXtt13" [New File][dos format] 1 line, 10 characters written[?25h[?25l:[?25hbwipe XXUnix XXDos XXMac [?25l"test30.in" [CR missing][dos format] 208 lines, 3095 characters 3 buffers wiped out Press ENTER or type command to continue[?25h[?25l:[?25hset fileformat=mac [?25l:$r XXtt53 Go6^[:$r XXtt61 :$r XXtt62:$r XXtt63Go7^[:$r XXtt71Go8^[:$r XXtt81Go9^[:$r XXtt91:$r XXtt92:$r XXtt93Go10^[:$r XXUnix:set nobinary ff&:w:qa!ENDTEST12345678910unixunixeofdosdoseofmac^Jmac[?25h[?25l:[?25he! XXUnix [?25l"XXUnix" [Incomplete last line][mac format] 1 line, 10 charactersunix^Junix^J ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hw! XXtt21 [?25l"XXtt21" [New File][mac format] 1 line, 11 characters written[?25h[?25l:[?25he! XXDos [?25l"XXDos" [Incomplete last line][mac format] 3 lines, 10 charactersdos^Jdos^J[?25h[?25l:[?25hw! XXtt22 [?25l"XXtt22" [New File][mac format] 3 lines, 11 characters written[?25h[?25l:[?25he! XXMac [?25l"XXMac" [mac format] 2 lines, 8 charactersmac mac~ [?25h[?25l:[?25hw! XXtt23 [?25l"XXtt23" [New File][mac format] 2 lines, 8 characters written[?25h[?25l:[?25hbwipe XXUnix XXDos XXMac [?25l"test30.in" [Incomplete last line][mac format] 5 lines, 3095 characters 3 buffers wiped out Press ENTER or type command to continue[?25h[?25l:[?25h" [?25l^Jdos ^Jeof^J^Jmac mac^J[?25h[?25l:[?25h" try reading and writing with 'fileformats' set to one format [?25l[?25h[?25l:[?25hset fileformats=unix [?25l[?25h[?25l:[?25he! XXUxDsMc [?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunixdos^M dos^M mac^Mmac^M[?25h[?25l:[?25hw! XXtt31 [?25l"XXtt31" [New File] 5 lines, 29 characters written[?25h[?25l:[?25hbwipe XXUxDsMc [?25l"test30.in" 208 lines, 3095 charactersTest for a lot of variations of the 'fileformats' optionSTARTTEST :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[?25h[?25l:[?25hset fileformats=dos [?25l[?25h[?25l:[?25he! XXUxDsMc [?25l"XXUxDsMc" [Incomplete last line][CR missing][dos format] 5 lines, 28 charactersunixunix dosdosmac^Mmac^M~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hw! XXtt32 [?25l"XXtt32" [New File][dos format] 5 lines, 32 characters written[?25h[?25l:[?25hbwipe XXUxDsMc [?25l"test30.in" [CR missing][dos format] 208 lines, 3095 charactersTest for a lot of variations of the 'fileformats' optionSTARTTEST :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[?25h[?25l:[?25hset fileformats=mac [?25l[?25h[?25l:[?25he! XXUxDsMc [?25l"XXUxDsMc" [mac format] 4 lines, 28 charactersunix^Junix^Jdos^Jdos ^Jmacmac~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hw! XXtt33 [?25l"XXtt33" [New File][mac format] 4 lines, 28 characters written[?25h[?25l:[?25hbwipe XXUxDsMc [?25l"test30.in" [Incomplete last line][mac format] 5 lines, 3095 characters^Jdoseof^J^Jmac mac^J[?25h[?25l:[?25h" [?25l[?25h[?25l:[?25h" try reading and writing with 'fileformats' set to two formats [?25l[?25h[?25l:[?25hset fileformats=unix,dos [?25l[?25h[?25l:[?25he! XXUxDsMc [?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunixdos^M dos^M mac^Mmac^M[?25h[?25l:[?25hw! XXtt41 [?25l"XXtt41" [New File] 5 lines, 29 characters written[?25h[?25l:[?25hbwipe XXUxDsMc [?25l"test30.in" 208 lines, 3095 charactersTest for a lot of variations of the 'fileformats' optionSTARTTEST :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[?25h[?25l:[?25he! XXUxMac [?25l"XXUxMac" [Incomplete last line] 3 lines, 18 charactersunixunix mac^Mmac^M ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hw! XXtt42 [?25l"XXtt42" [New File] 3 lines, 19 characters written[?25h[?25l:[?25hbwipe XXUxMac [?25l"test30.in" 208 lines, 3095 charactersTest for a lot of variations of the 'fileformats' optionSTARTTEST: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[?25h[?25l:[?25he! XXDosMac [?25l"XXDosMac" [Incomplete last line][dos format] 3 lines, 18 charactersdodos mac^Mmac^M ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hw! XXtt43 [?25l"XXtt43" [New File][dos format] 3 lines, 20 characters written[?25h[?25l:[?25hbwipe XXDosMac [?25l"test30.in" 208 lines, 3095 charactersTest for a lot of variations of the 'fileformats' optionSTARTTEST: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[?25h[?25l:[?25hset fileformats=unix,mac [?25l[?25h[?25l:[?25he! XXUxDs [?25l"XXUxDs" 4 lines, 20 charactersunixunix dos^Mdos^M~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hw! XXtt51 [?25l"XXtt51" [New File] 4 lines, 20 characters written[?25h[?25l:[?25hbwipe XXUxDs [?25l"test30.in" 208 lines, 3095 charactersTest for a lot of variations of the 'fileformats' optionSTARTTEST :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[?25h[?25l:[?25he! XXUxDsMc [?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix dos^Mdos^Mmac^Mmac^M~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hw! XXtt52 [?25l"XXtt52" [New File] 5 lines, 29 characters written[?25h[?25l:[?25hbwipe XXUxDsMc [?25l"test30.in" 208 lines, 3095 charactersTest for a lot of variations of the 'fileformats' optionSTARTTEST :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[?25h[?25l:[?25he! XXDosMac [?25l"XXDosMac" [mac format] 4 lines, 18 charactersdo^Jdos ^Jmacmac~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hw! XXtt53 [?25l"XXtt53" [New File][mac format] 4 lines, 18 characters written[?25h[?25l:[?25hbwipe XXDosMac [?25l"test30.in" 208 lines, 3095 charactersTest for a lot of variations of the 'fileformats' optionSTARTTEST :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[?25h[?25l:[?25hset fileformats=dos,mac [?25l[?25h[?25l:[?25he! XXUxDs [?25l"XXUxDs" [CR missing][dos format] 4 lines, 20 charactersunixunix dosdos~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hw! XXtt61 [?25l"XXtt61" [New File][dos format] 4 lines, 22 characters written[?25h[?25l:[?25hbwipe XXUxDs [?25l"test30.in" [CR missing][dos format] 208 lines, 3095 charactersTest for a lot of variations of the 'fileformats' optionSTARTTEST :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[?25h[?25l:[?25he! XXUxMac [?25l"XXUxMac" [Incomplete last line][CR missing][dos format] 3 lines, 18 charactersunixunix mac^Mmac^M ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hw! XXtt62 [?25l"XXtt62" [New File][dos format] 3 lines, 22 characters written[?25h[?25l:[?25hbwipe XXUxMac [?25l"test30.in" [CR missing][dos format] 208 lines, 3095 charactersTest for a lot of variations of the 'fileformats' optionSTARTTEST: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[?25h[?25l:[?25he! XXUxDsMc [?25l"XXUxDsMc" [Incomplete last line][CR missing][dos format] 5 lines, 28 charactersunixunix dosdosmac^Mmac^M~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hw! XXtt63 [?25l"XXtt63" [New File][dos format] 5 lines, 32 characters written[?25h[?25l:[?25hbwipe XXUxDsMc [?25l"test30.in" [CR missing][dos format] 208 lines, 3095 charactersTest for a lot of variations of the 'fileformats' optionSTARTTEST :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[?25h[?25l:[?25h" [?25l[?25h[?25l:[?25h" try reading and writing with 'fileformats' set to three formats [?25l[?25h[?25l:[?25hset fileformats=unix,dos,mac [?25l[?25h[?25l:[?25he! XXUxDsMc [?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix dos^Mdos^Mmac^Mmac^M~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hw! XXtt71 [?25l"XXtt71" [New File] 5 lines, 29 characters written[?25h[?25l:[?25hbwipe XXUxDsMc [?25l"test30.in" 208 lines, 3095 charactersTest for a lot of variations of the 'fileformats' optionSTARTTEST :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[?25h[?25l:[?25hset fileformats=mac,dos,unix [?25l[?25h[?25l:[?25he! XXUxDsMc [?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix dos^Mdos^Mmac^Mmac^M~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hw! XXtt81 [?25l"XXtt81" [New File] 5 lines, 29 characters written[?25h[?25l:[?25hbwipe XXUxDsMc [?25l"test30.in" 208 lines, 3095 charactersTest for a lot of variations of the 'fileformats' optionSTARTTEST :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[?25h[?25l:[?25h" try with 'binary' set [?25l[?25h[?25l:[?25hset fileformats=mac,unix,dos [?25l[?25h[?25l:[?25hset binary [?25l[?25h[?25l:[?25he! XXUxDsMc [?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix dos^Mdos^Mmac^Mmac^M~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hw! XXtt91 [?25l"XXtt91" [New File][Incomplete last line] 5 lines, 28 characters written[?25h[?25l:[?25hbwipe XXUxDsMc [?25l"test30.in" 208 lines, 3095 charactersTest for a lot of variations of the 'fileformats' optionSTARTTEST :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[?25h[?25l:[?25hset fileformats=mac [?25l[?25h[?25l:[?25he! XXUxDsMc [?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix dos^Mdos^Mmac^Mmac^M~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hw! XXtt92 [?25l"XXtt92" [New File][Incomplete last line] 5 lines, 28 characters written[?25h[?25l:[?25hbwipe XXUxDsMc [?25l"test30.in" 208 lines, 3095 charactersTest for a lot of variations of the 'fileformats' optionSTARTTEST :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[?25h[?25l:[?25hset fileformats=dos [?25l[?25h[?25l:[?25he! XXUxDsMc [?25l"XXUxDsMc" [Incomplete last line] 5 lines, 28 charactersunixunix dos^Mdos^Mmac^Mmac^M~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hw! XXtt93 [?25l"XXtt93" [New File][Incomplete last line] 5 lines, 28 characters written[?25h[?25l:[?25h" [?25l[?25h[?25l:[?25h" Append "END" to each file so that we can see what the last written char was. [?25l[?25h[?25l:[?25hset fileformat=unix nobin [?25l[?25h[?25l~ ~ ~ ~ --No lines in buffer--[?25h[?25lEND[?25h[?25l:[?25hw >>XXtt01 [?25l"XXtt01" 1 line, 4 characters appended[?25h[?25l:[?25hw >>XXtt02 [?25l"XXtt02" 1 line, 4 characters appended[?25h[?25l:[?25hw >>XXtt11 [?25l"XXtt11" 1 line, 4 characters appended[?25h[?25l:[?25hw >>XXtt12 [?25l"XXtt12" 1 line, 4 characters appended[?25h[?25l:[?25hw >>XXtt13 [?25l"XXtt13" 1 line, 4 characters appended[?25h[?25l:[?25hw >>XXtt21 [?25l"XXtt21" 1 line, 4 characters appended[?25h[?25l:[?25hw >>XXtt22 [?25l"XXtt22" 1 line, 4 characters appended[?25h[?25l:[?25hw >>XXtt23 [?25l"XXtt23" 1 line, 4 characters appended[?25h[?25l:[?25hw >>XXtt31 [?25l"XXtt31" 1 line, 4 characters appended[?25h[?25l:[?25hw >>XXtt32 [?25l"XXtt32" 1 line, 4 characters appended[?25h[?25l:[?25hw >>XXtt33 [?25l"XXtt33" 1 line, 4 characters appended[?25h[?25l:[?25hw >>XXtt41 [?25l"XXtt41" 1 line, 4 characters appended[?25h[?25l:[?25hw >>XXtt42 [?25l"XXtt42" 1 line, 4 characters appended[?25h[?25l:[?25hw >>XXtt43 [?25l"XXtt43" 1 line, 4 characters appended[?25h[?25l:[?25hw >>XXtt51 [?25l"XXtt51" 1 line, 4 characters appended[?25h[?25l:[?25hw >>XXtt52 [?25l"XXtt52" 1 line, 4 characters appended[?25h[?25l:[?25hw >>XXtt53 [?25l"XXtt53" 1 line, 4 characters appended[?25h[?25l:[?25hw >>XXtt61 [?25l"XXtt61" 1 line, 4 characters appended[?25h[?25l:[?25hw >>XXtt62 [?25l"XXtt62" 1 line, 4 characters appended[?25h[?25l:[?25hw >>XXtt63 [?25l"XXtt63" 1 line, 4 characters appended[?25h[?25l:[?25hw >>XXtt71 [?25l"XXtt71" 1 line, 4 characters appended[?25h[?25l:[?25hw >>XXtt81 [?25l"XXtt81" 1 line, 4 characters appended[?25h[?25l:[?25hw >>XXtt91 [?25l"XXtt91" 1 line, 4 characters appended[?25h[?25l:[?25hw >>XXtt92 [?25l"XXtt92" 1 line, 4 characters appended[?25h[?25l:[?25hw >>XXtt93 [?25l"XXtt93" 1 line, 4 characters appended[?25h[?25l:[?25h" [?25l[?25h[?25l:[?25h" Concatenate the results. [?25l[?25h[?25l:[?25h" Make fileformat of test.out the native fileformat. [?25l[?25h[?25l:[?25h" Add a newline at the end. [?25l[?25h[?25l:[?25hset binary [?25l[?25h[?25l:[?25he! test.out [?25l"test.out" 2 lines, 10 charactersunix unix[?25h[?25l:[?25h$r XXtt01 [?25l"XXtt01" 3 lines, 14 charactersdos^Mdos^MEND[?25h[?25l:[?25h$r XXtt02 [?25l"XXtt02" 2 lines, 13 charactersmac^Mmac^MEND[?25h [?25l 1[?25h[?25l:[?25h$r XXtt11 [?25l"XXtt11" 3 lines, 16 charactersunix^Munix^MEND[?25h[?25l:[?25h$r XXtt12 [?25l"XXtt12" 3 lines, 14 charactersdos^Mdos^MEND[?25h[?25l:[?25h$r XXtt13 [?25l"XXtt13" 2 lines, 14 charactersmac^Mmac^M^MEND[?25h [?25l 2[?25h[?25l:[?25h$r XXtt21 [?25l"XXtt21" 3 lines, 15 charactersunixunix^MEND[?25h[?25l:[?25h$r XXtt22 [?25l"XXtt22" 3 lines, 15 charactersdos^Mdos^M^MEND[?25h[?25l:[?25h$r XXtt23 [?25l"XXtt23" 1 line, 12 charactersmac^Mmac^MEND[?25h[?25l 3[?25h[?25l:[?25h$r XXtt31 [?25l"XXtt31" 6 lines, 33 charactersunixunixdos^Mdos^Mmac^Mmac^MEND[?25h[?25l:[?25h$r XXtt32 [?25l"XXtt32" 6 lines, 36 charactersunix^Munix^Mdos^Mdos^M[?25h[?25l:[?25h$r XXtt33 [?25l"XXtt33" 5 lines, 32 charactersmac^Mmac^M^M END unix[?25h[?25lunix dos^M dos^M mac^Mmac^MEND [?25h[?25l 4[?25h[?25l :[?25h$r XXtt41 [?25l"XXtt41" 6 lines, 33 characters unix[?25h[?25l :[?25h$r XXtt42 [?25l"XXtt42" 4 lines, 23 charactersunix dos^M dos^M mac^Mmac^M END unix[?25h[?25l :[?25h$r XXtt43 [?25l"XXtt43" 4 lines, 24 charactersunix mac^Mmac^M END dos^M[?25h[?25ldos^M mac^Mmac^M^M END [?25h[?25l 5[?25h[?25l :[?25h$r XXtt51 [?25l"XXtt51" 5 lines, 24 characters unix[?25h[?25l :[?25h$r XXtt52 [?25l"XXtt52" 6 lines, 33 charactersunix dos^M dos^M END unix[?25h[?25l :[?25h$r XXtt53 [?25l"XXtt53" 3 lines, 22 charactersunix dos^M dos^M mac^Mmac^M END dos^M[?25h[?25ldos^M mac^Mmac^MEND [?25h[?25l 6[?25h[?25l :[?25h$r XXtt61 [?25l"XXtt61" 5 lines, 26 characters unix^M[?25h[?25l :[?25h$r XXtt62 [?25l"XXtt62" 4 lines, 26 charactersunix^M dos^M dos^M END unix^M[?25h[?25l :[?25h$r XXtt63 [?25l"XXtt63" 6 lines, 36 charactersunix^M mac^Mmac^M^M END unix^M[?25h[?25lunix^M dos^M dos^M mac^Mmac^M^M END [?25h[?25l 7[?25h[?25l :[?25h$r XXtt71 [?25l"XXtt71" 6 lines, 33 characters unix[?25h[?25lunix dos^M dos^M mac^Mmac^M END [?25h[?25l 8[?25h[?25l :[?25h$r XXtt81 [?25l"XXtt81" 6 lines, 33 characters unix[?25h[?25lunix dos^M dos^M mac^Mmac^M END [?25h[?25l 9[?25h[?25l :[?25h$r XXtt91 [?25l"XXtt91" 5 lines, 32 characters unix[?25h[?25l :[?25h$r XXtt92 [?25l"XXtt92" 5 lines, 32 charactersunix dos^M dos^M mac^Mmac^MEND unix[?25h[?25l :[?25h$r XXtt93 [?25l"XXtt93" 5 lines, 32 charactersunix dos^M dos^M mac^Mmac^MEND unix[?25h[?25lunix dos^M dos^M mac^Mmac^MEND [?25h[?25l 10[?25h[?25l :[?25h$r XXUnix [?25l"XXUnix" 2 lines, 10 characters unix[?25h[?25l :[?25hset nobinary ff& [?25l[?25h[?25l:[?25hw [?25l"test.out" 121 lines, 664 characters written[?25h[?25l:[?25hqa! [?25l[?1l>[?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=[?25h[?25l"test31.in" 69 lines, 1423 charactersTest for commands that close windows and/or buffers: :quit :close :hide :only :sall :all :ball :buf :edit STARTTEST :so tiny.vim GA 1^[:$w! Xtest1 $r2:$w! Xtest2 $r3:$w! Xtest3 :n! Xtest1 Xtest2 A 1^[: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^[: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^[:sp :n Xtest2 Xtest3 :all :1wincmd w[?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25lTest for commands that close windows and/or buffers:[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 54 lines, 1288 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST: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^[:q! :w >>test.out :unhide :w >>test.out :" test ":hide" hides anyway when 'hidden' not set; write "testtext 3" :set nohidden A 2^[:hide :w >>test.out :" test ":edit" failing in modified buffer when 'hidden' not set :" write "testtext 3 3" A 3^[: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^[:close :w >>test.out :" test ":close!" does hide when 'hidden' not set in modified buffer; :" write "testtext 1" A 3^[:close! :w >>test.out :qa! ENDTEST [?25h[?25lall1wincmd w :w >>test.out :" test abandoning changed buffer, should be unloaded even when 'hidden' set :" write "testtext 2 2" twiceset hiddenA 1^[:q!:w >>test.out :unhidw >>test.out :" test ":hide" hides anyway when 'hidden' not set; write "testtext 3" :set nohiddenA 2^[:hide:w >>test.out :" test ":edit" failing in modified buffer when 'hidden' not set :" write "testtext 3 3"A 3^[:e Xtest1:w >>test.ou" test ":edit" working in modified buffer when 'hidden' set; write "testtext 1" :set hiddene Xtest1w >>test.out :" test ":close" not hiding when 'hidden' not set in modified buffer; :" write "testtext 3 3 3"sp Xtest3et nohidden A 3^[:close:w >>test.out :" test ":close!" does hide when 'hidden' not set in modified buffer; :" write "testtext 1"A 3^[:close!:w >>test.out :qa!ENDTEST[?25h[?25l :so! Xdotest [?25h[?25l:[?25hso tiny.vim [?25l[?25h[?25l testtext[?25h[?25l1[?25h[?25l :[?25h$w! Xtest1 [?25l"Xtest1" [New File] 1 line, 11 characters written[?25h[?25l2[?25h[?25l:[?25h$w! Xtest2 [?25l"Xtest2" [New File] 1 line, 11 characters written[?25h[?25l3[?25h[?25l:[?25h$w! Xtest3 [?25l"Xtest3" [New File] 1 line, 11 characters written[?25h[?25l:[?25hn! Xtest1 Xtest2 [?25l"Xtest1" 1 line, 11 characterstesttext 1 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l1[?25h[?25l:[?25hset hidden [?25l[?25h[?25l:[?25h" test for working :n when hidden set; write "testtext 2" [?25l[?25h[?25l:[?25hn [?25l"Xtest2" 1 line, 11 characters2[?25h[?25l:[?25hw! test.out [?25l"test.out" [New File] 1 line, 11 characters written[?25h[?25l:[?25h" test for failing :rew when hidden not set; write "testtext 2 2" [?25l[?25h[?25l:[?25hset nohidden [?25l[?25h[?25l2[?25h[?25l:[?25hrew [?25lE37: No write since last change (add ! to override)[?25h[?25l:[?25hw >>test.out [?25l"test.out" 1 line, 13 characters appended[?25h[?25l:[?25h" test for working :rew when hidden set; write "testtext 1 1" [?25l[?25h[?25l:[?25hset hidden [?25l[?25h[?25l:[?25hrew [?25l"Xtest1" [Modified] line 1 of 1 --100%-- col 1 (file 1 of 2)1 1 [?25h[?25l:[?25hw >>test.out [?25l"test.out" 1 line, 13 characters appended[?25h[?25l:[?25h" test for :all keeping a buffer when it's modified; write "testtext 1 1 1" [?25l[?25h[?25l:[?25hset nohidden [?25l[?25h[?25l1[?25h[?25l:[?25hsp [?25lXtest1 [+] testtext 1 1 1Xtest1 [+] [?25h[?25l:[?25hn Xtest2 Xtest3 [?25l"Xtest2" [Modified] line 1 of 1 --100%-- col 1 (file 1 of 2)2 22[?25h[?25l:[?25hall [?25l"Xtest3" 1 line, 11 characterstesttext 1 1 1 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Xtest1 [+] testtext 2 2 ~ ~ ~ ~ ~ ~ ~ ~ ~ Xtest2 [+] testtext 3 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Xtest3 [?25h[?25l:[?25h1wincmd w [?25lXtest1 [+] Xtest2 [+] [?25h[?25l:[?25hw >>test.out [?25l"test.out" 1 line, 15 characters appended[?25h[?25l:[?25h" test abandoning changed buffer, should be unloaded even when 'hidden' set [?25l[?25h[?25l:[?25h" write "testtext 2 2" twice [?25l[?25h[?25l:[?25hset hidden [?25l[?25h[?25l1 1[?25h[?25l:[?25hq! [?25ltesttext 2 2 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Xtest2 [+] testtext 3 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Xtest3 [?25h[?25l:[?25hw >>test.out [?25l"test.out" 1 line, 13 characters appended[?25h[?25l:[?25hunhide [?25l[?25h[?25l:[?25hw >>test.out [?25l"test.out" 1 line, 13 characters appended[?25h[?25l:[?25h" test ":hide" hides anyway when 'hidden' not set; write "testtext 3" [?25l[?25h[?25l:[?25hset nohidden [?25l[?25h[?25l2[?25h[?25l:[?25hhide [?25l3~ ~ ~ [?25h[?25l:[?25hw >>test.out [?25l"test.out" 1 line, 11 characters appended[?25h[?25l:[?25h" test ":edit" failing in modified buffer when 'hidden' not set [?25l[?25h[?25l:[?25h" write "testtext 3 3" [?25l[?25h[?25l3[?25h[?25l:[?25he Xtest1 [?25lE37: No write since last change (add ! to override)[?25h[?25l:[?25hw >>test.out [?25l"test.out" 1 line, 13 characters appended[?25h[?25l:[?25h" test ":edit" working in modified buffer when 'hidden' set; write "testtext 1" [?25l[?25h[?25l:[?25hset hidden [?25l[?25h[?25l:[?25he Xtest1 [?25l"Xtest1" 1 line, 11 characters1[?25h[?25l:[?25hw >>test.out [?25l"test.out" 1 line, 11 characters appended[?25h[?25l:[?25h" test ":close" not hiding when 'hidden' not set in modified buffer; [?25l[?25h[?25l:[?25h" write "testtext 3 3 3" [?25l[?25h[?25l:[?25hsp Xtest3 [?25l"Xtest3" [Modified] line 1 of 1 --100%-- col 1 (file 2 of 2)3 3Xtest3 [+] testtext 1Xtest1 [?25h[?25l:[?25hset nohidden [?25l[?25h[?25l3[?25h[?25l:[?25hclose [?25lE37: No write since last change (add ! to override)[?25h[?25l:[?25hw >>test.out [?25l"test.out" 1 line, 15 characters appended[?25h[?25l:[?25h" test ":close!" does hide when 'hidden' not set in modified buffer; [?25l[?25h[?25l:[?25h" write "testtext 1" [?25l[?25h[?25l3 3[?25h[?25l:[?25hclose! [?25l1~ ~ ~ [?25h[?25l:[?25hw >>test.out [?25l"test.out" 1 line, 11 characters appended[?25h[?25l:[?25hqa! [?25l[?1l>[?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=[?25h[?25l"test32.in" 57 lines, 1242 charactersTest 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= ^WnO#include "Xtestfile" ru^N^N^X^N^[^A O^P^X^N ^X^P^P^P^P^P ^X^P^P^X^X^N^X^N^N^[ :se cpt=.,w,i kOM^N^X^N^X^N^X^X^X^P ^X^L^X^L^P^P^[ :se cpt=kXtestfile[?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25lTest for insert expansion[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 24 lines, 384 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST:w Xtest11.one :w Xtest11.two O^N^[IX^[A^X^F^N^[ :se cpt=w OST^N^P^P^P^P^[ :se cpt=u nohid ^WoOEN^N unl^N^X^X^P^[ :se cpt=t,d def=^\\k* tags=Xtestfile notagbsearch O^X^]^X^D^X^D^X^X^D^X^D^X^D^X^D a^N^[ :wq! test.out ENDTEST[?25h[?25l [?25h[?25l :so! Xdotest [?25h[?25l:[?25hso small.vim [?25l[?25h[?25l:[?25hse nocp viminfo+=nviminfo cpt=.,w ff=unix | $-2,$w!Xtestfile | set ff& [?25l"Xtestfile" [New] 3L, 57C written[?25h[?25l:[?25hse cot= [?25l[?25h[?25l~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [No Name] ^X^L^X^L^P^P^[:se cpt=kXtestfile :w Xtest11.onetwo O^N^[IX^[A^X^F^N^[ :se cpt=wOST^N^P^P^P^P^[ :se cpt=u nohid ^WoOEN^Nunl^N^X^X^P^[ :se cpt=t,d def=^\\k* tags=Xtestfile notagbsearch O^X^]^X^D^X^D^X^X^D^X^D^X^D^X^DaN^[:wq! test.out ENDTESTtest32.in [?25h[?25l-- INSERT -- -- Keyword completion (^N^P) -- Searching... search hit BOTTOM, continuing at TOPScanning: test32.inmatch in file test32.in -- Keyword completion (^N^P) match 1 of 4match in file test32.in-- Keyword completion (^N^P) match 2 of 4-- INSERT -- -- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) -- INSERT --Adding Keyword completion (^N^P) -- Searching... search hit BOTTOM, continuing at TOPScanning: test32.inmatch in file test32.in -- Adding Keyword completion (^N^P) Word from other line#include "Xtestfile" run1 run2[+][?25h[?25l-- Adding Keyword completion (^N^P) Word from other line-- INSERT --[?25h[?25l3[?25h [?25l-- INSERT -- -- Keyword completion (^N^P) -- Searching... search hit TOP, continuing at BOTTOMScanning: test32.in-- Keyword completion (^N^P) match 1 of 103-- INSERT -- -- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) -- INSERT --Adding Keyword completion (^N^P) -- Searching... search hit BOTTOM, continuing at TOPScanning: test32.in-- Adding Keyword completion (^N^P) Word from other line-- INSERT -- -- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) -- INSERT --Keyword Local completion (^N^P) -- Searching... search hit TOP, continuing at BOTTOM-- Keyword Local completion (^N^P) match 1 of 4 match 2 of 4 match 3 of 4 match 4 of 4 Back at original-- INSERT -- -- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) -- INSERT --Keyword Local completion (^N^P) -- Searching... search hit TOP, continuing at BOTTOM-- Keyword Local completion (^N^P) match 1 of 4 match 2 of 4-- INSERT -- -- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) -- INSERT --^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) -- INSERT --Keyword completion (^N^P) -- Searching... search hit BOTTOM, continuing at TOPScanning: test32.in-- Keyword completion (^N^P) The only match-- INSERT -- -- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) -- INSERT --Adding Keyword completion (^N^P) -- Searching... search hit BOTTOM, continuing at TOPScanning: test32.in-- Adding Keyword completion (^N^P) match 1 of 2match in file test32.in-- Adding Keyword completion (^N^P) Word from other linerun3 run3 run1 run2[?25h[?25l-- Adding Keyword completion (^N^P) Word from other line-- INSERT --[?25h [?25l:[?25hse cpt=.,w,i [?25l[?25h[?25l-- INSERT --Keyword completion (^N^P) -- Searching... search hit BOTTOM, continuing at TOPScanning: test32.in included file: Xtestfile match in file test32.in-- Keyword completion (^N^P) The only match-- INSERT -- -- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) -- INSERT --Adding Keyword completion (^N^P) -- Searching... search hit BOTTOM, continuing at TOPScanning: test32.in included file: Xtestfile match in file test32.in-- Adding Keyword completion (^N^P) The only match-- INSERT -- -- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) -- INSERT --Adding Keyword completion (^N^P) -- Searching... search hit BOTTOM, continuing at TOPScanning: test32.in included file: Xtestfile match in file test32.in-- Adding Keyword completion (^N^P) The only match-- INSERT -- -- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) -- INSERT --^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) -- INSERT --^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) -- INSERT --Keyword Local completion (^N^P) -- Searching... search hit TOP, continuing at BOTTOM-- Keyword Local completion (^N^P) match 1 of 3-- INSERT -- -- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) -- Whole line completion (^L^N^P) -- Searching... search hit TOP, continuing at BOTTOMScanning: test32.in-- Whole line completion (^L^N^P) match 1 of 54INSERT ---- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) match 1 of 54Adding Whole line completion (^L^N^P) -- Searching... search hit TOP, continuing at BOTTOMScanning: test32.in-- Adding Whole line completion (^L^N^P) The only match Back at original The only matchMakefileto run3 Makefileto run3 Makefileto run3[?25h[?25l-- INSERT --[?25h[?25l:[?25hse cpt=kXtestfile [?25l[?25h[?25l:[?25hw Xtest11.one [?25l"Xtest11.one" [New] 9L, 104C writtenXtest11.one [?25h[?25l:[?25hw Xtest11.two [?25l"Xtest11.two" [New] 9L, 104C written[?25h[?25l-- INSERT --Keyword completion (^N^P) -- Searching... Scanning dictionary: Xtestfilematch in file Xtestfile-- Keyword completion (^N^P) match 1 of 9test11[+]I[?25h [?25l-- Keyword completion (^N^P) match 1 of 9-- INSERT --[?25h[?25l-- INSERT --Xtest11 [?25h[?25l-- INSERT -- -- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) -- File name completion (^F^N^P) -- Searching...match 1 of 2 match 2 of 2.two[?25h[?25l-- INSERT --[?25h[?25l:[?25hse cpt=w [?25l[?25h[?25l-- INSERT -- -- Keyword completion (^N^P) -- Searching... Scanning: test32.inmatch in file test32.in -- Keyword completion (^N^P) The only match Back at originalmatch in file test32.in-- Keyword completion (^N^P) The only match Back at originalmatch in file test32.in-- Keyword completion (^N^P) The only matchSTARTTEST[?25h[?25l-- Keyword completion (^N^P) The only match-- INSERT --[?25h[?25l:[?25hse cpt=u nohid [?25l[?25h[?25l~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l-- INSERT --Keyword completion (^N^P) -- Searching... Scanning: test32.inmatch in file test32.in -- Keyword completion (^N^P) The only match-- INSERT -- -- Keyword completion (^N^P) -- Searching... Scanning: test32.inmatch in file test32.in -- Keyword completion (^N^P) match 1 of 3-- INSERT -- -- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) -- INSERT --^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) -- INSERT --Keyword completion (^N^P) -- Searching... Scanning: test32.inmatch in file test32.in -- Keyword completion (^N^P) The only matchENDTEST unless[?25h[?25l-- Keyword completion (^N^P) The only match-- INSERT --[?25h[?25l:[?25hse cpt=t,d def=^\\k* tags=Xtestfile notagbsearch [?25l[?25h[?25l-- INSERT --^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) -- Tag completion (^]^N^P) -- Searching...match 1 of 3INSERT ---- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) match 1 of 3Definition completion (^D^N^P) -- Searching...Scanning included file: Xtestfilematch in file Xtestfile-- Definition completion (^D^N^P) The only matchINSERT ---- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match -- Adding Definition completion (^D^N^P) -- Searching... Scanning included file: Xtestfilematch in file Xtestfile-- Adding Definition completion (^D^N^P) The only matchINSERT ---- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match -- INSERT --^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) -- Definition completion (^D^N^P) -- Searching... Scanning included file: Xtestfilematch in file Xtestfile-- Definition completion (^D^N^P) The only matchINSERT ---- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match -- Adding Definition completion (^D^N^P) -- Searching... Scanning included file: Xtestfilematch in file Xtestfile-- Adding Definition completion (^D^N^P) The only matchINSERT ---- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match -- Adding Definition completion (^D^N^P) -- Searching... Scanning included file: Xtestfilematch in file Xtestfile-- Adding Definition completion (^D^N^P) The only matchINSERT ---- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match -- Adding Definition completion (^D^N^P) -- Searching... Scanning included file: Xtestfilematch in file Xtestfile-- Adding Definition completion (^D^N^P) Word from other lineINSERT ---- Keyword completion (^N^P) -- Searching... Scanning tags.included file: Xtestfile -- Keyword completion (^N^P) The only matchtest11file 36Gepeto/Tag/ asd asd[?25h[?25l-- Keyword completion (^N^P) The only match-- INSERT --[?25h ru[?25l:[?25hwq! test.out [?25l"test.out" [New] 15L, 175C written [?1l>[?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=[?25h[?25l"test33.in" 34 lines, 616 charactersTest 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 "" (html-file ,dest)) ,@body (princ ""))) ~ [?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25lTest for 'lisp'[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 5 lines, 63 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST[?25h [?25l:so! Xdotest [?25h[?25l:[?25hso small.vim [?25l[?25h[?25l:[?25hset lisp [?25l[?25h[?25l/[?25h^(defun [?25l[?25h[?25l22 lines to indent... 23indented  (format nil "~(~A~).html" base)) (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)))) `(progn (format t "" (html-file ,dest)) ,@body (princ "")))[?25h[?25l:[?25h/^(defun/,$w! test.out [?25lsearch hit BOTTOM, continuing at TOP "test.out" [New File] 23 lines, 544 characters written[?25h[?25l:[?25hq! [?25l[?1l>[?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=[?25h[?25l"test34.in" 58 lines, 1014 charactersTest for user functions. Also test an 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[?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25lTest for user functions.[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 51 lines, 916 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST: return '' :endfunc :let counter = 0 :inoremap ( ListItem() :inoremap [ ListReset() :imap + Expr1() :imap * Expr2() :let retval = "nop" /^here C^R=Table("xxx", 4, "asdf") ^R=Compute(45, 0, "retval") ^R=retval ^R=Compute(45, 5, "retval") ^R=retval XX+-XX ---*--- (one (two [(one again^[:$-5,$wq! test.out ENDTEST[?25h[?25l [?25h[?25l :so! Xdotest [?25h[?25l:[?25hso small.vim [?25l[?25h[?25l:[?25hfunction Table(title, ...) [?25l : [?25h: let ret = a:title [?25l: [?25h: let idx = 1 [?25l: [?25h: while idx <= a:0 [?25l: [?25h: exe "let ret = ret . a:" . idx [?25l: [?25h: let idx = idx + 1 [?25l: [?25h: endwhile [?25l: [?25h: return ret [?25l: [?25h:endfunction [?25l: normal! v : return "111" :endfunc :func Expr2() : call search('XX', 'b') : return "222" :endfunc :func ListItem()[?25h[?25l :[?25hfunction Compute(n1, n2, divname) [?25l : [?25h: if a:n2 == 0 [?25l: [?25h: return "fail" [?25l: [?25h: endif [?25l: [?25h: exe "let g:" . a:divname . " = ". a:n1 / a:n2 [?25l: [?25h: return "ok" [?25l: [?25h:endfunction [?25l: normal! v : return "111" :endfunc :func Expr2() : call search('XX', 'b') : return "222"[?25h[?25l :[?25hfunc Expr1() [?25l : [?25h: normal! v [?25l: [?25h: return "111" [?25l: [?25h:endfunc [?25l: normal! v : return "111" :endfunc[?25h[?25l :[?25hfunc Expr2() [?25l : [?25h: call search('XX', 'b') [?25l: [?25h: return "222" [?25l: [?25h:endfunc [?25l: normal! v : return "111" :endfunc[?25h[?25l :[?25hfunc ListItem() [?25l : [?25h: let g:counter += 1 [?25l: [?25h: return g:counter . '. ' [?25l: [?25h:endfunc [?25l: normal! v : return "111" :endfunc[?25h[?25l :[?25hfunc ListReset() [?25l : [?25h: let g:counter = 0 [?25l: [?25h: return '' [?25l: [?25h:endfunc [?25l: normal! v : return "111" :endfunc[?25h[?25l :[?25hlet counter = 0 [?25l[?25h[?25l:[?25hinoremap ( ListItem() [?25l[?25h[?25l:[?25hinoremap [ ListReset() [?25l[?25h[?25l:[?25himap + Expr1() [?25l[?25h[?25l:[?25himap * Expr2() [?25l[?25h[?25l:[?25hlet retval = "nop" [?25l[?25h[?25l/[?25h^here [?25l here[?25h[?25lher$ =[?25hTable("xxx", 4, "asdf") [?25l=[?25hCompute(45, 0, "retval") [?25l=[?25hretval [?25l=[?25hCompute(45, 5, "retval") [?25l=[?25hretval [?25lError detected while processing function Expr1: line 1: E523: Not allowed here Press ENTER or type command to continue[?25h[?25l:endfunc :func ListItem() : let g:counter += 1 : return g:counter . '. ' :endfuncfunc ListReset() : let g:counter = 0 : return ''endfunclet counter = 0 :inoremap ( ListItem() :inoremap [ ListReset() :imap + Expr1() :imap * Expr2()retval = "nop" /^heC^R=Table("xxx", 4, "asdf") ^R=Compute(45, 0, "retval") ^R=retval ^R=Compute(45, 5, "retval") ^R=retvalXX+-XX---*---(one(two[(one again^[:$-5,$wq! test.out ENDTESTxxx4asdf fail nop ok 9 XX111XX ---222---1. one2. two[?25h[?25l1. one again[?25h[?25l :[?25h$-5,$wq! test.out [?25l"test.out" [New File] 6 lines, 68 characters written [?1l>[?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=[?25h[?25l"test35.in" 21 lines, 448 charactersTest Ctrl-A and Ctrl-X, which increment and decrement decimal, hexadecimal, and octal numbers. STARTTEST /^start-here :set nrformats=octal,hex j^A102^X^Al^Xl^A64^A128^X$^X :set nrformats=octal 0^A102^X^Al^X2^Aw65^A129^Xblx6lD :set nrformats=hex 0101^Xl257^X^ATxldt ^A ^X ^X :set nrformats= 0200^Xl100^Xw78^X^Ak :$-3,$wq! test.out ENDTEST start-here 100 0x100 077 0 100 0x100 077 100 0x100 077 0xfF 0xFf 100 0x100 077 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25lTest Ctrl-A and Ctrl-X, which increment and decrement decimal, hexadecimal,[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 10 lines, 200 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST[?25h [?25l:so! Xdotest [?25h[?25l/[?25h^start-here [?25l[?25h[?25l:[?25hset nrformats=octal,hex [?25l[?25h [?25l101[?25h[?25l -1 0x100 077 0[?25h[?25l0 0x100 077 0[?25h0[?25l0ff[?25hf[?25l 0100 0[?25h[?25l20[?25h[?25l00[?25h0 [?25l-1[?25h[?25l:[?25hset nrformats=octal [?25l[?25h [?25l101[?25h[?25l -1 0x100 077 -[?25h[?25l0 0x100 077 [?25h0[?25l -1x100 077[?25h[?25l1x100 077 [?25h[?25l0200[?25h[?25l37777777777[?25h0[?25l7 [?25h777777[?25l[?25h[?25l:[?25hset nrformats=hex [?25l[?25h [?25l-1 0x100 077 0xfF 0xFf[?25h1[?25lffffffff 077 0xfF 0xFf[?25h[?25l00000000[?25h0[?25l 077 0xfF 0xFf[?25h[?25l8[?25h8[?25lFE[?25hE[?25lfe[?25h[?25l:[?25hset nrformats= [?25l[?25h [?25l-100 0x100 077 -10[?25h0[?25l -100x100 077[?25h[?25l-001[?25h[?25l000 [?25h[?25l:[?25h$-3,$wq! test.out [?25l"test.out" [New File] 4 lines, 120 characters written [?1l>[?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=[?25h[?25l"test36.in" 40 lines, 1596 charactersTest 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^L^M !"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~^?~@~B~P~[¦±¼ÇÓé^L^M !"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~^?~@~B~P~[¦±¼ÇÓé^L^M !"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~^?~@~B~P~[¦±¼ÇÓé^L^M !"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~^?~@~B~P~[¦±¼ÇÓé^L^M !"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~^?~@~B~P~[¦±¼ÇÓé^L^M !"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~^?~@~B~P~[¦±¼ÇÓé^L^M !"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~^?~@~B~P~[¦±¼ÇÓé^L^M !"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~^?~@~B~P~[¦±¼ÇÓé^L^M !"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~^?~@~B~P~[¦±¼ÇÓé^L^M !"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~^?~@~B~P~[¦±¼ÇÓé^L^M !"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~^?~@~B~P~[¦±¼ÇÓé[?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25lTest character classes in regexp[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 18 lines, 204 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST[?25h [?25l:so! Xdotest [?25h[?25l/[?25h^start-here [?25l[?25h[?25l:[?25hs/\d//g [?25l10 substitutions on 1 line:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~^?~@~B~P~[¦±¼ÇÓé[?25h[?25l:[?25hs/\D//g [?25l72 substitutions on 1 line0123456789[?25h[?25l:[?25hs/\o//g [?25l8 substitutions on 1 line89:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~^?~@~B~P~[¦±¼ÇÓé[?25h[?25l:[?25hs/\O//g [?25l74 substitutions on 1 line01234567[?25h[?25l:[?25hs/\x//g [?25l22 substitutions on 1 line:;<=>?@GHIXYZ[\]^_`ghiwxyz{|}~^?~@~B~P~[¦±¼ÇÓé[?25h[?25l:[?25hs/\X//g [?25l60 substitutions on 1 line0123456789ABCDEFabcdef[?25h[?25l:[?25hs/\w//g [?25l36 substitutions on 1 line:;<=>?@[\]^`{|}~^?~@~B~P~[¦±¼ÇÓé[?25h[?25l:[?25hs/\W//g [?25l46 substitutions on 1 line0123456789ABCDEFGHIXYZ_abcdefghiwxyz[?25h[?25l:[?25hs/\h//g [?25l26 substitutions on 1 line[\]^`{|}~^?~@~B~P~[¦±¼ÇÓé[?25h[?25l:[?25hs/\H//g [?25l56 substitutions on 1 lineABCDEFGHIXYZ_abcdefghiwxyz[?25h[?25l:[?25hs/\a//g [?25l25 substitutions on 1 line[\]^_`{|}~^?~@~B~P~[¦±¼ÇÓé[?25h[?25l ^L^M !"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~^?~@~B~P~[¦±¼ÇÓé[?25h[?25l :[?25hs/\A//g [?25l57 substitutions on 1 lineABCDEFGHIXYZabcdefghiwxyz[?25h[?25l ^L^M !"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~^?~@~B~P~[¦±¼ÇÓé[?25h[?25l :[?25hs/\l//g [?25l13 substitutions on 1 line{|}~^?~@~B~P~[¦±¼ÇÓé[?25h[?25l ^L^M !"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~^?~@~B~P~[¦±¼ÇÓé[?25h[?25l :[?25hs/\L//g [?25l69 substitutions on 1 lineabcdefghiwxyz[?25h[?25l ^L^M !"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~^?~@~B~P~[¦±¼ÇÓé[?25h[?25l :[?25hs/\u//g [?25l12 substitutions on 1 line[\]^_`abcdefghiwxyz{|}~^?~@~B~P~[¦±¼ÇÓé[?25h[?25l ^L^M !"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~^?~@~B~P~[¦±¼ÇÓé[?25h[?25l :[?25hs/\U//g [?25l70 substitutions on 1 lineABCDEFGHIXYZ[?25h[?25l:[?25h/^start-here/+1,$wq! test.out [?25lsearch hit BOTTOM, continuing at TOP "test.out" [New File] 16 lines, 672 characters written [?1l>[?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=[?25h[?25l"test37.in" 116 lines, 3262 charactersTest for 'scrollbind'. 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 ^Wt: :resize 8 /^start of window 1$/ zt: :set scrollbind ^Wj: :resize 7 /^start of window 2$/ zt: :set scrollbind :" -- start of tests -- :" TEST scrolling down L5jHyy^Wbpr0^WtHyy^Wbpr1^WtL6jHyy^Wbpr2^WkHyy^Wbpr3: :" TEST scrolling up ^WtH4k^WjH^WtHyy^Wbpr4^WkHyy^Wbpr5^Wk3k^WtH^WjHyy^Wbpr6^WtHyy^Wbpr7: :" TEST horizontal scrolling :set scrollopt+=hor gg"zyyG"zpG^Wt015zly$^Wbp"zpG^Wky$^Wbp"zpG: ^Wk10jH7zhg0y$^Wbp"zpG^WtHg0y$^Wbp"zpG: :set scrollopt-=hor :" ****** tests using two different buffers ***** ^Wt^Wj: :close[?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25lTest for 'scrollbind'. Do not add a line below![?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 72 lines, 1498 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST:" TEST syncbind ^Wt:set noscb ggL^Wj:set noscb ggL:set scb ^Wt:set scb G^WjG:syncbind Hk^WtH^WjHyy^Wbp^Wtyy^Wbp: ^Wt:set noscb ggL^Wj:set noscb ggL:set scb ^Wt:set scb ^WtG^WjG^Wt:syncbind Hk^WjH^WtHyy^Wbp^Wt^Wjyy^Wbp: ^WtH3k^WjH^WtHyy^Wbp^Wt^Wjyy^Wbp: :" ***** done with tests ***** :w! test.out" 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[?25h [?25l:so! Xdotest [?25h[?25l:[?25hso small.vim [?25l[?25h[?25l:[?25hset noscrollbind [?25l[?25h[?25l:[?25hset scrollopt=ver,jump [?25l[?25h[?25l:[?25hset scrolloff=2 [?25l[?25h[?25l:[?25hset nowrap [?25l[?25h[?25l:[?25hset noequalalways [?25l[?25h[?25l:[?25hset splitbelow [?25l[?25h[?25l:[?25h" TEST using two windows open to one buffer, one extra empty window [?25l[?25h[?25l:[?25hsplit [?25l^Wt:set scbG^WjG^Wt:syncbind Hk^WjH^WtHyy^Wbp^Wt^Wjyy^Wbp: ^WtH3k^WjH^WtHyy^Wbp^Wt^Wjyy^Wbp: :" ***** done with tests ***** :w! test.out " Write contents of this file :qa!ENDTESTstart of window 1 . line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01 . line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02 . line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03 . line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04 . line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05test37.in :qa!ENDTESTstart of window 111223344556677880909001122 test37.in [?25h[?25l:[?25hnew [?25ltest37.in ~ ~ ~ ~ ~ ~ ~ [No Name][?25htest37.in [No Name] [?25l:[?25h[?25l[?25h[?25l:[?25hresize 8 [?25l:" ***** done with tests ***** :w! test.out " Write contents of this file :qa!ENDTESTstart of window 1 . line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01 test37.in :qa! ENDTESTstart of window 11122 . line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04 . line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05 . line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06 . line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07 . line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 089910101111[?25h[?25l/[?25h^start of window 1$/ [?25l . line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[?25h[?25l. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03 . line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04 . line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[?25h[?25l:[?25h[?25l[?25h[?25l:[?25hset scrollbind [?25l[?25htest37.in test37.in [?25l:[?25h[?25l[?25h[?25l:[?25hresize 7 [?25ltest37.in ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l/[?25h^start of window 2$/ [?25lend of window 1start of window 2 . line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 012 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 023 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03[?25h[?25l . line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04[?25h[?25l:[?25h[?25l[?25h[?25l:[?25hset scrollbind [?25l[?25h[?25l:[?25h" -- start of tests -- [?25l[?25h[?25l:[?25h" TEST scrolling down [?25l[?25h [?25l. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06 . line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07 . line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08 . line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09 . line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05 . line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06 . line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07 . line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08 . line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09[?25htest37.in [No Name] [?25l . line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05[+][?25h[?25l0[?25htest37.in [No Name] [+] test37.in [No Name] [+] [?25l . line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[?25h[?25l1[?25htest37.in [No Name] [+]  [?25l. 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 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10 . line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11 . line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12 . line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13 . line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14 . line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15[?25htest37.in [No Name] [+] [?25l . line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[?25h[?25l2[?25htest37.in [No Name] [+] test37.in [No Name] [+] [?25l . line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?25h[?25l3[?25h[?25l:[?25h[?25l[?25h[?25l:[?25h" TEST scrolling up [?25l[?25htest37.in [No Name] [+] [?25l. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04 . line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05 . line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06 . line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07 . line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08440505060607070808090900[?25htest37.in test37.in test37.in test37.in test37.in [No Name] [+] [?25l . line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06[?25h[?25l4[?25htest37.in [No Name] [+] test37.in [No Name] [+] [?25l . line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06[?25h[?25l5[?25htest37.in [No Name] [+] [?25lstart of window 1 . line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01 . line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02 . line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03start of window 2 . line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01 . line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02 . line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03 [?25htest37.in test37.in test37.in test37.in test37.in [No Name] [+] [?25l . line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02[?25h[?25l6[?25htest37.in [No Name] [+] test37.in [No Name] [+] [?25l . line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[?25h[?25l7[?25h[?25l:[?25h[?25l[?25h[?25l:[?25h" TEST horizontal scrolling [?25l[?25h[?25l:[?25hset scrollopt+=hor [?25l[?25h[?25l[?25htest37.in [No Name] [+] [?25l 156789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0156789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0256789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0356789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0556789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0656789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07 2UTSRQPONMLKJIHGREDCBA9876543210 01UTSRQPONMLKJIHGREDCBA9876543210 02UTSRQPONMLKJIHGREDCBA9876543210 03UTSRQPONMLKJIHGREDCBA9876543210 04UTSRQPONMLKJIHGREDCBA9876543210 05UTSRQPONMLKJIHGREDCBA9876543210 06[?25htest37.in [No Name] [+] [?25l56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[?25h[?25l[?25htest37.in [No Name] [+] test37.in [No Name] [+] [?25lUTSRQPONMLKJIHGREDCBA9876543210 02[?25h[?25l[?25h[?25l:[?25h[?25l[?25htest37.in [No Name] [+] [?25l56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09101112131415UTSRQPONMLKJIHGREDCBA9876543210 09101112131415[?25h[?25l. 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[?25h[?25l[?25htest37.in [No Name] [+] [?25l. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?25h[?25l[?25htest37.in [No Name] [+]  test37.in [No Name] [+] [?25l. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[?25h[?25l[?25h[?25l:[?25h[?25l[?25h[?25l:[?25hset scrollopt-=hor [?25l[?25h[?25l:[?25h" ****** tests using two different buffers ***** [?25l[?25htest37.in [No Name] [+] test37.in test37.in [?25l:[?25h[?25l[?25h[?25l:[?25hclose [?25lstart of window 20000000000[?25h[?25l:[?25h[?25l[?25h[?25l:[?25hset noscrollbind [?25l[?25h[?25l:[?25h/^start of window 2$/,/^end of window 2$/y [?25l18 lines yanked[?25h[?25l:[?25hnew [?25ltest37.in ~ ~ ~ ~ ~ ~ ~ [No Name][?25htest37.in [No Name] test37.in [No Name] [?25l4 more lines[+][?25h [?25l18 more linesstart of window 2. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02[?25h[?25l:[?25h[?25l[?25htest37.in [No Name] [+] [?25l/[?25h^start of window 1$/ [?25lsearch hit BOTTOM, continuing at TOPENDTESTstart of window 1010102020303[?25h[?25l . line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04[?25h[?25l:[?25h[?25l[?25h[?25l:[?25hset scrollbind [?25l[?25htest37.in [No Name] [+] [?25l:[?25h[?25l[?25h[?25l/[?25h^start of window 2$/ [?25lsearch hit BOTTOM, continuing at TOP[?25h[?25l. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03 . line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04 . line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05[?25h[?25l:[?25h[?25l[?25h[?25l:[?25hset scrollbind [?25l[?25h[?25l:[?25h" -- start of tests -- [?25l[?25h[?25l:[?25h" TEST scrolling down [?25l[?25h [?25l. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05 . line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06 . line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07 . line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08 . line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06 . line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07 . line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08 . line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09 . line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10[?25h[No Name] [+] [No Name] [+] [?25l . line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05[?25h[?25l0[?25htest37.in [No Name] [+] test37.in [No Name] [+] [?25l . line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[?25h[?25l1[?25htest37.in [No Name] [+]  [?25l. 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 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11 . line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12 . line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13 . line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14 . line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15 . line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[?25htest37.in [No Name] [+] [?25l . line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[?25h[?25l2[?25h[No Name] [+] [No Name] [+] [No Name] [+] [No Name] [+] [?25l . line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11 [?25h[?25l3[?25h[?25l :[?25h[?25l[?25h[?25l:[?25h" TEST scrolling up [?25l[?25htest37.in [No Name] [+] [?25l440505060607070808090900. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04 . line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05 . line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06 . line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07 . line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08[?25htest37.in [No Name] [+] test37.in [No Name] [+] test37.in [No Name] [+] [?25l . line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06 [?25h[?25l4[?25h[No Name] [+] [No Name] [+] [No Name] [+] [No Name] [+] [?25l . line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06 [?25h[?25l5[?25h[No Name] [+] [No Name] [+] [?25lstart of window 1 . line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01 . line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02 . line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03start of window 2 . line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01 . line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02 . line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03 [?25htest37.in [No Name] [+] test37.in [No Name] [+] [No Name] [+] [No Name] [+] [?25l . line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02 [?25h[?25l6[?25htest37.in [No Name] [+] test37.in [No Name] [+] [?25l . line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02 [?25h[?25l7[?25h[?25l :[?25h[?25l[?25h[?25l:[?25h" TEST horizontal scrolling [?25l[?25h[?25l:[?25hset scrollopt+=hor [?25l[?25h[?25l0 line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05 1 line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05 2 line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11 3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?25h[?25l3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11 4 line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06 5 line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06 6 line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02 7 line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02 [?25h[?25l [?25htest37.in [No Name] [+] [?25l 156789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0156789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0256789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0356789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 0556789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06 2UTSRQPONMLKJIHGREDCBA9876543210 01UTSRQPONMLKJIHGREDCBA9876543210 02UTSRQPONMLKJIHGREDCBA9876543210 03UTSRQPONMLKJIHGREDCBA9876543210 04UTSRQPONMLKJIHGREDCBA9876543210 05UTSRQPONMLKJIHGREDCBA9876543210 06UTSRQPONMLKJIHGREDCBA9876543210 07[?25htest37.in [No Name] [+] [?25l56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[?25h[?25l [?25h[No Name] [+] [No Name] [+] [No Name] [+] [No Name] [+] [?25lUTSRQPONMLKJIHGREDCBA9876543210 02[?25h[?25l [?25h[?25l :[?25h[?25l[?25h[No Name] [+] [No Name] [+] [?25l56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09101112131415 UTSRQPONMLKJIHGREDCBA9876543210 0910111213141516[?25h[?25l. 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[?25h[?25l[?25h[No Name] [+] [No Name] [+] [?25l. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?25h[?25l [?25htest37.in [No Name] [+]  test37.in [No Name] [+] [?25l. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[?25h[?25l [?25h[?25l :[?25h[?25l[?25h[?25l:[?25hset scrollopt-=hor [?25l[?25h[?25l:[?25h" TEST syncbind [?25l[?25htest37.in [No Name] [+] [?25l:[?25hset noscb [?25l[?25h[?25lTest for 'scrollbind'. Do not add a line below! STARTTEST:so small.vim:set noscrollbind:set scrollopt=ver,jump:set scrolloff=2:set nowrap[?25h test37.in [No Name] [+] [?25l:[?25hset noscb [?25l[?25h[?25lstart of window 201010202[?25h[?25l:[?25hset scb [?25l[?25htest37.in [No Name] [+] [?25l:[?25hset scb [?25l[?25h[?25l. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14 . line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15 . line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16 end of window 2end of test37.in (please don't delete this line) end of window 2 ~ ~ ~ ~ ~ ~ ~ [?25h[?25lzt::set scrollbind:" -- start of tests --:" TEST scrolling downL5jHyy^Wbpr0^WtHyy^Wbpr1^WtL6jHyy^Wbpr2^WkHyy^Wbpr3: :" TEST scrolling up ^WtH4k^WjH^WtHyy^Wbpr4^WkHyy^Wbpr5^Wk3k^WtH^WjHyy^Wbpr6^WtHyy^Wbpr7: test37.in . line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15 . line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[No Name] [+] [?25h[?25l:[?25hsyncbind [?25l[?25h[?25l/^start of window 2$/. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14[?25htest37.in [No Name] [+] test37.in [No Name] [+] [No Name] [+] [No Name] [+] [?25l . line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16 [?25htest37.in [No Name] [+] test37.in [No Name] [+] [?25l :set scrollbind [?25h[?25l :[?25h[?25l[?25htest37.in [No Name] [+] [?25l:[?25hset noscb [?25l[?25h[?25lTest for 'scrollbind'. Do not add a line below! STARTTEST :so small.vimset noscrollbindset scrollopt=ver,jump :set scrolloff=2set nowrap[?25h test37.in [No Name] [+] [?25l:[?25hset noscb [?25l[?25h[?25lstart of window 2. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02[?25h[?25l:[?25hset scb [?25l[?25htest37.in [No Name] [+] [?25l:[?25hset scb [?25l[?25h[?25l. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14 . line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15 . line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16 end of window 2end of test37.in (please don't delete this line) end of window 2 ~ ~ ~ ~ ~ ~ ~ [?25h[?25lzt::set scrollbind:" -- start of tests --:" TEST scrolling downL5jHyy^Wbpr0^WtHyy^Wbpr1^WtL6jHyy^Wbpr2^WkHyy^Wbpr3: :" TEST scrolling up ^WtH4k^WjH^WtHyy^Wbpr4^WkHyy^Wbpr5^Wk3k^WtH^WjHyy^Wbpr6^WtHyy^Wbpr7: test37.in . line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15 . line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[No Name] [+] [?25htest37.in [No Name] [+] [?25l:[?25hsyncbind [?25l[?25h[?25l/^start of window 2$/. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13 . line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14[?25h[?25l:resize 7test37.in [No Name] [+] [?25htest37.in [No Name] [+] test37.in [No Name] [+] [?25l zt: [?25htest37.in [No Name] [+] test37.in [No Name] [+] [No Name] [+] [No Name] [+] [?25l . line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15 [?25h[?25l :[?25h[?25l[?25htest37.in [No Name] [+] [?25l/^start of window 1$/ zt: :set scrollbind ^Wj:. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09 . line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10 . line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11 . line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12[?25htest37.in [No Name] [+] test37.in [No Name] [+] test37.in [No Name] [+] [?25l :set scrollbind [?25htest37.in [No Name] [+] test37.in [No Name] [+] [No Name] [+] [No Name] [+] [?25l . line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11 [?25h[?25l :[?25h[?25l[?25h[?25l:[?25h" ***** done with tests ***** [?25l[?25h[?25l:[?25hw! test.out " Write contents of this file [?25l"test.out" [New File] 33 lines, 1329 characters writtentest.out [?25h[?25l:[?25hqa! [?25l[?1l>[?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=[?25h[?25l"test38.in" 33 lines, 364 charactersTest Virtual replace mode. STARTTEST :so small.vim ggdGa abcdefghi jk lmn opq rst ^Duvwxyz ^[gg:set ai :set bs=2 gR0^D 1 A BCDEFGHIJKL MNO PQR^[G:ka o0^D abcdefghi jk lmn opq rst ^Duvwxyz ^['ajgR0^D 1 A BCDEFGHIJKL MNO PQR^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^[:$ iab cdefghi jkl^[0gRAB......CDEFGHI.J^[o^[: iabcdefghijklmnopqrst^[0gRAB IJKLMNO QR^[:wq! test.out ENDTEST ~ ~ [?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25l[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 27 lines, 316 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST[?25h [?25l:so! Xdotest [?25h[?25l:[?25hso small.vim [?25l[?25h[?25l ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ --No lines in buffer--[?25h[?25l abcdefghijk lmn opq rstuvwxyz[?25h[?25l:[?25hset ai [?25l[?25h[?25l:[?25hset bs=2 [?25l[?25h[?25l 1 A BCDEFGHIJ KL MNOPQR[?25h[?25l:[?25hka [?25l[?25h[?25labcdefghijk lmn opq rstuvwxyz[?25h [?25l 1[?25h[?25l:[?25h$ [?25l[?25h[?25lab cdefghi jkl[?25h [?25lAB......CDEFGHI.J[?25h[?25l[?25h[?25l:[?25h[?25l[?25h[?25labcdefghijklmnopqrst[?25h [?25lAB IJKLMNO QR[?25h[?25l:[?25hwq! test.out [?25l"test.out" [New File] 13 lines, 107 characters written [?1l>[?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=[?25h[?25l"test39.in" 24 lines, 364 charactersTest Visual block mode commands STARTTEST :so small.vim /^abcde :" Test shift-right of a block jllll^Vjj>wll^Vjlll> :" Test shift-left of a block G$hhhh^Vkk< :" Test block-insert Gkl^VkkkIxyz^[ :" Test block-replace Gllll^Vkkklllrq :" Test block-change G$khhh^Vhhkkcmno^[ :$-4,$wq! test.out ENDTEST abcdefghijklm abcdefghijklm abcdefghijklm abcdefghijklm abcdefghijklm ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?25h[?25l:[?25hset cp [?25l[?25h[?25l:[?25hmap dotest /^STARTTEST^^Mj:set ff=unix cpo-=A^^M:.,/ENDTEST/-1w! Xdotest^^M:set ff& cpo+=A^^Mnj0:so! X dotest^^Mdotest [?25l[?25h[?25l/^STARTTEST [?25h [?25l:set ff=unix cpo-=A [?25h[?25l:.,/ENDTEST/-1w! Xdotest "Xdotest" [New File] 13 lines, 241 characters written[?25h[?25l:set ff& cpo+=A [?25h[?25l/ENDTEST[?25h [?25l:so! Xdotest [?25h[?25l:[?25hso small.vim [?25l[?25h[?25l/[?25h^abcde [?25l[?25h[?25l:[?25h" Test shift-right of a block [?25l[?25h abcd[?25l[?25h[?25le abcd[?25h[?25le abcd[?25h[?25l3 lines >ed 1 time efghijklm abcd efghijklm abcd efghijklm[?25h ef[?25l[?25h[?25lg[?25h[?25lhg[?25h[?25lih[?25h[?25lji[?25h[?25l ghijklm ghijklm[?25h[?25l:[?25h" Test shift-left of a block [?25l[?25h [?25l[?25h[?25li[?25h[?25l [?25h[?25l3 lines