diff options
Diffstat (limited to 'data/vim/patches/8.1.1362')
-rw-r--r-- | data/vim/patches/8.1.1362 | 2891 |
1 files changed, 2891 insertions, 0 deletions
diff --git a/data/vim/patches/8.1.1362 b/data/vim/patches/8.1.1362 new file mode 100644 index 000000000..9d158f2a6 --- /dev/null +++ b/data/vim/patches/8.1.1362 @@ -0,0 +1,2891 @@ +To: vim_dev@googlegroups.com +Subject: Patch 8.1.1362 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 8.1.1362 +Problem: Code and data in tests can be hard to read. +Solution: Use the new heredoc style. (Yegappan Lakshmanan, closes #4400) +Files: src/testdir/test_autocmd.vim, src/testdir/test_balloon.vim, + src/testdir/test_bufline.vim, src/testdir/test_cindent.vim, + src/testdir/test_conceal.vim, src/testdir/test_exit.vim, + src/testdir/test_fold.vim, src/testdir/test_goto.vim, + src/testdir/test_join.vim, src/testdir/test_mksession_utf8.vim, + src/testdir/test_normal.vim, src/testdir/test_profile.vim, + src/testdir/test_quickfix.vim, src/testdir/test_startup.vim, + src/testdir/test_terminal.vim, src/testdir/test_xxd.vim + + +*** ../vim-8.1.1361/src/testdir/test_autocmd.vim 2019-05-12 13:07:10.563191431 +0200 +--- src/testdir/test_autocmd.vim 2019-05-20 22:05:14.858728332 +0200 +*************** +*** 423,440 **** + set noswapfile + mksession! + +! let content = ['set nocp noswapfile', +! \ 'let v:swapchoice="e"', +! \ 'augroup test_autocmd_sessionload', +! \ 'autocmd!', +! \ 'autocmd SessionLoadPost * exe bufnr("Xsomething") . "bw!"', +! \ 'augroup END', +! \ '', +! \ 'func WriteErrors()', +! \ ' call writefile([execute("messages")], "Xerrors")', +! \ 'endfunc', +! \ 'au VimLeave * call WriteErrors()', +! \ ] + call writefile(content, 'Xvimrc') + call system(v:progpath. ' -u Xvimrc --not-a-term --noplugins -S Session.vim -c cq') + let errors = join(readfile('Xerrors')) +--- 423,442 ---- + set noswapfile + mksession! + +! let content =<< trim [CODE] +! set nocp noswapfile +! let v:swapchoice="e" +! augroup test_autocmd_sessionload +! autocmd! +! autocmd SessionLoadPost * exe bufnr("Xsomething") . "bw!" +! augroup END +! +! func WriteErrors() +! call writefile([execute("messages")], "Xerrors") +! endfunc +! au VimLeave * call WriteErrors() +! [CODE] +! + call writefile(content, 'Xvimrc') + call system(v:progpath. ' -u Xvimrc --not-a-term --noplugins -S Session.vim -c cq') + let errors = join(readfile('Xerrors')) +*************** +*** 452,478 **** + set noswapfile + mksession! + +! let content = ['set nocp noswapfile', +! \ 'function! DeleteInactiveBufs()', +! \ ' tabfirst', +! \ ' let tabblist = []', +! \ ' for i in range(1, tabpagenr(''$''))', +! \ ' call extend(tabblist, tabpagebuflist(i))', +! \ ' endfor', +! \ ' for b in range(1, bufnr(''$''))', +! \ ' if bufexists(b) && buflisted(b) && (index(tabblist, b) == -1 || bufname(b) =~# ''^$'')', +! \ ' exec ''bwipeout '' . b', +! \ ' endif', +! \ ' endfor', +! \ ' echomsg "SessionLoadPost DONE"', +! \ 'endfunction', +! \ 'au SessionLoadPost * call DeleteInactiveBufs()', +! \ '', +! \ 'func WriteErrors()', +! \ ' call writefile([execute("messages")], "Xerrors")', +! \ 'endfunc', +! \ 'au VimLeave * call WriteErrors()', +! \ ] + call writefile(content, 'Xvimrc') + call system(v:progpath. ' -u Xvimrc --not-a-term --noplugins -S Session.vim -c cq') + let errors = join(readfile('Xerrors')) +--- 454,482 ---- + set noswapfile + mksession! + +! let content =<< trim [CODE] +! set nocp noswapfile +! function! DeleteInactiveBufs() +! tabfirst +! let tabblist = [] +! for i in range(1, tabpagenr(''$'')) +! call extend(tabblist, tabpagebuflist(i)) +! endfor +! for b in range(1, bufnr(''$'')) +! if bufexists(b) && buflisted(b) && (index(tabblist, b) == -1 || bufname(b) =~# ''^$'') +! exec ''bwipeout '' . b +! endif +! endfor +! echomsg "SessionLoadPost DONE" +! endfunction +! au SessionLoadPost * call DeleteInactiveBufs() +! +! func WriteErrors() +! call writefile([execute("messages")], "Xerrors") +! endfunc +! au VimLeave * call WriteErrors() +! [CODE] +! + call writefile(content, 'Xvimrc') + call system(v:progpath. ' -u Xvimrc --not-a-term --noplugins -S Session.vim -c cq') + let errors = join(readfile('Xerrors')) +*************** +*** 933,953 **** + call writefile(['Test file Xxx1'], 'Xxx1')" + call writefile(['Test file Xxx2'], 'Xxx2')" + +! let content = [ +! \ "func UnloadAllBufs()", +! \ " let i = 1", +! \ " while i <= bufnr('$')", +! \ " if i != bufnr('%') && bufloaded(i)", +! \ " exe i . 'bunload'", +! \ " endif", +! \ " let i += 1", +! \ " endwhile", +! \ "endfunc", +! \ "au BufUnload * call UnloadAllBufs()", +! \ "au VimLeave * call writefile(['Test Finished'], 'Xout')", +! \ "edit Xxx1", +! \ "split Xxx2", +! \ "q"] + call writefile(content, 'Xtest') + + call delete('Xout') +--- 937,959 ---- + call writefile(['Test file Xxx1'], 'Xxx1')" + call writefile(['Test file Xxx2'], 'Xxx2')" + +! let content =<< trim [CODE] +! func UnloadAllBufs() +! let i = 1 +! while i <= bufnr('$') +! if i != bufnr('%') && bufloaded(i) +! exe i . 'bunload' +! endif +! let i += 1 +! endwhile +! endfunc +! au BufUnload * call UnloadAllBufs() +! au VimLeave * call writefile(['Test Finished'], 'Xout') +! edit Xxx1 +! split Xxx2 +! q +! [CODE] +! + call writefile(content, 'Xtest') + + call delete('Xout') +*** ../vim-8.1.1361/src/testdir/test_balloon.vim 2019-05-09 13:50:13.362401997 +0200 +--- src/testdir/test_balloon.vim 2019-05-20 22:05:14.858728332 +0200 +*************** +*** 8,21 **** + finish + endif + +! let s:common_script = [ +! \ 'call setline(1, ["one one one", "two tXo two", "three three three"])', +! \ 'set balloonevalterm balloonexpr=MyBalloonExpr() balloondelay=100', +! \ 'func MyBalloonExpr()', +! \ ' return "line " .. v:beval_lnum .. " column " .. v:beval_col .. ": " .. v:beval_text', +! \ 'endfun', +! \ 'redraw', +! \ ] + + func Test_balloon_eval_term() + " Use <Ignore> after <MouseMove> to return from vgetc() without removing +--- 8,21 ---- + finish + endif + +! let s:common_script =<< [CODE] +! call setline(1, ["one one one", "two tXo two", "three three three"]) +! set balloonevalterm balloonexpr=MyBalloonExpr() balloondelay=100 +! func MyBalloonExpr() +! return "line " .. v:beval_lnum .. " column " .. v:beval_col .. ": " .. v:beval_text +! endfun +! redraw +! [CODE] + + func Test_balloon_eval_term() + " Use <Ignore> after <MouseMove> to return from vgetc() without removing +*** ../vim-8.1.1361/src/testdir/test_bufline.vim 2019-05-16 22:24:52.403017783 +0200 +--- src/testdir/test_bufline.vim 2019-05-20 22:05:14.858728332 +0200 +*************** +*** 93,115 **** + endfunc + + func Test_appendbufline_no_E315() +! let after = [ +! \ 'set stl=%f ls=2', +! \ 'new', +! \ 'let buf = bufnr("%")', +! \ 'quit', +! \ 'vsp', +! \ 'exec "buffer" buf', +! \ 'wincmd w', +! \ 'call appendbufline(buf, 0, "abc")', +! \ 'redraw', +! \ 'while getbufline(buf, 1)[0] =~ "^\\s*$"', +! \ ' sleep 10m', +! \ 'endwhile', +! \ 'au VimLeavePre * call writefile([v:errmsg], "Xerror")', +! \ 'au VimLeavePre * call writefile(["done"], "Xdone")', +! \ 'qall!', +! \ ] + if !RunVim([], after, '--clean') + return + endif +--- 93,116 ---- + endfunc + + func Test_appendbufline_no_E315() +! let after =<< trim [CODE] +! set stl=%f ls=2 +! new +! let buf = bufnr("%") +! quit +! vsp +! exec "buffer" buf +! wincmd w +! call appendbufline(buf, 0, "abc") +! redraw +! while getbufline(buf, 1)[0] =~ "^\\s*$" +! sleep 10m +! endwhile +! au VimLeavePre * call writefile([v:errmsg], "Xerror") +! au VimLeavePre * call writefile(["done"], "Xdone") +! qall! +! [CODE] +! + if !RunVim([], after, '--clean') + return + endif +*** ../vim-8.1.1361/src/testdir/test_cindent.vim 2019-05-16 22:24:52.403017783 +0200 +--- src/testdir/test_cindent.vim 2019-05-20 22:05:14.858728332 +0200 +*************** +*** 18,42 **** + func Test_cino_extern_c() + " Test for cino-E + +! let without_ind = [ +! \ '#ifdef __cplusplus', +! \ 'extern "C" {', +! \ '#endif', +! \ 'int func_a(void);', +! \ '#ifdef __cplusplus', +! \ '}', +! \ '#endif' +! \ ] +! +! let with_ind = [ +! \ '#ifdef __cplusplus', +! \ 'extern "C" {', +! \ '#endif', +! \ "\tint func_a(void);", +! \ '#ifdef __cplusplus', +! \ '}', +! \ '#endif' +! \ ] + new + setlocal cindent cinoptions=E0 + call setline(1, without_ind) +--- 18,42 ---- + func Test_cino_extern_c() + " Test for cino-E + +! let without_ind =<< trim [CODE] +! #ifdef __cplusplus +! extern "C" { +! #endif +! int func_a(void); +! #ifdef __cplusplus +! } +! #endif +! [CODE] +! +! let with_ind =<< trim [CODE] +! #ifdef __cplusplus +! extern "C" { +! #endif +! int func_a(void); +! #ifdef __cplusplus +! } +! #endif +! [CODE] + new + setlocal cindent cinoptions=E0 + call setline(1, without_ind) +*************** +*** 89,104 **** + return v:lnum == 1 ? shiftwidth() : 0 + endfunc + setl expandtab sw=8 indentkeys+=; indentexpr=MyIndentFunction() +! call setline(1, ['var_a = something()', 'b = something()']) + call cursor(1, 1) + call feedkeys("^\<c-v>j$A;\<esc>", 'tnix') +! call assert_equal([' var_a = something();', 'b = something();'], getline(1, '$')) + + %d +! call setline(1, [' var_a = something()', ' b = something()']) + call cursor(1, 1) + call feedkeys("^\<c-v>j$A;\<esc>", 'tnix') +! call assert_equal([' var_a = something();', ' b = something()'], getline(1, '$')) + bw! + endfunc + +--- 89,120 ---- + return v:lnum == 1 ? shiftwidth() : 0 + endfunc + setl expandtab sw=8 indentkeys+=; indentexpr=MyIndentFunction() +! let testinput =<< trim [CODE] +! var_a = something() +! b = something() +! [CODE] +! call setline(1, testinput) + call cursor(1, 1) + call feedkeys("^\<c-v>j$A;\<esc>", 'tnix') +! let expected =<< trim [CODE] +! var_a = something(); +! b = something(); +! [CODE] +! call assert_equal(expected, getline(1, '$')) + + %d +! let testinput =<< trim [CODE] +! var_a = something() +! b = something() +! [CODE] +! call setline(1, testinput) + call cursor(1, 1) + call feedkeys("^\<c-v>j$A;\<esc>", 'tnix') +! let expected =<< trim [CODE] +! var_a = something(); +! b = something() +! [CODE] +! call assert_equal(expected, getline(1, '$')) + bw! + endfunc + +*** ../vim-8.1.1361/src/testdir/test_conceal.vim 2019-01-14 21:51:17.987461933 +0100 +--- src/testdir/test_conceal.vim 2019-05-20 22:05:14.858728332 +0200 +*************** +*** 11,31 **** + endif + + func Test_conceal_two_windows() +! call writefile([ +! \ 'let lines = ["one one one one one", "two |hidden| here", "three |hidden| three"]', +! \ 'call setline(1, lines)', +! \ 'syntax match test /|hidden|/ conceal', +! \ 'set conceallevel=2', +! \ 'set concealcursor=', +! \ 'exe "normal /here\r"', +! \ 'new', +! \ 'call setline(1, lines)', +! \ 'call setline(4, "Second window")', +! \ 'syntax match test /|hidden|/ conceal', +! \ 'set conceallevel=2', +! \ 'set concealcursor=nc', +! \ 'exe "normal /here\r"', +! \ ], 'XTest_conceal') + " Check that cursor line is concealed + let buf = RunVimInTerminal('-S XTest_conceal', {}) + call VerifyScreenDump(buf, 'Test_conceal_two_windows_01', {}) +--- 11,33 ---- + endif + + func Test_conceal_two_windows() +! let code =<< trim [CODE] +! let lines = ["one one one one one", "two |hidden| here", "three |hidden| three"] +! call setline(1, lines) +! syntax match test /|hidden|/ conceal +! set conceallevel=2 +! set concealcursor= +! exe "normal /here\r" +! new +! call setline(1, lines) +! call setline(4, "Second window") +! syntax match test /|hidden|/ conceal +! set conceallevel=2 +! set concealcursor=nc +! exe "normal /here\r" +! [CODE] +! +! call writefile(code, 'XTest_conceal') + " Check that cursor line is concealed + let buf = RunVimInTerminal('-S XTest_conceal', {}) + call VerifyScreenDump(buf, 'Test_conceal_two_windows_01', {}) +*************** +*** 113,126 **** + func Test_conceal_with_cursorline() + " Opens a help window, where 'conceal' is set, switches to the other window + " where 'cursorline' needs to be updated when the cursor moves. +! call writefile([ +! \ 'set cursorline', +! \ 'normal othis is a test', +! \ 'new', +! \ 'call setline(1, ["one", "two", "three", "four", "five"])', +! \ 'set ft=help', +! \ 'normal M', +! \ ], 'XTest_conceal_cul') + let buf = RunVimInTerminal('-S XTest_conceal_cul', {}) + call VerifyScreenDump(buf, 'Test_conceal_cul_01', {}) + +--- 115,130 ---- + func Test_conceal_with_cursorline() + " Opens a help window, where 'conceal' is set, switches to the other window + " where 'cursorline' needs to be updated when the cursor moves. +! let code =<< trim [CODE] +! set cursorline +! normal othis is a test +! new +! call setline(1, ["one", "two", "three", "four", "five"]) +! set ft=help +! normal M +! [CODE] +! +! call writefile(code, 'XTest_conceal_cul') + let buf = RunVimInTerminal('-S XTest_conceal_cul', {}) + call VerifyScreenDump(buf, 'Test_conceal_cul_01', {}) + +*** ../vim-8.1.1361/src/testdir/test_exit.vim 2018-03-11 14:36:34.000000000 +0100 +--- src/testdir/test_exit.vim 2019-05-20 22:05:14.858728332 +0200 +*************** +*** 3,54 **** + source shared.vim + + func Test_exiting() +! let after = [ +! \ 'au QuitPre * call writefile(["QuitPre"], "Xtestout")', +! \ 'au ExitPre * call writefile(["ExitPre"], "Xtestout", "a")', +! \ 'quit', +! \ ] + if RunVim([], after, '') + call assert_equal(['QuitPre', 'ExitPre'], readfile('Xtestout')) + endif + call delete('Xtestout') + +! let after = [ +! \ 'au QuitPre * call writefile(["QuitPre"], "Xtestout")', +! \ 'au ExitPre * call writefile(["ExitPre"], "Xtestout", "a")', +! \ 'help', +! \ 'wincmd w', +! \ 'quit', +! \ ] + if RunVim([], after, '') + call assert_equal(['QuitPre', 'ExitPre'], readfile('Xtestout')) + endif + call delete('Xtestout') + +! let after = [ +! \ 'au QuitPre * call writefile(["QuitPre"], "Xtestout")', +! \ 'au ExitPre * call writefile(["ExitPre"], "Xtestout", "a")', +! \ 'split', +! \ 'new', +! \ 'qall', +! \ ] + if RunVim([], after, '') + call assert_equal(['QuitPre', 'ExitPre'], readfile('Xtestout')) + endif + call delete('Xtestout') + +! let after = [ +! \ 'au QuitPre * call writefile(["QuitPre"], "Xtestout", "a")', +! \ 'au ExitPre * call writefile(["ExitPre"], "Xtestout", "a")', +! \ 'augroup nasty', +! \ ' au ExitPre * split', +! \ 'augroup END', +! \ 'quit', +! \ 'augroup nasty', +! \ ' au! ExitPre', +! \ 'augroup END', +! \ 'quit', +! \ ] + if RunVim([], after, '') + call assert_equal(['QuitPre', 'ExitPre', 'QuitPre', 'ExitPre'], + \ readfile('Xtestout')) +--- 3,58 ---- + source shared.vim + + func Test_exiting() +! let after =<< trim [CODE] +! au QuitPre * call writefile(["QuitPre"], "Xtestout") +! au ExitPre * call writefile(["ExitPre"], "Xtestout", "a") +! quit +! [CODE] +! + if RunVim([], after, '') + call assert_equal(['QuitPre', 'ExitPre'], readfile('Xtestout')) + endif + call delete('Xtestout') + +! let after =<< trim [CODE] +! au QuitPre * call writefile(["QuitPre"], "Xtestout") +! au ExitPre * call writefile(["ExitPre"], "Xtestout", "a") +! help +! wincmd w +! quit +! [CODE] +! + if RunVim([], after, '') + call assert_equal(['QuitPre', 'ExitPre'], readfile('Xtestout')) + endif + call delete('Xtestout') + +! let after =<< trim [CODE] +! au QuitPre * call writefile(["QuitPre"], "Xtestout") +! au ExitPre * call writefile(["ExitPre"], "Xtestout", "a") +! split +! new +! qall +! [CODE] +! + if RunVim([], after, '') + call assert_equal(['QuitPre', 'ExitPre'], readfile('Xtestout')) + endif + call delete('Xtestout') + +! let after =<< trim [CODE] +! au QuitPre * call writefile(["QuitPre"], "Xtestout", "a") +! au ExitPre * call writefile(["ExitPre"], "Xtestout", "a") +! augroup nasty +! au ExitPre * split +! augroup END +! quit +! augroup nasty +! au! ExitPre +! augroup END +! quit +! [CODE] +! + if RunVim([], after, '') + call assert_equal(['QuitPre', 'ExitPre', 'QuitPre', 'ExitPre'], + \ readfile('Xtestout')) +*** ../vim-8.1.1361/src/testdir/test_fold.vim 2018-12-09 15:00:47.985798600 +0100 +--- src/testdir/test_fold.vim 2019-05-20 22:05:14.858728332 +0200 +*************** +*** 513,529 **** + set fdm=marker fdl=9 + set filetype=c + +! let content = [ +! \ '/*', +! \ ' * comment', +! \ ' * ', +! \ ' *', +! \ ' */', +! \ 'int f(int* p) {', +! \ ' *p = 3;', +! \ ' return 0;', +! \ '}' +! \] + for c in range(len(content) - 1) + bw! + call append(0, content) +--- 513,530 ---- + set fdm=marker fdl=9 + set filetype=c + +! let content =<< trim [CODE] +! /* +! * comment +! * +! * +! */ +! int f(int* p) { +! *p = 3; +! return 0; +! } +! [CODE] +! + for c in range(len(content) - 1) + bw! + call append(0, content) +*** ../vim-8.1.1361/src/testdir/test_goto.vim 2018-05-26 18:39:29.608575858 +0200 +--- src/testdir/test_goto.vim 2019-05-20 22:05:14.858728332 +0200 +*************** +*** 15,276 **** + endfunc + + func Test_gD() +! let lines = [ +! \ 'int x;', +! \ '', +! \ 'int func(void)', +! \ '{', +! \ ' return x;', +! \ '}', +! \ ] + call XTest_goto_decl('gD', lines, 1, 5) + endfunc + + func Test_gD_too() +! let lines = [ +! \ 'Filename x;', +! \ '', +! \ 'int Filename', +! \ 'int func() {', +! \ ' Filename x;', +! \ ' return x;', +! \ ] + call XTest_goto_decl('gD', lines, 1, 10) + endfunc + + func Test_gD_comment() +! let lines = [ +! \ '/* int x; */', +! \ 'int x;', +! \ '', +! \ 'int func(void)', +! \ '{', +! \ ' return x;', +! \ '}', +! \ ] + call XTest_goto_decl('gD', lines, 2, 5) + endfunc + + func Test_gD_inline_comment() +! let lines = [ +! \ 'int y /* , x */;', +! \ 'int x;', +! \ '', +! \ 'int func(void)', +! \ '{', +! \ ' return x;', +! \ '}', +! \ ] + call XTest_goto_decl('gD', lines, 2, 5) + endfunc + + func Test_gD_string() +! let lines = [ +! \ 'char *s[] = "x";', +! \ 'int x = 1;', +! \ '', +! \ 'int func(void)', +! \ '{', +! \ ' return x;', +! \ '}', +! \ ] + call XTest_goto_decl('gD', lines, 2, 5) + endfunc + + func Test_gD_string_same_line() +! let lines = [ +! \ 'char *s[] = "x", int x = 1;', +! \ '', +! \ 'int func(void)', +! \ '{', +! \ ' return x;', +! \ '}', +! \ ] + call XTest_goto_decl('gD', lines, 1, 22) + endfunc + + func Test_gD_char() +! let lines = [ +! \ "char c = 'x';", +! \ 'int x = 1;', +! \ '', +! \ 'int func(void)', +! \ '{', +! \ ' return x;', +! \ '}', +! \ ] + call XTest_goto_decl('gD', lines, 2, 5) + endfunc + + func Test_gd() +! let lines = [ +! \ 'int x;', +! \ '', +! \ 'int func(int x)', +! \ '{', +! \ ' return x;', +! \ '}', +! \ ] + call XTest_goto_decl('gd', lines, 3, 14) + endfunc + + func Test_gd_not_local() +! let lines = [ +! \ 'int func1(void)', +! \ '{', +! \ ' return x;', +! \ '}', +! \ '', +! \ 'int func2(int x)', +! \ '{', +! \ ' return x;', +! \ '}', +! \ ] + call XTest_goto_decl('gd', lines, 3, 10) + endfunc + + func Test_gd_kr_style() +! let lines = [ +! \ 'int func(x)', +! \ ' int x;', +! \ '{', +! \ ' return x;', +! \ '}', +! \ ] + call XTest_goto_decl('gd', lines, 2, 7) + endfunc + + func Test_gd_missing_braces() +! let lines = [ +! \ 'def func1(a)', +! \ ' a + 1', +! \ 'end', +! \ '', +! \ 'a = 1', +! \ '', +! \ 'def func2()', +! \ ' return a', +! \ 'end', +! \ ] + call XTest_goto_decl('gd', lines, 1, 11) + endfunc + + func Test_gd_comment() +! let lines = [ +! \ 'int func(void)', +! \ '{', +! \ ' /* int x; */', +! \ ' int x;', +! \ ' return x;', +! \ '}', +! \] + call XTest_goto_decl('gd', lines, 4, 7) + endfunc + + func Test_gd_comment_in_string() +! let lines = [ +! \ 'int func(void)', +! \ '{', +! \ ' char *s ="//"; int x;', +! \ ' int x;', +! \ ' return x;', +! \ '}', +! \] + call XTest_goto_decl('gd', lines, 3, 22) + endfunc + + func Test_gd_string_in_comment() + set comments= +! let lines = [ +! \ 'int func(void)', +! \ '{', +! \ ' /* " */ int x;', +! \ ' int x;', +! \ ' return x;', +! \ '}', +! \] + call XTest_goto_decl('gd', lines, 3, 15) + set comments& + endfunc + + func Test_gd_inline_comment() +! let lines = [ +! \ 'int func(/* x is an int */ int x)', +! \ '{', +! \ ' return x;', +! \ '}', +! \ ] + call XTest_goto_decl('gd', lines, 1, 32) + endfunc + + func Test_gd_inline_comment_only() +! let lines = [ +! \ 'int func(void) /* one lonely x */', +! \ '{', +! \ ' return x;', +! \ '}', +! \ ] + call XTest_goto_decl('gd', lines, 3, 10) + endfunc + + func Test_gd_inline_comment_body() +! let lines = [ +! \ 'int func(void)', +! \ '{', +! \ ' int y /* , x */;', +! \ '', +! \ ' for (/* int x = 0 */; y < 2; y++);', +! \ '', +! \ ' int x = 0;', +! \ '', +! \ ' return x;', +! \ '}', +! \ ] + call XTest_goto_decl('gd', lines, 7, 7) + endfunc + + func Test_gd_trailing_multiline_comment() +! let lines = [ +! \ 'int func(int x) /* x is an int */', +! \ '{', +! \ ' return x;', +! \ '}', +! \ ] + call XTest_goto_decl('gd', lines, 1, 14) + endfunc + + func Test_gd_trailing_comment() +! let lines = [ +! \ 'int func(int x) // x is an int', +! \ '{', +! \ ' return x;', +! \ '}', +! \ ] + call XTest_goto_decl('gd', lines, 1, 14) + endfunc + + func Test_gd_string() +! let lines = [ +! \ 'int func(void)', +! \ '{', +! \ ' char *s = "x";', +! \ ' int x = 1;', +! \ '', +! \ ' return x;', +! \ '}', +! \ ] + call XTest_goto_decl('gd', lines, 4, 7) + endfunc + + func Test_gd_string_only() +! let lines = [ +! \ 'int func(void)', +! \ '{', +! \ ' char *s = "x";', +! \ '', +! \ ' return x;', +! \ '}', +! \ ] + call XTest_goto_decl('gd', lines, 5, 10) + endfunc + +--- 15,296 ---- + endfunc + + func Test_gD() +! let lines =<< trim [CODE] +! int x; +! +! int func(void) +! { +! return x; +! } +! [CODE] +! + call XTest_goto_decl('gD', lines, 1, 5) + endfunc + + func Test_gD_too() +! let lines =<< trim [CODE] +! Filename x; +! +! int Filename +! int func() { +! Filename x; +! return x; +! [CODE] +! + call XTest_goto_decl('gD', lines, 1, 10) + endfunc + + func Test_gD_comment() +! let lines =<< trim [CODE] +! /* int x; */ +! int x; +! +! int func(void) +! { +! return x; +! } +! [CODE] +! + call XTest_goto_decl('gD', lines, 2, 5) + endfunc + + func Test_gD_inline_comment() +! let lines =<< trim [CODE] +! int y /* , x */; +! int x; +! +! int func(void) +! { +! return x; +! } +! [CODE] +! + call XTest_goto_decl('gD', lines, 2, 5) + endfunc + + func Test_gD_string() +! let lines =<< trim [CODE] +! char *s[] = "x"; +! int x = 1; +! +! int func(void) +! { +! return x; +! } +! [CODE] +! + call XTest_goto_decl('gD', lines, 2, 5) + endfunc + + func Test_gD_string_same_line() +! let lines =<< trim [CODE] +! char *s[] = "x", int x = 1; +! +! int func(void) +! { +! return x; +! } +! [CODE] +! + call XTest_goto_decl('gD', lines, 1, 22) + endfunc + + func Test_gD_char() +! let lines =<< trim [CODE] +! char c = 'x'; +! int x = 1; +! +! int func(void) +! { +! return x; +! } +! [CODE] +! + call XTest_goto_decl('gD', lines, 2, 5) + endfunc + + func Test_gd() +! let lines =<< trim [CODE] +! int x; +! +! int func(int x) +! { +! return x; +! } +! [CODE] +! + call XTest_goto_decl('gd', lines, 3, 14) + endfunc + + func Test_gd_not_local() +! let lines =<< trim [CODE] +! int func1(void) +! { +! return x; +! } +! +! int func2(int x) +! { +! return x; +! } +! [CODE] +! + call XTest_goto_decl('gd', lines, 3, 10) + endfunc + + func Test_gd_kr_style() +! let lines =<< trim [CODE] +! int func(x) +! int x; +! { +! return x; +! } +! [CODE] +! + call XTest_goto_decl('gd', lines, 2, 7) + endfunc + + func Test_gd_missing_braces() +! let lines =<< trim [CODE] +! def func1(a) +! a + 1 +! end +! +! a = 1 +! +! def func2() +! return a +! end +! [CODE] +! + call XTest_goto_decl('gd', lines, 1, 11) + endfunc + + func Test_gd_comment() +! let lines =<< trim [CODE] +! int func(void) +! { +! /* int x; */ +! int x; +! return x; +! } +! [CODE] +! + call XTest_goto_decl('gd', lines, 4, 7) + endfunc + + func Test_gd_comment_in_string() +! let lines =<< trim [CODE] +! int func(void) +! { +! char *s ="//"; int x; +! int x; +! return x; +! } +! [CODE] +! + call XTest_goto_decl('gd', lines, 3, 22) + endfunc + + func Test_gd_string_in_comment() + set comments= +! let lines =<< trim [CODE] +! int func(void) +! { +! /* " */ int x; +! int x; +! return x; +! } +! [CODE] +! + call XTest_goto_decl('gd', lines, 3, 15) + set comments& + endfunc + + func Test_gd_inline_comment() +! let lines =<< trim [CODE] +! int func(/* x is an int */ int x) +! { +! return x; +! } +! [CODE] +! + call XTest_goto_decl('gd', lines, 1, 32) + endfunc + + func Test_gd_inline_comment_only() +! let lines =<< trim [CODE] +! int func(void) /* one lonely x */ +! { +! return x; +! } +! [CODE] +! + call XTest_goto_decl('gd', lines, 3, 10) + endfunc + + func Test_gd_inline_comment_body() +! let lines =<< trim [CODE] +! int func(void) +! { +! int y /* , x */; +! +! for (/* int x = 0 */; y < 2; y++); +! +! int x = 0; +! +! return x; +! } +! [CODE] +! + call XTest_goto_decl('gd', lines, 7, 7) + endfunc + + func Test_gd_trailing_multiline_comment() +! let lines =<< trim [CODE] +! int func(int x) /* x is an int */ +! { +! return x; +! } +! [CODE] +! + call XTest_goto_decl('gd', lines, 1, 14) + endfunc + + func Test_gd_trailing_comment() +! let lines =<< trim [CODE] +! int func(int x) // x is an int +! { +! return x; +! } +! [CODE] +! + call XTest_goto_decl('gd', lines, 1, 14) + endfunc + + func Test_gd_string() +! let lines =<< trim [CODE] +! int func(void) +! { +! char *s = "x"; +! int x = 1; +! +! return x; +! } +! [CODE] + call XTest_goto_decl('gd', lines, 4, 7) + endfunc + + func Test_gd_string_only() +! let lines =<< trim [CODE] +! int func(void) +! { +! char *s = "x"; +! +! return x; +! } +! [CODE] +! + call XTest_goto_decl('gd', lines, 5, 10) + endfunc + +*************** +*** 289,312 **** + endfunc + + func Test_gd_local_block() +! let lines = [ +! \ ' int main()', +! \ '{', +! \ ' char *a = "NOT NULL";', +! \ ' if(a)', +! \ ' {', +! \ ' char *b = a;', +! \ ' printf("%s\n", b);', +! \ ' }', +! \ ' else', +! \ ' {', +! \ ' char *b = "NULL";', +! \ ' return b;', +! \ ' }', +! \ '', +! \ ' return 0;', +! \ '}', +! \ ] + call XTest_goto_decl('1gd', lines, 11, 11) + endfunc + +--- 309,333 ---- + endfunc + + func Test_gd_local_block() +! let lines =<< trim [CODE] +! int main() +! { +! char *a = "NOT NULL"; +! if(a) +! { +! char *b = a; +! printf("%s\n", b); +! } +! else +! { +! char *b = "NULL"; +! return b; +! } +! +! return 0; +! } +! [CODE] +! + call XTest_goto_decl('1gd', lines, 11, 11) + endfunc + +*** ../vim-8.1.1361/src/testdir/test_join.vim 2019-05-14 17:57:14.861402461 +0200 +--- src/testdir/test_join.vim 2019-05-20 22:05:14.858728332 +0200 +*************** +*** 98,127 **** + normal `xyl$p + normal `yy2l$p + +- normal G +- let last_line = line('$') +- + " Expected output +! append +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf asdf +! asdfasdf asdf +! asdfasdf asdf +! asdfasdf asdf +! asdfasdf asdf +! asdfasdf asdf +! asdfasdf asdf +! zx cvn. as dfg? hjkl iop! ert ernop +! zx cvn. as dfg? hjkl iop! ert ernop +! . + +! call assert_equal(getline(last_line + 1, '$'), getline(1, last_line)) + + enew! + call append(0, text) +--- 98,124 ---- + normal `xyl$p + normal `yy2l$p + + " Expected output +! let expected =<< trim [DATA] +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf asdf +! asdfasdf asdf +! asdfasdf asdf +! asdfasdf asdf +! asdfasdf asdf +! asdfasdf asdf +! asdfasdf asdf +! zx cvn. as dfg? hjkl iop! ert ernop +! zx cvn. as dfg? hjkl iop! ert ernop +! [DATA] + +! call assert_equal(expected, getline(1, '$')) + + enew! + call append(0, text) +*************** +*** 143,173 **** + normal `xyl$p + normal `yy2l$p + +- normal G +- let last_line = line('$') +- + " Expected output +! append +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf asdf +! asdfasdf asdf +! asdfasdf asdf +! asdfasdf asdf +! asdfasdf asdf +! asdfasdf asdf +! asdfasdf asdf +! zx cvn. as dfg? hjkl iop! ert enop +! zx cvn. as dfg? hjkl iop! ert ernop + +! . + +! call assert_equal(getline(last_line + 1, '$'), getline(1, last_line)) + + enew! + call append(0, text) +--- 140,167 ---- + normal `xyl$p + normal `yy2l$p + + " Expected output +! let expected =<< trim [DATA] +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf asdf +! asdfasdf asdf +! asdfasdf asdf +! asdfasdf asdf +! asdfasdf asdf +! asdfasdf asdf +! asdfasdf asdf +! zx cvn. as dfg? hjkl iop! ert enop +! zx cvn. as dfg? hjkl iop! ert ernop + +! [DATA] + +! call assert_equal(expected, getline(1, '$')) + + enew! + call append(0, text) +*************** +*** 180,208 **** + normal JjJjJjJjJjJjJjJjJjJjJjJjJjJ + normal j4Jy3l$pjdG + +- normal G +- let last_line = line('$') +- + " Expected output +! append +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf asdf +! asdfasdf asdf +! asdfasdf asdf +! asdfasdf asdf +! asdfasdf asdf +! asdfasdf asdf +! asdfasdf asdf +! zx cvn. as dfg? hjkl iop! ert a +! . + +! call assert_equal(getline(last_line + 1, '$'), getline(1, last_line)) + + set nocompatible + set cpoptions&vim +--- 174,199 ---- + normal JjJjJjJjJjJjJjJjJjJjJjJjJjJ + normal j4Jy3l$pjdG + + " Expected output +! let expected =<< trim [DATA] +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf. asdf +! asdfasdf asdf +! asdfasdf asdf +! asdfasdf asdf +! asdfasdf asdf +! asdfasdf asdf +! asdfasdf asdf +! asdfasdf asdf +! zx cvn. as dfg? hjkl iop! ert a +! [DATA] + +! call assert_equal(expected, getline(1, '$')) + + set nocompatible + set cpoptions&vim +*************** +*** 262,272 **** + .,+2join + exe "normal jj3J\<CR>" + +- normal G +- let last_line = line('$') +- + " Expected output +! append + { + /* Make sure the previous comment leader is not removed. */ + /* Make sure the previous comment leader is not removed. */ +--- 253,260 ---- + .,+2join + exe "normal jj3J\<CR>" + + " Expected output +! let expected =<< trim [CODE] + { + /* Make sure the previous comment leader is not removed. */ + /* Make sure the previous comment leader is not removed. */ +*************** +*** 279,287 **** + if (condition) // Remove the next comment leader! OK, I will. + action(); + } +! . + +! call assert_equal(getline(last_line + 1, '$'), getline(1, last_line)) + + set comments&vim + set joinspaces&vim +--- 267,275 ---- + if (condition) // Remove the next comment leader! OK, I will. + action(); + } +! [CODE] + +! call assert_equal(expected, getline(1, '$')) + + set comments&vim + set joinspaces&vim +*************** +*** 389,399 **** + exe "normal j6J\<CR>" + exe "normal oSome code!\<CR>// Make sure backspacing does not remove this comment leader.\<Esc>0i\<C-H>\<Esc>" + +- normal G +- let last_line = line('$') +- + " Expected output +! append + { + /* Make sure the previous comment leader is not removed. */ + /* Make sure the previous comment leader is not removed. */ +--- 377,384 ---- + exe "normal j6J\<CR>" + exe "normal oSome code!\<CR>// Make sure backspacing does not remove this comment leader.\<Esc>0i\<C-H>\<Esc>" + + " Expected output +! let expected =<< [CODE] + { + /* Make sure the previous comment leader is not removed. */ + /* Make sure the previous comment leader is not removed. */ +*************** +*** 416,423 **** + + Some code!// Make sure backspacing does not remove this comment leader. + } +! . + +! call assert_equal(getline(last_line + 1, '$'), getline(1, last_line)) + close! + endfunc +--- 401,408 ---- + + Some code!// Make sure backspacing does not remove this comment leader. + } +! [CODE] + +! call assert_equal(expected, getline(1, '$')) + close! + endfunc +*** ../vim-8.1.1361/src/testdir/test_mksession_utf8.vim 2019-01-24 17:59:35.139217458 +0100 +--- src/testdir/test_mksession_utf8.vim 2019-05-20 22:05:14.858728332 +0200 +*************** +*** 65,98 **** + call wincol() + mksession! test_mks.out + let li = filter(readfile('test_mks.out'), 'v:val =~# "\\(^ *normal! 0\\|^ *exe ''normal!\\)"') +! let expected = [ +! \ 'normal! 016|', +! \ 'normal! 016|', +! \ 'normal! 016|', +! \ 'normal! 08|', +! \ 'normal! 08|', +! \ 'normal! 016|', +! \ 'normal! 016|', +! \ 'normal! 016|', +! \ " exe 'normal! ' . s:c . '|zs' . 16 . '|'", +! \ " normal! 016|", +! \ " exe 'normal! ' . s:c . '|zs' . 16 . '|'", +! \ " normal! 016|", +! \ " exe 'normal! ' . s:c . '|zs' . 16 . '|'", +! \ " normal! 016|", +! \ " exe 'normal! ' . s:c . '|zs' . 8 . '|'", +! \ " normal! 08|", +! \ " exe 'normal! ' . s:c . '|zs' . 8 . '|'", +! \ " normal! 08|", +! \ " exe 'normal! ' . s:c . '|zs' . 16 . '|'", +! \ " normal! 016|", +! \ " exe 'normal! ' . s:c . '|zs' . 16 . '|'", +! \ " normal! 016|", +! \ " exe 'normal! ' . s:c . '|zs' . 16 . '|'", +! \ " normal! 016|", +! \ " exe 'normal! ' . s:c . '|zs' . 16 . '|'", +! \ " normal! 016|" +! \ ] + call assert_equal(expected, li) + tabclose! + +--- 65,99 ---- + call wincol() + mksession! test_mks.out + let li = filter(readfile('test_mks.out'), 'v:val =~# "\\(^ *normal! 0\\|^ *exe ''normal!\\)"') +! let expected =<< trim [DATA] +! normal! 016| +! normal! 016| +! normal! 016| +! normal! 08| +! normal! 08| +! normal! 016| +! normal! 016| +! normal! 016| +! exe 'normal! ' . s:c . '|zs' . 16 . '|' +! normal! 016| +! exe 'normal! ' . s:c . '|zs' . 16 . '|' +! normal! 016| +! exe 'normal! ' . s:c . '|zs' . 16 . '|' +! normal! 016| +! exe 'normal! ' . s:c . '|zs' . 8 . '|' +! normal! 08| +! exe 'normal! ' . s:c . '|zs' . 8 . '|' +! normal! 08| +! exe 'normal! ' . s:c . '|zs' . 16 . '|' +! normal! 016| +! exe 'normal! ' . s:c . '|zs' . 16 . '|' +! normal! 016| +! exe 'normal! ' . s:c . '|zs' . 16 . '|' +! normal! 016| +! exe 'normal! ' . s:c . '|zs' . 16 . '|' +! normal! 016| +! [DATA] +! + call assert_equal(expected, li) + tabclose! + +*** ../vim-8.1.1361/src/testdir/test_normal.vim 2019-04-27 18:00:29.851064563 +0200 +--- src/testdir/test_normal.vim 2019-05-20 22:05:14.858728332 +0200 +*************** +*** 1555,1627 **** + + fun! Test_normal29_brace() + " basic test for { and } movements +! let text= ['A paragraph begins after each empty line, and also at each of a set of', +! \ 'paragraph macros, specified by the pairs of characters in the ''paragraphs''', +! \ 'option. The default is "IPLPPPQPP TPHPLIPpLpItpplpipbp", which corresponds to', +! \ 'the macros ".IP", ".LP", etc. (These are nroff macros, so the dot must be in', +! \ 'the first column). A section boundary is also a paragraph boundary.', +! \ 'Note that a blank line (only containing white space) is NOT a paragraph', +! \ 'boundary.', +! \ '', +! \ '', +! \ 'Also note that this does not include a ''{'' or ''}'' in the first column. When', +! \ 'the ''{'' flag is in ''cpoptions'' then ''{'' in the first column is used as a', +! \ 'paragraph boundary |posix|.', +! \ '{', +! \ 'This is no paragraph', +! \ 'unless the ''{'' is set', +! \ 'in ''cpoptions''', +! \ '}', +! \ '.IP', +! \ 'The nroff macros IP separates a paragraph', +! \ 'That means, it must be a ''.''', +! \ 'followed by IP', +! \ '.LPIt does not matter, if afterwards some', +! \ 'more characters follow.', +! \ '.SHAlso section boundaries from the nroff', +! \ 'macros terminate a paragraph. That means', +! \ 'a character like this:', +! \ '.NH', +! \ 'End of text here'] + new + call append(0, text) + 1 + norm! 0d2} +! call assert_equal(['.IP', +! \ 'The nroff macros IP separates a paragraph', 'That means, it must be a ''.''', 'followed by IP', +! \ '.LPIt does not matter, if afterwards some', 'more characters follow.', '.SHAlso section boundaries from the nroff', +! \ 'macros terminate a paragraph. That means', 'a character like this:', '.NH', 'End of text here', ''], getline(1,'$')) + norm! 0d} +! call assert_equal(['.LPIt does not matter, if afterwards some', 'more characters follow.', +! \ '.SHAlso section boundaries from the nroff', 'macros terminate a paragraph. That means', +! \ 'a character like this:', '.NH', 'End of text here', ''], getline(1, '$')) + $ + norm! d{ +! call assert_equal(['.LPIt does not matter, if afterwards some', 'more characters follow.', +! \ '.SHAlso section boundaries from the nroff', 'macros terminate a paragraph. That means', 'a character like this:', ''], getline(1, '$')) + norm! d{ +! call assert_equal(['.LPIt does not matter, if afterwards some', 'more characters follow.', ''], getline(1,'$')) + " Test with { in cpooptions + %d + call append(0, text) + set cpo+={ + 1 + norm! 0d2} +! call assert_equal(['{', 'This is no paragraph', 'unless the ''{'' is set', 'in ''cpoptions''', '}', +! \ '.IP', 'The nroff macros IP separates a paragraph', 'That means, it must be a ''.''', +! \ 'followed by IP', '.LPIt does not matter, if afterwards some', 'more characters follow.', +! \ '.SHAlso section boundaries from the nroff', 'macros terminate a paragraph. That means', +! \ 'a character like this:', '.NH', 'End of text here', ''], getline(1,'$')) + $ + norm! d} +! call assert_equal(['{', 'This is no paragraph', 'unless the ''{'' is set', 'in ''cpoptions''', '}', +! \ '.IP', 'The nroff macros IP separates a paragraph', 'That means, it must be a ''.''', +! \ 'followed by IP', '.LPIt does not matter, if afterwards some', 'more characters follow.', +! \ '.SHAlso section boundaries from the nroff', 'macros terminate a paragraph. That means', +! \ 'a character like this:', '.NH', 'End of text here', ''], getline(1,'$')) + norm! gg} + norm! d5} +! call assert_equal(['{', 'This is no paragraph', 'unless the ''{'' is set', 'in ''cpoptions''', '}', ''], getline(1,'$')) + + " clean up + set cpo-={ +--- 1555,1712 ---- + + fun! Test_normal29_brace() + " basic test for { and } movements +! let text =<< trim [DATA] +! A paragraph begins after each empty line, and also at each of a set of +! paragraph macros, specified by the pairs of characters in the 'paragraphs' +! option. The default is "IPLPPPQPP TPHPLIPpLpItpplpipbp", which corresponds to +! the macros ".IP", ".LP", etc. (These are nroff macros, so the dot must be in +! the first column). A section boundary is also a paragraph boundary. +! Note that a blank line (only containing white space) is NOT a paragraph +! boundary. +! +! +! Also note that this does not include a '{' or '}' in the first column. When +! the '{' flag is in 'cpoptions' then '{' in the first column is used as a +! paragraph boundary |posix|. +! { +! This is no paragraph +! unless the '{' is set +! in 'cpoptions' +! } +! .IP +! The nroff macros IP separates a paragraph +! That means, it must be a '.' +! followed by IP +! .LPIt does not matter, if afterwards some +! more characters follow. +! .SHAlso section boundaries from the nroff +! macros terminate a paragraph. That means +! a character like this: +! .NH +! End of text here +! [DATA] +! + new + call append(0, text) + 1 + norm! 0d2} +! +! let expected =<< trim [DATA] +! .IP +! The nroff macros IP separates a paragraph +! That means, it must be a '.' +! followed by IP +! .LPIt does not matter, if afterwards some +! more characters follow. +! .SHAlso section boundaries from the nroff +! macros terminate a paragraph. That means +! a character like this: +! .NH +! End of text here +! +! [DATA] +! call assert_equal(expected, getline(1, '$')) +! + norm! 0d} +! +! let expected =<< trim [DATA] +! .LPIt does not matter, if afterwards some +! more characters follow. +! .SHAlso section boundaries from the nroff +! macros terminate a paragraph. That means +! a character like this: +! .NH +! End of text here +! +! [DATA] +! call assert_equal(expected, getline(1, '$')) +! + $ + norm! d{ +! +! let expected =<< trim [DATA] +! .LPIt does not matter, if afterwards some +! more characters follow. +! .SHAlso section boundaries from the nroff +! macros terminate a paragraph. That means +! a character like this: +! +! [DATA] +! call assert_equal(expected, getline(1, '$')) +! + norm! d{ +! +! let expected =<< trim [DATA] +! .LPIt does not matter, if afterwards some +! more characters follow. +! +! [DATA] +! call assert_equal(expected, getline(1, '$')) +! + " Test with { in cpooptions + %d + call append(0, text) + set cpo+={ + 1 + norm! 0d2} +! +! let expected =<< trim [DATA] +! { +! This is no paragraph +! unless the '{' is set +! in 'cpoptions' +! } +! .IP +! The nroff macros IP separates a paragraph +! That means, it must be a '.' +! followed by IP +! .LPIt does not matter, if afterwards some +! more characters follow. +! .SHAlso section boundaries from the nroff +! macros terminate a paragraph. That means +! a character like this: +! .NH +! End of text here +! +! [DATA] +! call assert_equal(expected, getline(1, '$')) +! + $ + norm! d} +! +! let expected =<< trim [DATA] +! { +! This is no paragraph +! unless the '{' is set +! in 'cpoptions' +! } +! .IP +! The nroff macros IP separates a paragraph +! That means, it must be a '.' +! followed by IP +! .LPIt does not matter, if afterwards some +! more characters follow. +! .SHAlso section boundaries from the nroff +! macros terminate a paragraph. That means +! a character like this: +! .NH +! End of text here +! +! [DATA] +! call assert_equal(expected, getline(1, '$')) +! + norm! gg} + norm! d5} +! +! let expected =<< trim [DATA] +! { +! This is no paragraph +! unless the '{' is set +! in 'cpoptions' +! } +! +! [DATA] +! call assert_equal(expected, getline(1, '$')) + + " clean up + set cpo-={ +*** ../vim-8.1.1361/src/testdir/test_profile.vim 2019-01-24 17:59:35.139217458 +0100 +--- src/testdir/test_profile.vim 2019-05-20 22:05:14.858728332 +0200 +*************** +*** 4,37 **** + endif + + func Test_profile_func() +! let lines = [ +! \ 'profile start Xprofile_func.log', +! \ 'profile func Foo*"', +! \ "func! Foo1()", +! \ "endfunc", +! \ "func! Foo2()", +! \ " let l:count = 100", +! \ " while l:count > 0", +! \ " let l:count = l:count - 1", +! \ " endwhile", +! \ "endfunc", +! \ "func! Foo3()", +! \ "endfunc", +! \ "func! Bar()", +! \ "endfunc", +! \ "call Foo1()", +! \ "call Foo1()", +! \ "profile pause", +! \ "call Foo1()", +! \ "profile continue", +! \ "call Foo2()", +! \ "call Foo3()", +! \ "call Bar()", +! \ "if !v:profiling", +! \ " delfunc Foo2", +! \ "endif", +! \ "delfunc Foo3", +! \ ] + + call writefile(lines, 'Xprofile_func.vim') + call system(v:progpath +--- 4,37 ---- + endif + + func Test_profile_func() +! let lines =<< trim [CODE] +! profile start Xprofile_func.log +! profile func Foo* +! func! Foo1() +! endfunc +! func! Foo2() +! let l:count = 100 +! while l:count > 0 +! let l:count = l:count - 1 +! endwhile +! endfunc +! func! Foo3() +! endfunc +! func! Bar() +! endfunc +! call Foo1() +! call Foo1() +! profile pause +! call Foo1() +! profile continue +! call Foo2() +! call Foo3() +! call Bar() +! if !v:profiling +! delfunc Foo2 +! endif +! delfunc Foo3 +! [CODE] + + call writefile(lines, 'Xprofile_func.vim') + call system(v:progpath +*************** +*** 86,123 **** + endfunc + + func Test_profile_func_with_ifelse() +! let lines = [ +! \ "func! Foo1()", +! \ " if 1", +! \ " let x = 0", +! \ " elseif 1", +! \ " let x = 1", +! \ " else", +! \ " let x = 2", +! \ " endif", +! \ "endfunc", +! \ "func! Foo2()", +! \ " if 0", +! \ " let x = 0", +! \ " elseif 1", +! \ " let x = 1", +! \ " else", +! \ " let x = 2", +! \ " endif", +! \ "endfunc", +! \ "func! Foo3()", +! \ " if 0", +! \ " let x = 0", +! \ " elseif 0", +! \ " let x = 1", +! \ " else", +! \ " let x = 2", +! \ " endif", +! \ "endfunc", +! \ "call Foo1()", +! \ "call Foo2()", +! \ "call Foo3()", +! \ ] + + call writefile(lines, 'Xprofile_func.vim') + call system(v:progpath +--- 86,123 ---- + endfunc + + func Test_profile_func_with_ifelse() +! let lines =<< trim [CODE] +! func! Foo1() +! if 1 +! let x = 0 +! elseif 1 +! let x = 1 +! else +! let x = 2 +! endif +! endfunc +! func! Foo2() +! if 0 +! let x = 0 +! elseif 1 +! let x = 1 +! else +! let x = 2 +! endif +! endfunc +! func! Foo3() +! if 0 +! let x = 0 +! elseif 0 +! let x = 1 +! else +! let x = 2 +! endif +! endfunc +! call Foo1() +! call Foo2() +! call Foo3() +! [CODE] + + call writefile(lines, 'Xprofile_func.vim') + call system(v:progpath +*************** +*** 196,236 **** + endfunc + + func Test_profile_func_with_trycatch() +! let lines = [ +! \ "func! Foo1()", +! \ " try", +! \ " let x = 0", +! \ " catch", +! \ " let x = 1", +! \ " finally", +! \ " let x = 2", +! \ " endtry", +! \ "endfunc", +! \ "func! Foo2()", +! \ " try", +! \ " throw 0", +! \ " catch", +! \ " let x = 1", +! \ " finally", +! \ " let x = 2", +! \ " endtry", +! \ "endfunc", +! \ "func! Foo3()", +! \ " try", +! \ " throw 0", +! \ " catch", +! \ " throw 1", +! \ " finally", +! \ " let x = 2", +! \ " endtry", +! \ "endfunc", +! \ "call Foo1()", +! \ "call Foo2()", +! \ "try", +! \ " call Foo3()", +! \ "catch", +! \ "endtry", +! \ ] + + call writefile(lines, 'Xprofile_func.vim') + call system(v:progpath +--- 196,236 ---- + endfunc + + func Test_profile_func_with_trycatch() +! let lines =<< trim [CODE] +! func! Foo1() +! try +! let x = 0 +! catch +! let x = 1 +! finally +! let x = 2 +! endtry +! endfunc +! func! Foo2() +! try +! throw 0 +! catch +! let x = 1 +! finally +! let x = 2 +! endtry +! endfunc +! func! Foo3() +! try +! throw 0 +! catch +! throw 1 +! finally +! let x = 2 +! endtry +! endfunc +! call Foo1() +! call Foo2() +! try +! call Foo3() +! catch +! endtry +! [CODE] + + call writefile(lines, 'Xprofile_func.vim') + call system(v:progpath +*************** +*** 309,323 **** + endfunc + + func Test_profile_file() +! let lines = [ +! \ 'func! Foo()', +! \ 'endfunc', +! \ 'for i in range(10)', +! \ ' " a comment', +! \ ' call Foo()', +! \ 'endfor', +! \ 'call Foo()', +! \ ] + + call writefile(lines, 'Xprofile_file.vim') + call system(v:progpath +--- 309,323 ---- + endfunc + + func Test_profile_file() +! let lines =<< trim [CODE] +! func! Foo() +! endfunc +! for i in range(10) +! " a comment +! call Foo() +! endfor +! call Foo() +! [CODE] + + call writefile(lines, 'Xprofile_file.vim') + call system(v:progpath +*************** +*** 448,473 **** + endfunc + + func Test_profdel_func() +! let lines = [ +! \ 'profile start Xprofile_file.log', +! \ 'func! Foo1()', +! \ 'endfunc', +! \ 'func! Foo2()', +! \ 'endfunc', +! \ 'func! Foo3()', +! \ 'endfunc', +! \ '', +! \ 'profile func Foo1', +! \ 'profile func Foo2', +! \ 'call Foo1()', +! \ 'call Foo2()', +! \ '', +! \ 'profile func Foo3', +! \ 'profdel func Foo2', +! \ 'profdel func Foo3', +! \ 'call Foo1()', +! \ 'call Foo2()', +! \ 'call Foo3()' ] + call writefile(lines, 'Xprofile_file.vim') + call system(v:progpath . ' -es --clean -c "so Xprofile_file.vim" -c q') + call assert_equal(0, v:shell_error) +--- 448,474 ---- + endfunc + + func Test_profdel_func() +! let lines =<< trim [CODE] +! profile start Xprofile_file.log +! func! Foo1() +! endfunc +! func! Foo2() +! endfunc +! func! Foo3() +! endfunc +! +! profile func Foo1 +! profile func Foo2 +! call Foo1() +! call Foo2() +! +! profile func Foo3 +! profdel func Foo2 +! profdel func Foo3 +! call Foo1() +! call Foo2() +! call Foo3() +! [CODE] + call writefile(lines, 'Xprofile_file.vim') + call system(v:progpath . ' -es --clean -c "so Xprofile_file.vim" -c q') + call assert_equal(0, v:shell_error) +*************** +*** 494,507 **** + func Test_profdel_star() + " Foo() is invoked once before and once after 'profdel *'. + " So profiling should report it only once. +! let lines = [ +! \ 'profile start Xprofile_file.log', +! \ 'func! Foo()', +! \ 'endfunc', +! \ 'profile func Foo', +! \ 'call Foo()', +! \ 'profdel *', +! \ 'call Foo()' ] + call writefile(lines, 'Xprofile_file.vim') + call system(v:progpath . ' -es --clean -c "so Xprofile_file.vim" -c q') + call assert_equal(0, v:shell_error) +--- 495,509 ---- + func Test_profdel_star() + " Foo() is invoked once before and once after 'profdel *'. + " So profiling should report it only once. +! let lines =<< trim [CODE] +! profile start Xprofile_file.log +! func! Foo() +! endfunc +! profile func Foo +! call Foo() +! profdel * +! call Foo() +! [CODE] + call writefile(lines, 'Xprofile_file.vim') + call system(v:progpath . ' -es --clean -c "so Xprofile_file.vim" -c q') + call assert_equal(0, v:shell_error) +*** ../vim-8.1.1361/src/testdir/test_quickfix.vim 2019-05-05 21:00:22.854603956 +0200 +--- src/testdir/test_quickfix.vim 2019-05-20 22:05:14.858728332 +0200 +*************** +*** 818,885 **** + return + endif + +! let l = [ +! \ '"Xtestfile", line 4.12: 1506-045 (S) Undeclared identifier fd_set.', +! \ '"Xtestfile", line 6 col 19; this is an error', +! \ 'gcc -c -DHAVE_CONFIsing-prototypes -I/usr/X11R6/include version.c', +! \ 'Xtestfile:9: parse error before `asd''', +! \ 'make: *** [vim] Error 1', +! \ 'in file "Xtestfile" linenr 10: there is an error', +! \ '', +! \ '2 returned', +! \ '"Xtestfile", line 11 col 1; this is an error', +! \ '"Xtestfile", line 12 col 2; this is another error', +! \ '"Xtestfile", line 14:10; this is an error in column 10', +! \ '=Xtestfile=, line 15:10; this is another error, but in vcol 10 this time', +! \ '"Xtestfile", linenr 16: yet another problem', +! \ 'Error in "Xtestfile" at line 17:', +! \ 'x should be a dot', +! \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 17', +! \ ' ^', +! \ 'Error in "Xtestfile" at line 18:', +! \ 'x should be a dot', +! \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 18', +! \ '.............^', +! \ 'Error in "Xtestfile" at line 19:', +! \ 'x should be a dot', +! \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 19', +! \ '--------------^', +! \ 'Error in "Xtestfile" at line 20:', +! \ 'x should be a dot', +! \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 20', +! \ ' ^', +! \ '', +! \ 'Does anyone know what is the problem and how to correction it?', +! \ '"Xtestfile", line 21 col 9: What is the title of the quickfix window?', +! \ '"Xtestfile", line 22 col 9: What is the title of the quickfix window?' +! \ ] + + call writefile(l, 'Xerrorfile1') + call writefile(l[:-2], 'Xerrorfile2') + +! let m = [ +! \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 2', +! \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 3', +! \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 4', +! \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 5', +! \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 6', +! \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 7', +! \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 8', +! \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 9', +! \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 10', +! \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 11', +! \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 12', +! \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 13', +! \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 14', +! \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 15', +! \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 16', +! \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 17', +! \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 18', +! \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 19', +! \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 20', +! \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 21', +! \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 22' +! \ ] + call writefile(m, 'Xtestfile') + + let save_efm = &efm +--- 818,885 ---- + return + endif + +! let l =<< trim [DATA] +! "Xtestfile", line 4.12: 1506-045 (S) Undeclared identifier fd_set. +! "Xtestfile", line 6 col 19; this is an error +! gcc -c -DHAVE_CONFIsing-prototypes -I/usr/X11R6/include version.c +! Xtestfile:9: parse error before `asd' +! make: *** [vim] Error 1 +! in file "Xtestfile" linenr 10: there is an error +! +! 2 returned +! "Xtestfile", line 11 col 1; this is an error +! "Xtestfile", line 12 col 2; this is another error +! "Xtestfile", line 14:10; this is an error in column 10 +! =Xtestfile=, line 15:10; this is another error, but in vcol 10 this time +! "Xtestfile", linenr 16: yet another problem +! Error in "Xtestfile" at line 17: +! x should be a dot +! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 17 +! ^ +! Error in "Xtestfile" at line 18: +! x should be a dot +! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 18 +! .............^ +! Error in "Xtestfile" at line 19: +! x should be a dot +! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 19 +! --------------^ +! Error in "Xtestfile" at line 20: +! x should be a dot +! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 20 +! ^ +! +! Does anyone know what is the problem and how to correction it? +! "Xtestfile", line 21 col 9: What is the title of the quickfix window? +! "Xtestfile", line 22 col 9: What is the title of the quickfix window? +! [DATA] + + call writefile(l, 'Xerrorfile1') + call writefile(l[:-2], 'Xerrorfile2') + +! let m =<< trim [DATA] +! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 2 +! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 3 +! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 4 +! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 5 +! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 6 +! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 7 +! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 8 +! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 9 +! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 10 +! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 11 +! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 12 +! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 13 +! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 14 +! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 15 +! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 16 +! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 17 +! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 18 +! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 19 +! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 20 +! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 21 +! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 22 +! [DATA] + call writefile(m, 'Xtestfile') + + let save_efm = &efm +*************** +*** 1092,1112 **** + call assert_equal([' 1 Xtestfile:^\VLine search text\$: '], l) + + " Test for %P, %Q and %t format specifiers +! let lines=["[Xtestfile1]", +! \ "(1,17) error: ';' missing", +! \ "(21,2) warning: variable 'z' not defined", +! \ "(67,3) error: end of file found before string ended", +! \ "--", +! \ "", +! \ "[Xtestfile2]", +! \ "--", +! \ "", +! \ "[Xtestfile3]", +! \ "NEW compiler v1.1", +! \ "(2,2) warning: variable 'x' not defined", +! \ "(67,3) warning: 's' already defined", +! \ "--" +! \] + set efm=%+P[%f]%r,(%l\\,%c)%*[\ ]%t%*[^:]:\ %m,%+Q--%r + " To exercise the push/pop file functionality in quickfix, the test files + " need to be created. +--- 1092,1114 ---- + call assert_equal([' 1 Xtestfile:^\VLine search text\$: '], l) + + " Test for %P, %Q and %t format specifiers +! let lines =<< trim [DATA] +! [Xtestfile1] +! (1,17) error: ';' missing +! (21,2) warning: variable 'z' not defined +! (67,3) error: end of file found before string ended +! -- +! +! [Xtestfile2] +! -- +! +! [Xtestfile3] +! NEW compiler v1.1 +! (2,2) warning: variable 'x' not defined +! (67,3) warning: 's' already defined +! -- +! [DATA] +! + set efm=%+P[%f]%r,(%l\\,%c)%*[\ ]%t%*[^:]:\ %m,%+Q--%r + " To exercise the push/pop file functionality in quickfix, the test files + " need to be created. +*************** +*** 1128,1138 **** + call delete('Xtestfile3') + + " Tests for %E, %C and %Z format specifiers +! let lines = ["Error 275", +! \ "line 42", +! \ "column 3", +! \ "' ' expected after '--'" +! \] + set efm=%EError\ %n,%Cline\ %l,%Ccolumn\ %c,%Z%m + cgetexpr lines + let l = getqflist() +--- 1130,1142 ---- + call delete('Xtestfile3') + + " Tests for %E, %C and %Z format specifiers +! let lines =<< trim [DATA] +! Error 275 +! line 42 +! column 3 +! ' ' expected after '--' +! [DATA] +! + set efm=%EError\ %n,%Cline\ %l,%Ccolumn\ %c,%Z%m + cgetexpr lines + let l = getqflist() +*************** +*** 1143,1151 **** + call assert_equal("\n' ' expected after '--'", l[0].text) + + " Test for %> +! let lines = ["Error in line 147 of foo.c:", +! \"unknown variable 'i'" +! \] + set efm=unknown\ variable\ %m,%E%>Error\ in\ line\ %l\ of\ %f:,%Z%m + cgetexpr lines + let l = getqflist() +--- 1147,1157 ---- + call assert_equal("\n' ' expected after '--'", l[0].text) + + " Test for %> +! let lines =<< trim [DATA] +! Error in line 147 of foo.c: +! unknown variable 'i' +! [DATA] +! + set efm=unknown\ variable\ %m,%E%>Error\ in\ line\ %l\ of\ %f:,%Z%m + cgetexpr lines + let l = getqflist() +*************** +*** 1154,1174 **** + call assert_equal("\nunknown variable 'i'", l[0].text) + + " Test for %A, %C and other formats +! let lines = [ +! \"==============================================================", +! \"FAIL: testGetTypeIdCachesResult (dbfacadeTest.DjsDBFacadeTest)", +! \"--------------------------------------------------------------", +! \"Traceback (most recent call last):", +! \' File "unittests/dbfacadeTest.py", line 89, in testFoo', +! \" self.assertEquals(34, dtid)", +! \' File "/usr/lib/python2.2/unittest.py", line 286, in', +! \" failUnlessEqual", +! \" raise self.failureException, \\", +! \"AssertionError: 34 != 33", +! \"", +! \"--------------------------------------------------------------", +! \"Ran 27 tests in 0.063s" +! \] + set efm=%C\ %.%#,%A\ \ File\ \"%f\"\\,\ line\ %l%.%#,%Z%[%^\ ]%\\@=%m + cgetexpr lines + let l = getqflist() +--- 1160,1181 ---- + call assert_equal("\nunknown variable 'i'", l[0].text) + + " Test for %A, %C and other formats +! let lines =<< trim [DATA] +! ============================================================== +! FAIL: testGetTypeIdCachesResult (dbfacadeTest.DjsDBFacadeTest) +! -------------------------------------------------------------- +! Traceback (most recent call last): +! File "unittests/dbfacadeTest.py", line 89, in testFoo +! self.assertEquals(34, dtid) +! File "/usr/lib/python2.2/unittest.py", line 286, in +! failUnlessEqual +! raise self.failureException, \\ +! AssertionError: 34 != 33 +! +! -------------------------------------------------------------- +! Ran 27 tests in 0.063s +! [DATA] +! + set efm=%C\ %.%#,%A\ \ File\ \"%f\"\\,\ line\ %l%.%#,%Z%[%^\ ]%\\@=%m + cgetexpr lines + let l = getqflist() +*** ../vim-8.1.1361/src/testdir/test_startup.vim 2019-05-08 18:36:40.060562551 +0200 +--- src/testdir/test_startup.vim 2019-05-20 22:05:14.858728332 +0200 +*************** +*** 19,43 **** + if !has('packages') + return + endif +! let before = [ +! \ 'set nocp viminfo+=nviminfo', +! \ 'set guioptions+=M', +! \ 'let $HOME = "/does/not/exist"', +! \ 'set loadplugins', +! \ 'set rtp=Xhere,Xafter,Xanother', +! \ 'set packpath=Xhere,Xafter', +! \ 'set nomore', +! \ 'let g:sequence = ""', +! \ ] +! let after = [ +! \ 'redir! > Xtestout', +! \ 'scriptnames', +! \ 'redir END', +! \ 'redir! > Xsequence', +! \ 'echo g:sequence', +! \ 'redir END', +! \ 'quit', +! \ ] + call mkdir('Xhere/plugin', 'p') + call writefile(['let g:sequence .= "here "'], 'Xhere/plugin/here.vim') + call mkdir('Xanother/plugin', 'p') +--- 19,45 ---- + if !has('packages') + return + endif +! let before =<< trim [CODE] +! set nocp viminfo+=nviminfo +! set guioptions+=M +! let $HOME = "/does/not/exist" +! set loadplugins +! set rtp=Xhere,Xafter,Xanother +! set packpath=Xhere,Xafter +! set nomore +! let g:sequence = "" +! [CODE] +! +! let after =<< trim [CODE] +! redir! > Xtestout +! scriptnames +! redir END +! redir! > Xsequence +! echo g:sequence +! redir END +! quit +! [CODE] +! + call mkdir('Xhere/plugin', 'p') + call writefile(['let g:sequence .= "here "'], 'Xhere/plugin/here.vim') + call mkdir('Xanother/plugin', 'p') +*************** +*** 76,90 **** + if !has('packages') + return + endif +! let before = [ +! \ 'set nocp viminfo+=nviminfo', +! \ 'set guioptions+=M', +! \ 'let $HOME = "/does/not/exist"', +! \ 'set loadplugins', +! \ 'set rtp=Xhere', +! \ 'set packpath=Xhere', +! \ 'set nomore', +! \ ] + let after = [ + \ 'quit', + \ ] +--- 78,93 ---- + if !has('packages') + return + endif +! let before =<< trim [CODE] +! set nocp viminfo+=nviminfo +! set guioptions+=M +! let $HOME = "/does/not/exist" +! set loadplugins +! set rtp=Xhere +! set packpath=Xhere +! set nomore +! [CODE] +! + let after = [ + \ 'quit', + \ ] +*************** +*** 131,141 **** + endfunc + + func Test_compatible_args() +! let after = [ +! \ 'call writefile([string(&compatible)], "Xtestout")', +! \ 'set viminfo+=nviminfo', +! \ 'quit', +! \ ] + if RunVim([], after, '-C') + let lines = readfile('Xtestout') + call assert_equal('1', lines[0]) +--- 134,145 ---- + endfunc + + func Test_compatible_args() +! let after =<< trim [CODE] +! call writefile([string(&compatible)], "Xtestout") +! set viminfo+=nviminfo +! quit +! [CODE] +! + if RunVim([], after, '-C') + let lines = readfile('Xtestout') + call assert_equal('1', lines[0]) +*************** +*** 152,165 **** + " Test the -o[N] and -O[N] arguments to open N windows split + " horizontally or vertically. + func Test_o_arg() +! let after = [ +! \ 'call writefile([winnr("$"), +! \ winheight(1), winheight(2), &lines, +! \ winwidth(1), winwidth(2), &columns, +! \ bufname(winbufnr(1)), bufname(winbufnr(2))], +! \ "Xtestout")', +! \ 'qall', +! \ ] + if RunVim([], after, '-o2') + " Open 2 windows split horizontally. Expect: + " - 2 windows +--- 156,170 ---- + " Test the -o[N] and -O[N] arguments to open N windows split + " horizontally or vertically. + func Test_o_arg() +! let after =<< trim [CODE] +! call writefile([winnr("$"), +! \ winheight(1), winheight(2), &lines, +! \ winwidth(1), winwidth(2), &columns, +! \ bufname(winbufnr(1)), bufname(winbufnr(2))], +! \ "Xtestout") +! qall +! [CODE] +! + if RunVim([], after, '-o2') + " Open 2 windows split horizontally. Expect: + " - 2 windows +*************** +*** 228,237 **** + + " Test the -p[N] argument to open N tabpages. + func Test_p_arg() +! let after = [ +! \ 'call writefile(split(execute("tabs"), "\n"), "Xtestout")', +! \ 'qall', +! \ ] + if RunVim([], after, '-p2') + let lines = readfile('Xtestout') + call assert_equal(4, len(lines)) +--- 233,243 ---- + + " Test the -p[N] argument to open N tabpages. + func Test_p_arg() +! let after =<< trim [CODE] +! call writefile(split(execute("tabs"), "\n"), "Xtestout") +! qall +! [CODE] +! + if RunVim([], after, '-p2') + let lines = readfile('Xtestout') + call assert_equal(4, len(lines)) +*************** +*** 273,284 **** + " Test the '-q [errorfile]' argument. + func Test_q_arg() + let source_file = has('win32') ? '..\memfile.c' : '../memfile.c' +! let after = [ +! \ 'call writefile([&errorfile, string(getpos("."))], "Xtestout")', +! \ 'copen', +! \ 'w >> Xtestout', +! \ 'qall' +! \ ] + + " Test with default argument '-q'. + call assert_equal('errors.err', &errorfile) +--- 279,290 ---- + " Test the '-q [errorfile]' argument. + func Test_q_arg() + let source_file = has('win32') ? '..\memfile.c' : '../memfile.c' +! let after =<< trim [CODE] +! call writefile([&errorfile, string(getpos("."))], "Xtestout") +! copen +! w >> Xtestout +! qall +! [CODE] + + " Test with default argument '-q'. + call assert_equal('errors.err', &errorfile) +*************** +*** 335,344 **** + " -M resets 'modifiable' and 'write' + " -R sets 'readonly' + func Test_m_M_R() +! let after = [ +! \ 'call writefile([&write, &modifiable, &readonly, &updatecount], "Xtestout")', +! \ 'qall', +! \ ] + if RunVim([], after, '') + let lines = readfile('Xtestout') + call assert_equal(['1', '1', '0', '200'], lines) +--- 341,351 ---- + " -M resets 'modifiable' and 'write' + " -R sets 'readonly' + func Test_m_M_R() +! let after =<< trim [CODE] +! call writefile([&write, &modifiable, &readonly, &updatecount], "Xtestout") +! qall +! [CODE] +! + if RunVim([], after, '') + let lines = readfile('Xtestout') + call assert_equal(['1', '1', '0', '200'], lines) +*************** +*** 361,370 **** + + " Test the -A, -F and -H arguments (Arabic, Farsi and Hebrew modes). + func Test_A_F_H_arg() +! let after = [ +! \ 'call writefile([&rightleft, &arabic, &fkmap, &hkmap], "Xtestout")', +! \ 'qall', +! \ ] + " Use silent Ex mode to avoid the hit-Enter prompt for the warning that + " 'encoding' is not utf-8. + if has('arabic') && &encoding == 'utf-8' && RunVim([], after, '-e -s -A') +--- 368,378 ---- + + " Test the -A, -F and -H arguments (Arabic, Farsi and Hebrew modes). + func Test_A_F_H_arg() +! let after =<< trim [CODE] +! call writefile([&rightleft, &arabic, &fkmap, &hkmap], "Xtestout") +! qall +! [CODE] +! + " Use silent Ex mode to avoid the hit-Enter prompt for the warning that + " 'encoding' is not utf-8. + if has('arabic') && &encoding == 'utf-8' && RunVim([], after, '-e -s -A') +*************** +*** 481,490 **** + endfunc + + func Test_file_args() +! let after = [ +! \ 'call writefile(argv(), "Xtestout")', +! \ 'qall', +! \ ] + if RunVim([], after, '') + let lines = readfile('Xtestout') + call assert_equal(0, len(lines)) +--- 489,499 ---- + endfunc + + func Test_file_args() +! let after =<< trim [CODE] +! call writefile(argv(), "Xtestout") +! qall +! [CODE] +! + if RunVim([], after, '') + let lines = readfile('Xtestout') + call assert_equal(0, len(lines)) +*************** +*** 546,555 **** + endfunc + + func Test_read_stdin() +! let after = [ +! \ 'write Xtestout', +! \ 'quit!', +! \ ] + if RunVimPiped([], after, '-', 'echo something | ') + let lines = readfile('Xtestout') + " MS-Windows adds a space after the word +--- 555,565 ---- + endfunc + + func Test_read_stdin() +! let after =<< trim [CODE] +! write Xtestout +! quit! +! [CODE] +! + if RunVimPiped([], after, '-', 'echo something | ') + let lines = readfile('Xtestout') + " MS-Windows adds a space after the word +*************** +*** 559,568 **** + endfunc + + func Test_set_shell() +! let after = [ +! \ 'call writefile([&shell], "Xtestout")', +! \ 'quit!', +! \ ] + let $SHELL = '/bin/with space/sh' + if RunVimPiped([], after, '', '') + let lines = readfile('Xtestout') +--- 569,579 ---- + endfunc + + func Test_set_shell() +! let after =<< trim [CODE] +! call writefile([&shell], "Xtestout") +! quit! +! [CODE] +! + let $SHELL = '/bin/with space/sh' + if RunVimPiped([], after, '', '') + let lines = readfile('Xtestout') +*************** +*** 613,632 **** + func Test_zzz_startinsert() + " Test :startinsert + call writefile(['123456'], 'Xtestout') +! let after = [ +! \ ':startinsert', +! \ 'call feedkeys("foobar\<c-o>:wq\<cr>","t")' +! \ ] + if RunVim([], after, 'Xtestout') + let lines = readfile('Xtestout') + call assert_equal(['foobar123456'], lines) + endif + " Test :startinsert! + call writefile(['123456'], 'Xtestout') +! let after = [ +! \ ':startinsert!', +! \ 'call feedkeys("foobar\<c-o>:wq\<cr>","t")' +! \ ] + if RunVim([], after, 'Xtestout') + let lines = readfile('Xtestout') + call assert_equal(['123456foobar'], lines) +--- 624,645 ---- + func Test_zzz_startinsert() + " Test :startinsert + call writefile(['123456'], 'Xtestout') +! let after =<< trim [CODE] +! :startinsert +! call feedkeys("foobar\<c-o>:wq\<cr>","t") +! [CODE] +! + if RunVim([], after, 'Xtestout') + let lines = readfile('Xtestout') + call assert_equal(['foobar123456'], lines) + endif + " Test :startinsert! + call writefile(['123456'], 'Xtestout') +! let after =<< trim [CODE] +! :startinsert! +! call feedkeys("foobar\<c-o>:wq\<cr>","t") +! [CODE] +! + if RunVim([], after, 'Xtestout') + let lines = readfile('Xtestout') + call assert_equal(['123456foobar'], lines) +*** ../vim-8.1.1361/src/testdir/test_terminal.vim 2019-05-13 20:27:19.216311194 +0200 +--- src/testdir/test_terminal.vim 2019-05-20 22:05:14.858728332 +0200 +*************** +*** 1012,1029 **** + " Run Vim, start a terminal in that Vim without the kill argument, + " check that :qall does not exit, :qall! does. + func Test_terminal_qall_exit() +! let after = [ +! \ 'term', +! \ 'let buf = bufnr("%")', +! \ 'while term_getline(buf, 1) =~ "^\\s*$"', +! \ ' sleep 10m', +! \ 'endwhile', +! \ 'set nomore', +! \ 'au VimLeavePre * call writefile(["too early"], "Xdone")', +! \ 'qall', +! \ 'au! VimLeavePre * exe buf . "bwipe!" | call writefile(["done"], "Xdone")', +! \ 'cquit', +! \ ] + if !RunVim([], after, '') + return + endif +--- 1012,1030 ---- + " Run Vim, start a terminal in that Vim without the kill argument, + " check that :qall does not exit, :qall! does. + func Test_terminal_qall_exit() +! let after =<< trim [CODE] +! term +! let buf = bufnr("%") +! while term_getline(buf, 1) =~ "^\\s*$" +! sleep 10m +! endwhile +! set nomore +! au VimLeavePre * call writefile(["too early"], "Xdone") +! qall +! au! VimLeavePre * exe buf . "bwipe!" | call writefile(["done"], "Xdone") +! cquit +! [CODE] +! + if !RunVim([], after, '') + return + endif +*** ../vim-8.1.1361/src/testdir/test_xxd.vim 2019-01-27 14:41:40.411163229 +0100 +--- src/testdir/test_xxd.vim 2019-05-20 22:05:14.858728332 +0200 +*************** +*** 95,103 **** + %d + exe '0r! ' . s:xxd_cmd . ' -i XXDfile' + $d +! let expected = ['unsigned char XXDfile[] = {', +! \ ' 0x54, 0x45, 0x53, 0x54, 0x61, 0x62, 0x63, 0x64, 0x30, 0x39, 0x0a', '};', +! \ 'unsigned int XXDfile_len = 11;'] + call assert_equal(expected, getline(1,'$'), s:Mess(s:test)) + + " Test 8: Print C include capitalized +--- 95,107 ---- + %d + exe '0r! ' . s:xxd_cmd . ' -i XXDfile' + $d +! let expected =<< trim [CODE] +! unsigned char XXDfile[] = { +! 0x54, 0x45, 0x53, 0x54, 0x61, 0x62, 0x63, 0x64, 0x30, 0x39, 0x0a +! }; +! unsigned int XXDfile_len = 11; +! [CODE] +! + call assert_equal(expected, getline(1,'$'), s:Mess(s:test)) + + " Test 8: Print C include capitalized +*************** +*** 107,115 **** + %d + exe '0r! ' . s:xxd_cmd . ' -i ' . arg . ' XXDfile' + $d +! let expected = ['unsigned char XXDFILE[] = {', +! \ ' 0x54, 0x45, 0x53, 0x54, 0x61, 0x62, 0x63, 0x64, 0x30, 0x39, 0x0a', '};', +! \ 'unsigned int XXDFILE_LEN = 11;'] + call assert_equal(expected, getline(1,'$'), s:Mess(s:test)) + endfor + +--- 111,122 ---- + %d + exe '0r! ' . s:xxd_cmd . ' -i ' . arg . ' XXDfile' + $d +! let expected =<< trim [CODE] +! unsigned char XXDFILE[] = { +! 0x54, 0x45, 0x53, 0x54, 0x61, 0x62, 0x63, 0x64, 0x30, 0x39, 0x0a +! }; +! unsigned int XXDFILE_LEN = 11; +! [CODE] + call assert_equal(expected, getline(1,'$'), s:Mess(s:test)) + endfor + +*** ../vim-8.1.1361/src/version.c 2019-05-20 21:52:42.794911591 +0200 +--- src/version.c 2019-05-20 22:06:29.850313068 +0200 +*************** +*** 769,770 **** +--- 769,772 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 1362, + /**/ + +-- +A)bort, R)etry, P)lease don't bother me again + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |