# HG changeset patch # User Bram Moolenaar # Date 1547072105 -3600 # Node ID 63b02fcf1361e57b2b558cc7f500fda150656766 # Parent 3a8785d451125765651da62ad2a9800f48dff62f patch 8.1.0711: test files still use function! commit https://github.com/vim/vim/commit/1e1153600c0377472d62cc553173fe555ddcf5a7 Author: Bram Moolenaar Date: Wed Jan 9 23:01:02 2019 +0100 patch 8.1.0711: test files still use function! Problem: Test files still use function!. Solution: Remove the exclamation mark. Fix overwriting a function. diff --git a/src/testdir/test49.vim b/src/testdir/test49.vim --- a/src/testdir/test49.vim +++ b/src/testdir/test49.vim @@ -1,6 +1,6 @@ " Vim script language tests " Author: Servatius Brandt -" Last Change: 2016 Feb 07 +" Last Change: 2019 Jan 09 "------------------------------------------------------------------------------- " Test environment {{{1 @@ -318,7 +318,7 @@ let ExtraVimCount = 0 let ExtraVimBase = expand("") let ExtraVimTestEnv = "" " -function! ExtraVim(...) +function ExtraVim(...) " Count how often this function is called. let g:ExtraVimCount = g:ExtraVimCount + 1 @@ -500,7 +500,7 @@ endfunction " an ExtraVim script as passed by ExtraVim() in ExtraVimBegin. " " EXTRA_VIM_START - do not change or remove this line. -function! ExtraVimThrowpoint() +function ExtraVimThrowpoint() if !exists("g:ExtraVimBegin") Xout "ExtraVimThrowpoint() used outside ExtraVim() script." return v:throwpoint @@ -530,7 +530,7 @@ endfunction " as a script file, use ExecAsScript below. " " EXTRA_VIM_START - do not change or remove this line. -function! MakeScript(funcname, ...) +function MakeScript(funcname, ...) let script = tempname() execute "redir! >" . script execute "function" a:funcname @@ -568,7 +568,7 @@ endfunction " location specified in the function. " " EXTRA_VIM_START - do not change or remove this line. -function! ExecAsScript(funcname) +function ExecAsScript(funcname) " Make a script from the function passed as argument. let script = MakeScript(a:funcname) @@ -8548,7 +8548,7 @@ endfunction " Remove the autocommands for the events specified as arguments in all used " autogroups. -function! Delete_autocommands(...) +function Delete_autocommands(...) let augfile = tempname() while 1 try diff --git a/src/testdir/test_autocmd.vim b/src/testdir/test_autocmd.vim --- a/src/testdir/test_autocmd.vim +++ b/src/testdir/test_autocmd.vim @@ -2,7 +2,7 @@ source shared.vim -func! s:cleanup_buffers() abort +func s:cleanup_buffers() abort for bnr in range(1, bufnr('$')) if bufloaded(bnr) && bufnr('%') != bnr execute 'bd! ' . bnr @@ -1343,7 +1343,7 @@ func Test_ChangedP() endfunc let g:setline_handled = v:false -func! SetLineOne() +func SetLineOne() if !g:setline_handled call setline(1, "(x)") let g:setline_handled = v:true diff --git a/src/testdir/test_charsearch.vim b/src/testdir/test_charsearch.vim --- a/src/testdir/test_charsearch.vim +++ b/src/testdir/test_charsearch.vim @@ -1,5 +1,5 @@ -function! Test_charsearch() +func Test_charsearch() enew! call append(0, ['Xabcdefghijkemnopqretuvwxyz', \ 'Yabcdefghijkemnopqretuvwxyz', @@ -29,10 +29,10 @@ function! Test_charsearch() normal! ;;p call assert_equal('ZabcdeZfghijkZZemnokqretkZvwxyz', getline(3)) enew! -endfunction +endfunc " Test for t,f,F,T movement commands and 'cpo-;' setting -function! Test_search_cmds() +func Test_search_cmds() enew! call append(0, ["aaa two three four", " zzz", "yyy ", \ "bbb yee yoo four", "ccc two three four", @@ -59,4 +59,4 @@ function! Test_search_cmds() call assert_equal('ccc', getline(5)) call assert_equal('ddd yee y', getline(6)) enew! -endfunction +endfunc diff --git a/src/testdir/test_charsearch_utf8.vim b/src/testdir/test_charsearch_utf8.vim --- a/src/testdir/test_charsearch_utf8.vim +++ b/src/testdir/test_charsearch_utf8.vim @@ -4,7 +4,7 @@ if !has('multi_byte') endif " Test for t,f,F,T movement commands -function! Test_search_cmds() +func Test_search_cmds() new! call setline(1, "・最初から最後まで最強のVimは最高") 1 @@ -17,6 +17,6 @@ function! Test_search_cmds() normal! , call assert_equal([0, 1, 28, 0], getpos('.')) bw! -endfunction +endfunc " vim: shiftwidth=2 sts=2 expandtab diff --git a/src/testdir/test_display.vim b/src/testdir/test_display.vim --- a/src/testdir/test_display.vim +++ b/src/testdir/test_display.vim @@ -5,7 +5,7 @@ endif source view_util.vim -func! Test_display_foldcolumn() +func Test_display_foldcolumn() if !has("folding") return endif @@ -38,7 +38,7 @@ func! Test_display_foldcolumn() quit! endfunc -func! Test_display_foldtext_mbyte() +func Test_display_foldtext_mbyte() if !has("folding") || !has("multi_byte") return endif diff --git a/src/testdir/test_edit.vim b/src/testdir/test_edit.vim --- a/src/testdir/test_edit.vim +++ b/src/testdir/test_edit.vim @@ -9,7 +9,7 @@ source view_util.vim " Needs to come first until the bug in getchar() is " fixed: https://groups.google.com/d/msg/vim_dev/fXL9yme4H4c/bOR-U6_bAQAJ -func! Test_edit_00b() +func Test_edit_00b() new call setline(1, ['abc ']) inoreabbr h here some more @@ -21,7 +21,7 @@ func! Test_edit_00b() bw! endfunc -func! Test_edit_01() +func Test_edit_01() " set for Travis CI? " set nocp noesckeys new @@ -61,7 +61,7 @@ func! Test_edit_01() bw! endfunc -func! Test_edit_02() +func Test_edit_02() " Change cursor position in InsertCharPre command new call setline(1, 'abc') @@ -101,7 +101,7 @@ func! Test_edit_02() bw! endfunc -func! Test_edit_03() +func Test_edit_03() " Change cursor after command to end of line new call setline(1, 'abc') @@ -120,7 +120,7 @@ func! Test_edit_03() bw! endfunc -func! Test_edit_04() +func Test_edit_04() " test for :stopinsert new call setline(1, 'abc') @@ -132,7 +132,7 @@ func! Test_edit_04() bw! endfunc -func! Test_edit_05() +func Test_edit_05() " test for folds being opened new call setline(1, ['abcX', 'abcX', 'zzzZ']) @@ -154,7 +154,7 @@ func! Test_edit_05() bw! endfunc -func! Test_edit_06() +func Test_edit_06() " Test in diff mode if !has("diff") || !executable("diff") return @@ -176,7 +176,7 @@ func! Test_edit_06() bw! endfunc -func! Test_edit_07() +func Test_edit_07() " 1) Test with completion when popupmenu is visible new call setline(1, 'J') @@ -213,7 +213,7 @@ func! Test_edit_07() bw! endfunc -func! Test_edit_08() +func Test_edit_08() " reset insertmode from i_ctrl-r_= let g:bufnr = bufnr('%') new @@ -227,7 +227,7 @@ func! Test_edit_08() unlet g:bufnr endfunc -func! Test_edit_09() +func Test_edit_09() " test i_CTRL-\ combinations new call setline(1, ['abc', 'def', 'ghi']) @@ -257,7 +257,7 @@ func! Test_edit_09() bw! endfunc -func! Test_edit_10() +func Test_edit_10() " Test for starting selectmode new set selectmode=key keymodel=startsel @@ -269,7 +269,7 @@ func! Test_edit_10() bw! endfunc -func! Test_edit_11() +func Test_edit_11() " Test that indenting kicks in new set cindent @@ -313,7 +313,7 @@ func! Test_edit_11() bw! endfunc -func! Test_edit_11_indentexpr() +func Test_edit_11_indentexpr() " Test that indenting kicks in new " Use indentexpr instead of cindenting @@ -340,7 +340,7 @@ func! Test_edit_11_indentexpr() bw! endfunc -func! Test_edit_12() +func Test_edit_12() " Test changing indent in replace mode new call setline(1, ["\tabc", "\tdef"]) @@ -392,7 +392,7 @@ func! Test_edit_12() bw! endfunc -func! Test_edit_13() +func Test_edit_13() " Test smartindenting if exists("+smartindent") new @@ -405,7 +405,7 @@ func! Test_edit_13() endif endfunc -func! Test_edit_CR() +func Test_edit_CR() " Test for in insert mode " basically only in quickfix mode ist tested, the rest " has been taken care of by other tests @@ -438,7 +438,7 @@ func! Test_edit_CR() call delete('Xqflist.txt') endfunc -func! Test_edit_CTRL_() +func Test_edit_CTRL_() " disabled for Windows builds, why? if !has("multi_byte") || !has("rightleft") || has("win32") return @@ -469,7 +469,7 @@ func! Test_edit_CTRL_() endfunc " needs to come first, to have the @. register empty -func! Test_edit_00a_CTRL_A() +func Test_edit_00a_CTRL_A() " Test pressing CTRL-A new call setline(1, repeat([''], 5)) @@ -489,7 +489,7 @@ func! Test_edit_00a_CTRL_A() bw! endfunc -func! Test_edit_CTRL_EY() +func Test_edit_CTRL_EY() " Ctrl-E/ Ctrl-Y in insert mode completion to scroll 10new call setline(1, range(1, 100)) @@ -505,7 +505,7 @@ func! Test_edit_CTRL_EY() bw! endfunc -func! Test_edit_CTRL_G() +func Test_edit_CTRL_G() new call setline(1, ['foobar', 'foobar', 'foobar']) call cursor(2, 4) @@ -523,7 +523,7 @@ func! Test_edit_CTRL_G() bw! endfunc -func! Test_edit_CTRL_I() +func Test_edit_CTRL_I() " Tab in completion mode let path=expand("%:p:h") new @@ -547,7 +547,7 @@ func! Test_edit_CTRL_I() bw! endfunc -func! Test_edit_CTRL_K() +func Test_edit_CTRL_K() " Test pressing CTRL-K (basically only dictionary completion and digraphs " the rest is already covered call writefile(['A', 'AA', 'AAA', 'AAAA'], 'Xdictionary.txt') @@ -620,7 +620,7 @@ func! Test_edit_CTRL_K() bw! endfunc -func! Test_edit_CTRL_L() +func Test_edit_CTRL_L() " Test Ctrl-X Ctrl-L (line completion) new set complete=. @@ -676,7 +676,7 @@ func! Test_edit_CTRL_L() bw! endfunc -func! Test_edit_CTRL_N() +func Test_edit_CTRL_N() " Check keyword completion new set complete=. @@ -697,7 +697,7 @@ func! Test_edit_CTRL_N() bw! endfunc -func! Test_edit_CTRL_O() +func Test_edit_CTRL_O() " Check for CTRL-O in insert mode new inoreabbr h here some more @@ -722,7 +722,7 @@ func! Test_edit_CTRL_O() bw! endfunc -func! Test_edit_CTRL_R() +func Test_edit_CTRL_R() " Insert Register new call test_override("ALL", 1) @@ -737,7 +737,7 @@ func! Test_edit_CTRL_R() bw! endfunc -func! Test_edit_CTRL_S() +func Test_edit_CTRL_S() " Test pressing CTRL-S (basically only spellfile completion) " the rest is already covered new @@ -781,7 +781,7 @@ func! Test_edit_CTRL_S() bw! endfunc -func! Test_edit_CTRL_T() +func Test_edit_CTRL_T() " Check for CTRL-T and CTRL-X CTRL-T in insert mode " 1) increase indent new @@ -858,7 +858,7 @@ func! Test_edit_CTRL_T() bw! endfunc -func! Test_edit_CTRL_U() +func Test_edit_CTRL_U() " Test 'completefunc' new " -1, -2 and -3 are special return values @@ -917,7 +917,7 @@ func! Test_edit_CTRL_U() bw! endfunc -func! Test_edit_CTRL_Z() +func Test_edit_CTRL_Z() " Ctrl-Z when insertmode is not set inserts it literally new call setline(1, 'abc') @@ -927,7 +927,7 @@ func! Test_edit_CTRL_Z() " TODO: How to Test Ctrl-Z in insert mode, e.g. suspend? endfunc -func! Test_edit_DROP() +func Test_edit_DROP() if !has("dnd") return endif @@ -943,7 +943,7 @@ func! Test_edit_DROP() bw! endfunc -func! Test_edit_CTRL_V() +func Test_edit_CTRL_V() if has("ebcdic") return endif @@ -971,7 +971,7 @@ func! Test_edit_CTRL_V() bw! endfunc -func! Test_edit_F1() +func Test_edit_F1() " Pressing new call feedkeys(":set im\\\", 'tnix') @@ -981,7 +981,7 @@ func! Test_edit_F1() bw endfunc -func! Test_edit_F21() +func Test_edit_F21() " Pressing " sends a netbeans command if has("netbeans_intg") @@ -992,7 +992,7 @@ func! Test_edit_F21() endif endfunc -func! Test_edit_HOME_END() +func Test_edit_HOME_END() " Test Home/End Keys new set foldopen+=hor @@ -1007,7 +1007,7 @@ func! Test_edit_HOME_END() bw! endfunc -func! Test_edit_INS() +func Test_edit_INS() " Test for Pressing new call setline(1, ['abc', 'def']) @@ -1021,7 +1021,7 @@ func! Test_edit_INS() bw! endfunc -func! Test_edit_LEFT_RIGHT() +func Test_edit_LEFT_RIGHT() " Left, Shift-Left, Right, Shift-Right new call setline(1, ['abc def ghi', 'ABC DEF GHI', 'ZZZ YYY XXX']) @@ -1068,7 +1068,7 @@ func! Test_edit_LEFT_RIGHT() bw! endfunc -func! Test_edit_MOUSE() +func Test_edit_MOUSE() " This is a simple test, since we not really using the mouse here if !has("mouse") return @@ -1123,7 +1123,7 @@ func! Test_edit_MOUSE() bw! endfunc -func! Test_edit_PAGEUP_PAGEDOWN() +func Test_edit_PAGEUP_PAGEDOWN() 10new call setline(1, repeat(['abc def ghi'], 30)) call cursor(1, 1) @@ -1222,7 +1222,7 @@ func! Test_edit_PAGEUP_PAGEDOWN() bw! endfunc -func! Test_edit_forbidden() +func Test_edit_forbidden() new " 1) edit in the sandbox is not allowed call setline(1, 'a') @@ -1282,7 +1282,7 @@ func! Test_edit_forbidden() bw! endfunc -func! Test_edit_rightleft() +func Test_edit_rightleft() " Cursor in rightleft mode moves differently if !exists("+rightleft") return diff --git a/src/testdir/test_eval_func.vim b/src/testdir/test_eval_func.vim --- a/src/testdir/test_eval_func.vim +++ b/src/testdir/test_eval_func.vim @@ -1,6 +1,6 @@ " Vim script used in test_eval.in. Needed for script-local function. -func! s:Testje() +func s:Testje() return "foo" endfunc let Bar = function('s:Testje') diff --git a/src/testdir/test_fnameescape.vim b/src/testdir/test_fnameescape.vim --- a/src/testdir/test_fnameescape.vim +++ b/src/testdir/test_fnameescape.vim @@ -1,6 +1,6 @@ " Test if fnameescape is correct for special chars like ! -function! Test_fnameescape() +func Test_fnameescape() let fname = 'Xspa ce' let status = v:false try @@ -18,4 +18,4 @@ function! Test_fnameescape() endtry call assert_true(status, "ExclamationMark") call delete(fname) -endfunction +endfunc diff --git a/src/testdir/test_getcwd.vim b/src/testdir/test_getcwd.vim --- a/src/testdir/test_getcwd.vim +++ b/src/testdir/test_getcwd.vim @@ -1,112 +1,112 @@ -function! GetCwdInfo(win, tab) - let tab_changed = 0 - let mod = ":t" - if a:tab > 0 && a:tab != tabpagenr() - let tab_changed = 1 - exec "tabnext " . a:tab - endif - let bufname = fnamemodify(bufname(winbufnr(a:win)), mod) - if tab_changed - tabprevious - endif - if a:win == 0 && a:tab == 0 - let dirname = fnamemodify(getcwd(), mod) - let lflag = haslocaldir() - elseif a:tab == 0 - let dirname = fnamemodify(getcwd(a:win), mod) - let lflag = haslocaldir(a:win) - else - let dirname = fnamemodify(getcwd(a:win, a:tab), mod) - let lflag = haslocaldir(a:win, a:tab) - endif - return bufname . ' ' . dirname . ' ' . lflag -endfunction +func GetCwdInfo(win, tab) + let tab_changed = 0 + let mod = ":t" + if a:tab > 0 && a:tab != tabpagenr() + let tab_changed = 1 + exec "tabnext " . a:tab + endif + let bufname = fnamemodify(bufname(winbufnr(a:win)), mod) + if tab_changed + tabprevious + endif + if a:win == 0 && a:tab == 0 + let dirname = fnamemodify(getcwd(), mod) + let lflag = haslocaldir() + elseif a:tab == 0 + let dirname = fnamemodify(getcwd(a:win), mod) + let lflag = haslocaldir(a:win) + else + let dirname = fnamemodify(getcwd(a:win, a:tab), mod) + let lflag = haslocaldir(a:win, a:tab) + endif + return bufname . ' ' . dirname . ' ' . lflag +endfunc " Do all test in a separate window to avoid E211 when we recursively " delete the Xtopdir directory during cleanup function SetUp() - set visualbell - set nocp viminfo+=nviminfo + set visualbell + set nocp viminfo+=nviminfo - " On windows a swapfile in Xtopdir prevents it from being cleaned up. - set noswapfile + " On windows a swapfile in Xtopdir prevents it from being cleaned up. + set noswapfile - " On windows a stale "Xtopdir" directory may exist, remove it so that - " we start from a clean state. - call delete("Xtopdir", "rf") - new - call mkdir('Xtopdir') - cd Xtopdir - let g:topdir = getcwd() - call mkdir('Xdir1') - call mkdir('Xdir2') - call mkdir('Xdir3') + " On windows a stale "Xtopdir" directory may exist, remove it so that + " we start from a clean state. + call delete("Xtopdir", "rf") + new + call mkdir('Xtopdir') + cd Xtopdir + let g:topdir = getcwd() + call mkdir('Xdir1') + call mkdir('Xdir2') + call mkdir('Xdir3') endfunction let g:cwd=getcwd() function TearDown() - q - exec "cd " . g:cwd - call delete("Xtopdir", "rf") + q + exec "cd " . g:cwd + call delete("Xtopdir", "rf") endfunction function Test_GetCwd() - new a - new b - new c - 3wincmd w - lcd Xdir1 - call assert_equal("a Xdir1 1", GetCwdInfo(0, 0)) - call assert_equal(g:topdir, getcwd(-1)) - wincmd W - call assert_equal("b Xtopdir 0", GetCwdInfo(0, 0)) - call assert_equal(g:topdir, getcwd(-1)) - wincmd W - lcd Xdir3 - call assert_equal("c Xdir3 1", GetCwdInfo(0, 0)) - call assert_equal("a Xdir1 1", GetCwdInfo(bufwinnr("a"), 0)) - call assert_equal("b Xtopdir 0", GetCwdInfo(bufwinnr("b"), 0)) - call assert_equal("c Xdir3 1", GetCwdInfo(bufwinnr("c"), 0)) - call assert_equal(g:topdir, getcwd(-1)) - wincmd W - call assert_equal("a Xdir1 1", GetCwdInfo(bufwinnr("a"), tabpagenr())) - call assert_equal("b Xtopdir 0", GetCwdInfo(bufwinnr("b"), tabpagenr())) - call assert_equal("c Xdir3 1", GetCwdInfo(bufwinnr("c"), tabpagenr())) - call assert_equal(g:topdir, getcwd(-1)) + new a + new b + new c + 3wincmd w + lcd Xdir1 + call assert_equal("a Xdir1 1", GetCwdInfo(0, 0)) + call assert_equal(g:topdir, getcwd(-1)) + wincmd W + call assert_equal("b Xtopdir 0", GetCwdInfo(0, 0)) + call assert_equal(g:topdir, getcwd(-1)) + wincmd W + lcd Xdir3 + call assert_equal("c Xdir3 1", GetCwdInfo(0, 0)) + call assert_equal("a Xdir1 1", GetCwdInfo(bufwinnr("a"), 0)) + call assert_equal("b Xtopdir 0", GetCwdInfo(bufwinnr("b"), 0)) + call assert_equal("c Xdir3 1", GetCwdInfo(bufwinnr("c"), 0)) + call assert_equal(g:topdir, getcwd(-1)) + wincmd W + call assert_equal("a Xdir1 1", GetCwdInfo(bufwinnr("a"), tabpagenr())) + call assert_equal("b Xtopdir 0", GetCwdInfo(bufwinnr("b"), tabpagenr())) + call assert_equal("c Xdir3 1", GetCwdInfo(bufwinnr("c"), tabpagenr())) + call assert_equal(g:topdir, getcwd(-1)) - tabnew x - new y - new z - 3wincmd w - call assert_equal("x Xtopdir 0", GetCwdInfo(0, 0)) - call assert_equal(g:topdir, getcwd(-1)) - wincmd W - lcd Xdir2 - call assert_equal("y Xdir2 1", GetCwdInfo(0, 0)) - call assert_equal(g:topdir, getcwd(-1)) - wincmd W - lcd Xdir3 - call assert_equal("z Xdir3 1", GetCwdInfo(0, 0)) - call assert_equal("x Xtopdir 0", GetCwdInfo(bufwinnr("x"), 0)) - call assert_equal("y Xdir2 1", GetCwdInfo(bufwinnr("y"), 0)) - call assert_equal("z Xdir3 1", GetCwdInfo(bufwinnr("z"), 0)) - call assert_equal(g:topdir, getcwd(-1)) - let tp_nr = tabpagenr() - tabrewind - call assert_equal("x Xtopdir 0", GetCwdInfo(3, tp_nr)) - call assert_equal("y Xdir2 1", GetCwdInfo(2, tp_nr)) - call assert_equal("z Xdir3 1", GetCwdInfo(1, tp_nr)) - call assert_equal(g:topdir, getcwd(-1)) + tabnew x + new y + new z + 3wincmd w + call assert_equal("x Xtopdir 0", GetCwdInfo(0, 0)) + call assert_equal(g:topdir, getcwd(-1)) + wincmd W + lcd Xdir2 + call assert_equal("y Xdir2 1", GetCwdInfo(0, 0)) + call assert_equal(g:topdir, getcwd(-1)) + wincmd W + lcd Xdir3 + call assert_equal("z Xdir3 1", GetCwdInfo(0, 0)) + call assert_equal("x Xtopdir 0", GetCwdInfo(bufwinnr("x"), 0)) + call assert_equal("y Xdir2 1", GetCwdInfo(bufwinnr("y"), 0)) + call assert_equal("z Xdir3 1", GetCwdInfo(bufwinnr("z"), 0)) + call assert_equal(g:topdir, getcwd(-1)) + let tp_nr = tabpagenr() + tabrewind + call assert_equal("x Xtopdir 0", GetCwdInfo(3, tp_nr)) + call assert_equal("y Xdir2 1", GetCwdInfo(2, tp_nr)) + call assert_equal("z Xdir3 1", GetCwdInfo(1, tp_nr)) + call assert_equal(g:topdir, getcwd(-1)) endfunc function Test_GetCwd_lcd_shellslash() - new - let root = fnamemodify('/', ':p') - exe 'lcd '.root - let cwd = getcwd() - if !exists('+shellslash') || &shellslash - call assert_equal(cwd[-1:], '/') - else - call assert_equal(cwd[-1:], '\') - endif + new + let root = fnamemodify('/', ':p') + exe 'lcd '.root + let cwd = getcwd() + if !exists('+shellslash') || &shellslash + call assert_equal(cwd[-1:], '/') + else + call assert_equal(cwd[-1:], '\') + endif endfunc diff --git a/src/testdir/test_highlight.vim b/src/testdir/test_highlight.vim --- a/src/testdir/test_highlight.vim +++ b/src/testdir/test_highlight.vim @@ -38,15 +38,15 @@ func Test_highlight() call assert_fails("hi Crash term='asdf", "E475:") endfunc -function! HighlightArgs(name) +func HighlightArgs(name) return 'hi ' . substitute(split(execute('hi ' . a:name), '\n')[0], '\', '', '') -endfunction +endfunc -function! IsColorable() +func IsColorable() return has('gui_running') || str2nr(&t_Co) >= 8 -endfunction +endfunc -function! HiCursorLine() +func HiCursorLine() let hiCursorLine = HighlightArgs('CursorLine') if has('gui_running') let guibg = matchstr(hiCursorLine, 'guibg=\w\+') @@ -57,9 +57,9 @@ function! HiCursorLine() let hi_bg = 'hi CursorLine cterm=NONE ctermbg=Gray' endif return [hiCursorLine, hi_ul, hi_bg] -endfunction +endfunc -function! Check_lcs_eol_attrs(attrs, row, col) +func Check_lcs_eol_attrs(attrs, row, col) let save_lcs = &lcs set list @@ -67,7 +67,7 @@ function! Check_lcs_eol_attrs(attrs, row set nolist let &lcs = save_lcs -endfunction +endfunc func Test_highlight_eol_with_cursorline() let [hiCursorLine, hi_ul, hi_bg] = HiCursorLine() diff --git a/src/testdir/test_hlsearch.vim b/src/testdir/test_hlsearch.vim --- a/src/testdir/test_hlsearch.vim +++ b/src/testdir/test_hlsearch.vim @@ -1,6 +1,6 @@ " Test for v:hlsearch -function! Test_hlsearch() +func Test_hlsearch() new call setline(1, repeat(['aaa'], 10)) set hlsearch nolazyredraw @@ -30,7 +30,7 @@ function! Test_hlsearch() call garbagecollect(1) call getchar(1) enew! -endfunction +endfunc func Test_hlsearch_hangs() if !has('reltime') || !has('float') diff --git a/src/testdir/test_ins_complete.vim b/src/testdir/test_ins_complete.vim --- a/src/testdir/test_ins_complete.vim +++ b/src/testdir/test_ins_complete.vim @@ -142,7 +142,7 @@ func Test_completefunc_args() delfunc CompleteFunc endfunc -function! s:CompleteDone_CompleteFuncDict( findstart, base ) +func s:CompleteDone_CompleteFuncDict( findstart, base ) if a:findstart return 0 endif @@ -159,9 +159,9 @@ function! s:CompleteDone_CompleteFuncDic \ } \ ] \ } -endfunction +endfunc -function! s:CompleteDone_CheckCompletedItemDict() +func s:CompleteDone_CheckCompletedItemDict() call assert_equal( 'aword', v:completed_item[ 'word' ] ) call assert_equal( 'wrd', v:completed_item[ 'abbr' ] ) call assert_equal( 'extra text', v:completed_item[ 'menu' ] ) @@ -170,7 +170,7 @@ function! s:CompleteDone_CheckCompletedI call assert_equal( 'test', v:completed_item[ 'user_data' ] ) let s:called_completedone = 1 -endfunction +endfunc function Test_CompleteDoneDict() au CompleteDone * :call CompleteDone_CheckCompletedItemDict() @@ -186,7 +186,7 @@ function Test_CompleteDoneDict() au! CompleteDone endfunc -function! s:CompleteDone_CompleteFuncDictNoUserData( findstart, base ) +func s:CompleteDone_CompleteFuncDictNoUserData( findstart, base ) if a:findstart return 0 endif @@ -202,9 +202,9 @@ function! s:CompleteDone_CompleteFuncDic \ } \ ] \ } -endfunction +endfunc -function! s:CompleteDone_CheckCompletedItemDictNoUserData() +func s:CompleteDone_CheckCompletedItemDictNoUserData() call assert_equal( 'aword', v:completed_item[ 'word' ] ) call assert_equal( 'wrd', v:completed_item[ 'abbr' ] ) call assert_equal( 'extra text', v:completed_item[ 'menu' ] ) @@ -213,7 +213,7 @@ function! s:CompleteDone_CheckCompletedI call assert_equal( '', v:completed_item[ 'user_data' ] ) let s:called_completedone = 1 -endfunction +endfunc function Test_CompleteDoneDictNoUserData() au CompleteDone * :call CompleteDone_CheckCompletedItemDictNoUserData() @@ -229,15 +229,15 @@ function Test_CompleteDoneDictNoUserData au! CompleteDone endfunc -function! s:CompleteDone_CompleteFuncList( findstart, base ) +func s:CompleteDone_CompleteFuncList( findstart, base ) if a:findstart return 0 endif return [ 'aword' ] -endfunction +endfunc -function! s:CompleteDone_CheckCompletedItemList() +func s:CompleteDone_CheckCompletedItemList() call assert_equal( 'aword', v:completed_item[ 'word' ] ) call assert_equal( '', v:completed_item[ 'abbr' ] ) call assert_equal( '', v:completed_item[ 'menu' ] ) @@ -246,7 +246,7 @@ function! s:CompleteDone_CheckCompletedI call assert_equal( '', v:completed_item[ 'user_data' ] ) let s:called_completedone = 1 -endfunction +endfunc function Test_CompleteDoneList() au CompleteDone * :call CompleteDone_CheckCompletedItemList() diff --git a/src/testdir/test_lambda.vim b/src/testdir/test_lambda.vim --- a/src/testdir/test_lambda.vim +++ b/src/testdir/test_lambda.vim @@ -1,34 +1,34 @@ " Test for lambda and closure -function! Test_lambda_feature() +func Test_lambda_feature() call assert_equal(1, has('lambda')) -endfunction +endfunc -function! Test_lambda_with_filter() +func Test_lambda_with_filter() let s:x = 2 call assert_equal([2, 3], filter([1, 2, 3], {i, v -> v >= s:x})) -endfunction +endfunc -function! Test_lambda_with_map() +func Test_lambda_with_map() let s:x = 1 call assert_equal([2, 3, 4], map([1, 2, 3], {i, v -> v + s:x})) -endfunction +endfunc -function! Test_lambda_with_sort() +func Test_lambda_with_sort() call assert_equal([1, 2, 3, 4, 7], sort([3,7,2,1,4], {a, b -> a - b})) -endfunction +endfunc -function! Test_lambda_with_timer() +func Test_lambda_with_timer() if !has('timers') return endif let s:n = 0 let s:timer_id = 0 - function! s:Foo() + func! s:Foo() "let n = 0 let s:timer_id = timer_start(50, {-> execute("let s:n += 1 | echo s:n", "")}, {"repeat": -1}) - endfunction + endfunc call s:Foo() sleep 200ms @@ -40,12 +40,12 @@ function! Test_lambda_with_timer() call assert_true(m > 1) call assert_true(s:n > m + 1) call assert_true(s:n < 9) -endfunction +endfunc -function! Test_lambda_with_partial() +func Test_lambda_with_partial() let l:Cb = function({... -> ['zero', a:1, a:2, a:3]}, ['one', 'two']) call assert_equal(['zero', 'one', 'two', 'three'], l:Cb('three')) -endfunction +endfunc function Test_lambda_fails() call assert_equal(3, {a, b -> a + b}(1, 2)) @@ -58,59 +58,59 @@ func Test_not_lamda() call assert_equal('foo', x['>']) endfunc -function! Test_lambda_capture_by_reference() +func Test_lambda_capture_by_reference() let v = 1 let l:F = {x -> x + v} let v = 2 call assert_equal(12, l:F(10)) -endfunction +endfunc -function! Test_lambda_side_effect() - function! s:update_and_return(arr) +func Test_lambda_side_effect() + func! s:update_and_return(arr) let a:arr[1] = 5 return a:arr - endfunction + endfunc - function! s:foo(arr) + func! s:foo(arr) return {-> s:update_and_return(a:arr)} - endfunction + endfunc let arr = [3,2,1] call assert_equal([3, 5, 1], s:foo(arr)()) -endfunction +endfunc -function! Test_lambda_refer_local_variable_from_other_scope() - function! s:foo(X) +func Test_lambda_refer_local_variable_from_other_scope() + func! s:foo(X) return a:X() " refer l:x in s:bar() - endfunction + endfunc - function! s:bar() + func! s:bar() let x = 123 return s:foo({-> x}) - endfunction + endfunc call assert_equal(123, s:bar()) -endfunction +endfunc -function! Test_lambda_do_not_share_local_variable() - function! s:define_funcs() +func Test_lambda_do_not_share_local_variable() + func! s:define_funcs() let l:One = {-> split(execute("let a = 'abc' | echo a"))[0]} let l:Two = {-> exists("a") ? a : "no"} return [l:One, l:Two] - endfunction + endfunc let l:F = s:define_funcs() call assert_equal('no', l:F[1]()) call assert_equal('abc', l:F[0]()) call assert_equal('no', l:F[1]()) -endfunction +endfunc -function! Test_lambda_closure_counter() - function! s:foo() +func Test_lambda_closure_counter() + func! s:foo() let x = 0 return {-> [execute("let x += 1"), x][-1]} - endfunction + endfunc let l:F = s:foo() call test_garbagecollect_now() @@ -118,52 +118,52 @@ function! Test_lambda_closure_counter() call assert_equal(2, l:F()) call assert_equal(3, l:F()) call assert_equal(4, l:F()) -endfunction +endfunc -function! Test_lambda_with_a_var() - function! s:foo() +func Test_lambda_with_a_var() + func! s:foo() let x = 2 return {... -> a:000 + [x]} - endfunction - function! s:bar() + endfunc + func! s:bar() return s:foo()(1) - endfunction + endfunc call assert_equal([1, 2], s:bar()) -endfunction +endfunc -function! Test_lambda_call_lambda_from_lambda() - function! s:foo(x) +func Test_lambda_call_lambda_from_lambda() + func! s:foo(x) let l:F1 = {-> {-> a:x}} return {-> l:F1()} - endfunction + endfunc let l:F = s:foo(1) call assert_equal(1, l:F()()) -endfunction +endfunc -function! Test_lambda_delfunc() - function! s:gen() +func Test_lambda_delfunc() + func! s:gen() let pl = l: let l:Foo = {-> get(pl, "Foo", get(pl, "Bar", {-> 0}))} let l:Bar = l:Foo delfunction l:Foo return l:Bar - endfunction + endfunc let l:F = s:gen() call assert_fails(':call l:F()', 'E933:') -endfunction +endfunc -function! Test_lambda_scope() - function! s:NewCounter() +func Test_lambda_scope() + func! s:NewCounter() let c = 0 return {-> [execute('let c += 1'), c][-1]} - endfunction + endfunc - function! s:NewCounter2() + func! s:NewCounter2() return {-> [execute('let c += 100'), c][-1]} - endfunction + endfunc let l:C = s:NewCounter() let l:D = s:NewCounter2() @@ -171,37 +171,37 @@ function! Test_lambda_scope() call assert_equal(1, l:C()) call assert_fails(':call l:D()', 'E15:') " E121: then E15: call assert_equal(2, l:C()) -endfunction +endfunc -function! Test_lambda_share_scope() - function! s:New() +func Test_lambda_share_scope() + func! s:New() let c = 0 let l:Inc0 = {-> [execute('let c += 1'), c][-1]} let l:Dec0 = {-> [execute('let c -= 1'), c][-1]} return [l:Inc0, l:Dec0] - endfunction + endfunc let [l:Inc, l:Dec] = s:New() call assert_equal(1, l:Inc()) call assert_equal(2, l:Inc()) call assert_equal(1, l:Dec()) -endfunction +endfunc -function! Test_lambda_circular_reference() - function! s:Foo() +func Test_lambda_circular_reference() + func! s:Foo() let d = {} let d.f = {-> d} return d.f - endfunction + endfunc call s:Foo() call test_garbagecollect_now() let i = 0 | while i < 10000 | call s:Foo() | let i+= 1 | endwhile call test_garbagecollect_now() -endfunction +endfunc -function! Test_lambda_combination() +func Test_lambda_combination() call assert_equal(2, {x -> {x -> x}}(1)(2)) call assert_equal(10, {y -> {x -> x(y)(10)}({y -> y})}({z -> z})) call assert_equal(5.0, {x -> {y -> x / y}}(10)(2.0)) @@ -214,17 +214,17 @@ function! Test_lambda_combination() let Z = {f -> {x -> f({y -> x(x)(y)})}({x -> f({y -> x(x)(y)})})} let Fact = {f -> {x -> x == 0 ? 1 : x * f(x - 1)}} call assert_equal(120, Z(Fact)(5)) -endfunction +endfunc -function! Test_closure_counter() - function! s:foo() +func Test_closure_counter() + func! s:foo() let x = 0 - function! s:bar() closure + func! s:bar() closure let x += 1 return x - endfunction + endfunc return function('s:bar') - endfunction + endfunc let l:F = s:foo() call test_garbagecollect_now() @@ -232,30 +232,30 @@ function! Test_closure_counter() call assert_equal(2, l:F()) call assert_equal(3, l:F()) call assert_equal(4, l:F()) -endfunction +endfunc -function! Test_closure_unlet() - function! s:foo() +func Test_closure_unlet() + func! s:foo() let x = 1 - function! s:bar() closure + func! s:bar() closure unlet x - endfunction + endfunc call s:bar() return l: - endfunction + endfunc call assert_false(has_key(s:foo(), 'x')) call test_garbagecollect_now() -endfunction +endfunc -function! LambdaFoo() +func LambdaFoo() let x = 0 - function! LambdaBar() closure + func! LambdaBar() closure let x += 1 return x - endfunction + endfunc return function('LambdaBar') -endfunction +endfunc func Test_closure_refcount() let g:Count = LambdaFoo() diff --git a/src/testdir/test_listdict.vim b/src/testdir/test_listdict.vim --- a/src/testdir/test_listdict.vim +++ b/src/testdir/test_listdict.vim @@ -499,19 +499,19 @@ func Test_dict_lock_extend() endfunc " No remove() of write-protected scope-level variable -func! Tfunc(this_is_a_long_parameter_name) +func Tfunc1(this_is_a_long_parameter_name) call assert_fails("call remove(a:, 'this_is_a_long_parameter_name')", 'E795') -endfun +endfunc func Test_dict_scope_var_remove() - call Tfunc('testval') + call Tfunc1('testval') endfunc " No extend() of write-protected scope-level variable -func! Tfunc(this_is_a_long_parameter_name) +func Tfunc2(this_is_a_long_parameter_name) call assert_fails("call extend(a:, {'this_is_a_long_parameter_name': 1234})", 'E742') endfunc func Test_dict_scope_var_extend() - call Tfunc('testval') + call Tfunc2('testval') endfunc " No :unlet of variable in locked scope diff --git a/src/testdir/test_listlbr.vim b/src/testdir/test_listlbr.vim --- a/src/testdir/test_listlbr.vim +++ b/src/testdir/test_listlbr.vim @@ -13,9 +13,9 @@ function s:screen_lines(lnum, width) abo return ScreenLines(a:lnum, a:width) endfunction -function! s:compare_lines(expect, actual) +func s:compare_lines(expect, actual) call assert_equal(join(a:expect, "\n"), join(a:actual, "\n")) -endfunction +endfunc function s:test_windows(...) call NewWindow(10, 20) diff --git a/src/testdir/test_listlbr_utf8.vim b/src/testdir/test_listlbr_utf8.vim --- a/src/testdir/test_listlbr_utf8.vim +++ b/src/testdir/test_listlbr_utf8.vim @@ -9,15 +9,15 @@ endif source view_util.vim -function s:screen_lines(lnum, width) abort +func s:screen_lines(lnum, width) abort return ScreenLines(a:lnum, a:width) -endfunction +endfunc -function! s:compare_lines(expect, actual) +func s:compare_lines(expect, actual) call assert_equal(a:expect, a:actual) -endfunction +endfunc -function s:screen_attr(lnum, chars, ...) abort +func s:screen_attr(lnum, chars, ...) abort let line = getline(a:lnum) let attr = [] let prefix = get(a:000, 0, 0) @@ -26,18 +26,18 @@ function s:screen_attr(lnum, chars, ...) let attr += [screenattr(a:lnum, scol + prefix)] endfor return attr -endfunction +endfunc -function s:test_windows(...) +func s:test_windows(...) call NewWindow(10, 20) setl ts=4 sw=4 sts=4 linebreak sbr=+ wrap exe get(a:000, 0, '') -endfunction +endfunc -function s:close_windows(...) +func s:close_windows(...) call CloseWindow() exe get(a:000, 0, '') -endfunction +endfunc func Test_linebreak_with_fancy_listchars() call s:test_windows("setl list listchars=nbsp:\u2423,tab:\u2595\u2014,trail:\u02d1,eol:\ub6") diff --git a/src/testdir/test_marks.vim b/src/testdir/test_marks.vim --- a/src/testdir/test_marks.vim +++ b/src/testdir/test_marks.vim @@ -1,6 +1,6 @@ " Test that a deleted mark is restored after delete-undo-redo-undo. -function! Test_Restore_DelMark() +func Test_Restore_DelMark() enew! call append(0, [" textline A", " textline B", " textline C"]) normal! 2gg @@ -11,10 +11,10 @@ function! Test_Restore_DelMark() call assert_equal(2, pos[1]) call assert_equal(1, pos[2]) enew! -endfunction +endfunc " Test that CTRL-A and CTRL-X updates last changed mark '[, ']. -function! Test_Incr_Marks() +func Test_Incr_Marks() enew! call append(0, ["123 123 123", "123 123 123", "123 123 123"]) normal! gg @@ -23,7 +23,7 @@ function! Test_Incr_Marks() call assert_equal("123 XXXXXXX", getline(2)) call assert_equal("XXX 123 123", getline(3)) enew! -endfunction +endfunc func Test_setpos() new one diff --git a/src/testdir/test_matchadd_conceal.vim b/src/testdir/test_matchadd_conceal.vim --- a/src/testdir/test_matchadd_conceal.vim +++ b/src/testdir/test_matchadd_conceal.vim @@ -9,7 +9,7 @@ endif source shared.vim -function! Test_simple_matchadd() +func Test_simple_matchadd() new 1put='# This is a Test' @@ -29,9 +29,9 @@ function! Test_simple_matchadd() call assert_equal(screenattr(lnum, 1), screenattr(lnum, 16)) quit! -endfunction +endfunc -function! Test_simple_matchadd_and_conceal() +func Test_simple_matchadd_and_conceal() new setlocal concealcursor=n conceallevel=1 @@ -51,9 +51,9 @@ function! Test_simple_matchadd_and_conce call assert_equal(screenattr(lnum, 1), screenattr(lnum, 16)) quit! -endfunction +endfunc -function! Test_matchadd_and_conceallevel_3() +func Test_matchadd_and_conceallevel_3() new setlocal conceallevel=3 @@ -92,9 +92,9 @@ function! Test_matchadd_and_conceallevel syntax off quit! -endfunction +endfunc -function! Test_default_conceal_char() +func Test_default_conceal_char() new setlocal concealcursor=n conceallevel=1 @@ -128,9 +128,9 @@ function! Test_default_conceal_char() let &listchars = listchars_save quit! -endfunction +endfunc -function! Test_syn_and_match_conceal() +func Test_syn_and_match_conceal() new setlocal concealcursor=n conceallevel=1 @@ -164,9 +164,9 @@ function! Test_syn_and_match_conceal() syntax off quit! -endfunction +endfunc -function! Test_clearmatches() +func Test_clearmatches() new setlocal concealcursor=n conceallevel=1 @@ -203,9 +203,9 @@ function! Test_clearmatches() call assert_equal({'group': 'Conceal', 'pattern': '\%2l ', 'priority': 10, 'id': a[0].id, 'conceal': 'Z'}, a[0]) quit! -endfunction +endfunc -function! Test_using_matchaddpos() +func Test_using_matchaddpos() new setlocal concealcursor=n conceallevel=1 " set filetype and :syntax on to change screenattr() @@ -234,9 +234,9 @@ function! Test_using_matchaddpos() syntax off quit! -endfunction +endfunc -function! Test_matchadd_repeat_conceal_with_syntax_off() +func Test_matchadd_repeat_conceal_with_syntax_off() new " To test targets in the same line string is replaced with conceal char @@ -253,9 +253,9 @@ function! Test_matchadd_repeat_conceal_w call assert_equal('t_tt', Screenline(2)) quit! -endfunction +endfunc -function! Test_matchadd_and_syn_conceal() +func Test_matchadd_and_syn_conceal() new let cnt='Inductive bool : Type := | true : bool | false : bool.' let expect = 'Inductive - : Type := | true : - | false : -.' @@ -276,4 +276,4 @@ function! Test_matchadd_and_syn_conceal( call assert_notequal(screenattr(1, 10) , screenattr(1, 11)) call assert_notequal(screenattr(1, 11) , screenattr(1, 12)) call assert_equal(screenattr(1, 11) , screenattr(1, 32)) -endfunction +endfunc diff --git a/src/testdir/test_matchadd_conceal_utf8.vim b/src/testdir/test_matchadd_conceal_utf8.vim --- a/src/testdir/test_matchadd_conceal_utf8.vim +++ b/src/testdir/test_matchadd_conceal_utf8.vim @@ -7,19 +7,19 @@ if !has('gui_running') && has('unix') set term=ansi endif -function! s:screenline(lnum) abort +func s:screenline(lnum) abort let line = [] for c in range(1, winwidth(0)) call add(line, nr2char(screenchar(a:lnum, c))) endfor return s:trim(join(line, '')) -endfunction +endfunc -function! s:trim(str) abort +func s:trim(str) abort return matchstr(a:str,'^\s*\zs.\{-}\ze\s*$') -endfunction +endfunc -function! Test_match_using_multibyte_conceal_char() +func Test_match_using_multibyte_conceal_char() new setlocal concealcursor=n conceallevel=1 @@ -40,4 +40,4 @@ function! Test_match_using_multibyte_con call assert_equal(screenattr(lnum, 1), screenattr(lnum, 16)) quit! -endfunction +endfunc diff --git a/src/testdir/test_messages.vim b/src/testdir/test_messages.vim --- a/src/testdir/test_messages.vim +++ b/src/testdir/test_messages.vim @@ -43,7 +43,7 @@ endfunction " indicator (e.g., "-- INSERT --") when ":stopinsert" is invoked. Message " output could then be disturbed when 'cmdheight' was greater than one. " This test ensures that the bugfix for this issue remains in place. -function! Test_stopinsert_does_not_break_message_output() +func Test_stopinsert_does_not_break_message_output() set cmdheight=2 redraw! @@ -58,7 +58,7 @@ function! Test_stopinsert_does_not_break redraw! set cmdheight& -endfunction +endfunc func Test_message_completion() call feedkeys(":message \\\"\", 'tx') diff --git a/src/testdir/test_number.vim b/src/testdir/test_number.vim --- a/src/testdir/test_number.vim +++ b/src/testdir/test_number.vim @@ -2,23 +2,23 @@ source view_util.vim -func! s:screen_lines(start, end) abort +func s:screen_lines(start, end) abort return ScreenLines([a:start, a:end], 8) endfunc -func! s:compare_lines(expect, actual) +func s:compare_lines(expect, actual) call assert_equal(a:expect, a:actual) endfunc -func! s:test_windows(h, w) abort +func s:test_windows(h, w) abort call NewWindow(a:h, a:w) endfunc -func! s:close_windows() abort +func s:close_windows() abort call CloseWindow() endfunc -func! s:validate_cursor() abort +func s:validate_cursor() abort " update skipcol. " wincol(): " f_wincol diff --git a/src/testdir/test_options.vim b/src/testdir/test_options.vim --- a/src/testdir/test_options.vim +++ b/src/testdir/test_options.vim @@ -1,6 +1,6 @@ " Test for options -function! Test_whichwrap() +func Test_whichwrap() set whichwrap=b,s call assert_equal('b,s', &whichwrap) @@ -20,16 +20,16 @@ function! Test_whichwrap() call assert_equal('h', &whichwrap) set whichwrap& -endfunction +endfunc -function! Test_isfname() +func Test_isfname() " This used to cause Vim to access uninitialized memory. set isfname= call assert_equal("~X", expand("~X")) set isfname& -endfunction +endfunc -function Test_wildchar() +func Test_wildchar() " Empty 'wildchar' used to access invalid memory. call assert_fails('set wildchar=', 'E521:') call assert_fails('set wildchar=abc', 'E521:') @@ -40,9 +40,9 @@ function Test_wildchar() let a=execute('set wildchar?') call assert_equal("\n wildchar=", a) set wildchar& -endfunction +endfunc -function Test_options() +func Test_options() let caught = 'ok' try options @@ -53,9 +53,9 @@ function Test_options() " close option-window close -endfunction +endfunc -function Test_path_keep_commas() +func Test_path_keep_commas() " Test that changing 'path' keeps two commas. set path=foo,,bar set path-=bar @@ -63,7 +63,7 @@ function Test_path_keep_commas() call assert_equal('foo,,bar', &path) set path& -endfunction +endfunc func Test_signcolumn() if has('signs') diff --git a/src/testdir/test_partial.vim b/src/testdir/test_partial.vim --- a/src/testdir/test_partial.vim +++ b/src/testdir/test_partial.vim @@ -114,9 +114,9 @@ func Test_function_in_dict() call OuterCall() endfunc -function! s:cache_clear() dict +func s:cache_clear() dict return self.name -endfunction +endfunc func Test_script_function_in_dict() let s:obj = {'name': 'foo'} @@ -136,10 +136,10 @@ func Test_script_function_in_dict() call assert_equal('bar', B()) endfunc -function! s:cache_arg(arg) dict +func s:cache_arg(arg) dict let s:result = self.name . '/' . a:arg return s:result -endfunction +endfunc func Test_script_function_in_dict_arg() let s:obj = {'name': 'foo'} diff --git a/src/testdir/test_smartindent.vim b/src/testdir/test_smartindent.vim --- a/src/testdir/test_smartindent.vim +++ b/src/testdir/test_smartindent.vim @@ -1,24 +1,24 @@ " Tests for smartindent " Tests for not doing smart indenting when it isn't set. -function! Test_nosmartindent() +func Test_nosmartindent() new call append(0, [" some test text", - \ " test text", - \ "test text", - \ " test text"]) + \ " test text", + \ "test text", + \ " test text"]) set nocindent nosmartindent autoindent exe "normal! gg/some\" exe "normal! 2cc#test\" call assert_equal(" #test", getline(1)) enew! | close -endfunction +endfunc -function MyIndent() -endfunction +func MyIndent() +endfunc " When 'indentexpr' is set, setting 'si' has no effect. -function Test_smartindent_has_no_effect() +func Test_smartindent_has_no_effect() new exe "normal! i\one\" set noautoindent @@ -36,6 +36,6 @@ function Test_smartindent_has_no_effect( set smartindent& set indentexpr& bwipe! -endfunction +endfunc " vim: shiftwidth=2 sts=2 expandtab diff --git a/src/testdir/test_substitute.vim b/src/testdir/test_substitute.vim --- a/src/testdir/test_substitute.vim +++ b/src/testdir/test_substitute.vim @@ -1,6 +1,6 @@ " Tests for multi-line regexps with ":s". -function! Test_multiline_subst() +func Test_multiline_subst() enew! call append(0, ["1 aa", \ "bb", @@ -38,9 +38,9 @@ function! Test_multiline_subst() call assert_equal('7x7f', getline(12)) call assert_equal('xxxxx', getline(13)) enew! -endfunction +endfunc -function! Test_substitute_variants() +func Test_substitute_variants() " Validate that all the 2-/3-letter variants which embed the flags into the " command name actually work. enew! @@ -105,7 +105,7 @@ function! Test_substitute_variants() call assert_equal(var.exp, getline('.'), msg) endfor endfor -endfunction +endfunc func Test_substitute_repeat() " This caused an invalid memory access. @@ -401,9 +401,9 @@ func Test_sub_cmd_4() " List entry format: [input, cmd, output] let tests = [ ['aAa', "s/A/\\=substitute(submatch(0), '.', '\\', '')/", - \ ['a\a']], + \ ['a\a']], \ ['bBb', "s/B/\\=substitute(submatch(0), '.', '\\', '')/", - \ ['b\b']], + \ ['b\b']], \ ['cCc', "s/C/\\=substitute(submatch(0), '.', '\\', '')/", \ ["c\", 'c']], \ ['dDd', "s/D/\\=substitute(submatch(0), '.', '\\\\', '')/", diff --git a/src/testdir/test_system.vim b/src/testdir/test_system.vim --- a/src/testdir/test_system.vim +++ b/src/testdir/test_system.vim @@ -1,6 +1,6 @@ " Tests for system() and systemlist() -function! Test_System() +func Test_System() if !executable('echo') || !executable('cat') || !executable('wc') return endif @@ -45,9 +45,9 @@ function! Test_System() bwipe! call assert_fails('call system("wc -l", 99999)', 'E86:') -endfunction +endfunc -function! Test_system_exmode() +func Test_system_exmode() if has('unix') " echo $? only works on Unix let cmd = ' -es -u NONE -c "source Xscript" +q; echo "result=$?"' " Need to put this in a script, "catch" isn't found after an unknown diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim --- a/src/testdir/test_terminal.vim +++ b/src/testdir/test_terminal.vim @@ -122,7 +122,7 @@ func Test_terminal_hide_buffer() unlet g:job endfunc -func! s:Nasty_exit_cb(job, st) +func s:Nasty_exit_cb(job, st) exe g:buf . 'bwipe!' let g:buf = 0 endfunc @@ -1727,3 +1727,27 @@ func Test_terminal_no_job() let term = term_start('false', {'term_finish': 'close'}) call WaitForAssert({-> assert_equal(v:null, term_getjob(term)) }) endfunc + +func Test_term_gettitle() + if !has('title') || empty(&t_ts) + return + endif + " TODO: this fails on Travis + return + + " term_gettitle() returns an empty string for a non-terminal buffer + " or for a non-existing buffer. + call assert_equal('', term_gettitle(bufnr('%'))) + call assert_equal('', term_gettitle(bufnr('$') + 1)) + + let term = term_start([GetVimProg(), '--clean', '-c', 'set noswapfile']) + call WaitForAssert({-> assert_equal('[No Name] - VIM', term_gettitle(term)) }) + + call term_sendkeys(term, ":e Xfoo\r") + call WaitForAssert({-> assert_match('Xfoo (.*[/\\]testdir) - VIM', term_gettitle(term)) }) + + call term_sendkeys(term, ":set titlestring=foo\r") + call WaitForAssert({-> assert_equal('foo', term_gettitle(term)) }) + + exe term . 'bwipe!' +endfunc diff --git a/src/testdir/test_textobjects.vim b/src/testdir/test_textobjects.vim --- a/src/testdir/test_textobjects.vim +++ b/src/testdir/test_textobjects.vim @@ -236,7 +236,7 @@ func Test_sentence_with_quotes() %delete _ endfunc -func! Test_sentence_with_cursor_on_delimiter() +func Test_sentence_with_cursor_on_delimiter() enew! call setline(1, "A '([sentence.])' A sentence.") diff --git a/src/testdir/test_utf8.vim b/src/testdir/test_utf8.vim --- a/src/testdir/test_utf8.vim +++ b/src/testdir/test_utf8.vim @@ -25,17 +25,17 @@ func Test_strchars() endfunc " Test for customlist completion -function! CustomComplete1(lead, line, pos) +func CustomComplete1(lead, line, pos) return ['あ', 'い'] -endfunction +endfunc -function! CustomComplete2(lead, line, pos) +func CustomComplete2(lead, line, pos) return ['あたし', 'あたま', 'あたりめ'] -endfunction +endfunc -function! CustomComplete3(lead, line, pos) +func CustomComplete3(lead, line, pos) return ['Nこ', 'Nん', 'Nぶ'] -endfunction +endfunc func Test_customlist_completion() command -nargs=1 -complete=customlist,CustomComplete1 Test1 echo diff --git a/src/testdir/test_utf8_comparisons.vim b/src/testdir/test_utf8_comparisons.vim --- a/src/testdir/test_utf8_comparisons.vim +++ b/src/testdir/test_utf8_comparisons.vim @@ -5,12 +5,12 @@ if !has("multi_byte") finish endif -function! Ch(a, op, b, expected) +func Ch(a, op, b, expected) call assert_equal(eval(printf('"%s" %s "%s"', a:a, a:op, a:b)), a:expected, \ printf('"%s" %s "%s" should return %d', a:a, a:op, a:b, a:expected)) -endfunction +endfunc -function! Chk(a, b, result) +func Chk(a, b, result) if a:result == 0 call Ch(a:a, '==?', a:b, 1) call Ch(a:a, '!=?', a:b, 0) @@ -33,26 +33,26 @@ function! Chk(a, b, result) call Ch(a:a, '?', a:b, 0) endif -endfunction +endfunc -function! Check(a, b, result) +func Check(a, b, result) call Chk(a:a, a:b, a:result) call Chk(a:b, a:a, -a:result) -endfunction +endfunc -function! LT(a, b) +func LT(a, b) call Check(a:a, a:b, -1) -endfunction +endfunc -function! GT(a, b) +func GT(a, b) call Check(a:a, a:b, 1) -endfunction +endfunc -function! EQ(a, b) +func EQ(a, b) call Check(a:a, a:b, 0) -endfunction +endfunc -function Test_comparisons() +func Test_comparisons() call EQ('', '') call LT('', 'a') call EQ('abc', 'abc') @@ -85,11 +85,11 @@ function Test_comparisons() for n in range(0xC0, 0xFF) call LT(printf('xYz\xc2\x%.2XUvW', n), printf('XyZ\xc2\x%.2XuVw', n)) endfor -endfunction +endfunc " test that g~ap changes one paragraph only. -function Test_gap() +func Test_gap() new call feedkeys("iabcd\n\ndefggg0g~ap", "tx") call assert_equal(["ABCD", "", "defg"], getline(1,3)) -endfunction +endfunc diff --git a/src/testdir/test_vartabs.vim b/src/testdir/test_vartabs.vim --- a/src/testdir/test_vartabs.vim +++ b/src/testdir/test_vartabs.vim @@ -134,7 +134,7 @@ func Test_vartabs() bwipeout! endfunc -func! Test_vartabs_breakindent() +func Test_vartabs_breakindent() if !exists("+breakindent") return endif diff --git a/src/testdir/test_vimscript.vim b/src/testdir/test_vimscript.vim --- a/src/testdir/test_vimscript.vim +++ b/src/testdir/test_vimscript.vim @@ -5,11 +5,11 @@ " Test environment {{{1 "------------------------------------------------------------------------------- -com! XpathINIT let g:Xpath = '' +com! XpathINIT let g:Xpath = '' com! -nargs=1 -bar Xpath let g:Xpath = g:Xpath . " Append a message to the "messages" file -func! Xout(text) +func Xout(text) split messages $put =a:text wq @@ -25,7 +25,7 @@ com! -nargs=1 Xout call Xout(" . script execute "function" a:funcname @@ -50,7 +50,7 @@ function! MakeScript(funcname, ...) write bwipeout return script -endfunction +endfunc " ExecAsScript - Source a temporary script made from a function. {{{2 " @@ -301,9 +301,9 @@ XpathINIT " let calls = "" com! -nargs=1 CALL - \ if !exists("calls") && !exists("outer") | - \ let g:calls = g:calls . | - \ endif + \ if !exists("calls") && !exists("outer") | + \ let g:calls = g:calls . | + \ endif let i = 0 while i < 3 @@ -357,7 +357,7 @@ endif if exists("*F1") call F1("F1") if exists("*G1") - call G1("G1") + call G1("G1") endif endif @@ -367,13 +367,13 @@ endif if exists("*F2") call F2(2, "F2") if exists("*G21") - call G21("G21") + call G21("G21") endif if exists("*G22") - call G22("G22") + call G22("G22") endif if exists("*G23") - call G23("G23") + call G23("G23") endif endif @@ -383,13 +383,13 @@ endif if exists("*F3") call F3(3, "F3") if exists("*G31") - call G31("G31") + call G31("G31") endif if exists("*G32") - call G32("G32") + call G32("G32") endif if exists("*G33") - call G33("G33") + call G33("G33") endif endif @@ -640,7 +640,7 @@ function! MSG(enr, emsg) endif endif return match -endfunction +endfunc if 1 || strlen("\"") | Xpath 'a' Xpath 'b' @@ -1032,11 +1032,11 @@ func Test_type() call assert_true(empty(v:none)) func ChangeYourMind() - try - return v:true - finally - return 'something else' - endtry + try + return v:true + finally + return 'something else' + endtry endfunc call ChangeYourMind() @@ -1250,70 +1250,70 @@ endfunction func Test_script_lines() " :append try - call DefineFunction('T_Append', [ - \ 'append', - \ 'py < tmp.txt' sp wincmd p edit! tmp.txt -endfunction +endfunc func Test_window_prevwin() " Can we make this work on MS-Windows? diff --git a/src/testdir/test_xxd.vim b/src/testdir/test_xxd.vim --- a/src/testdir/test_xxd.vim +++ b/src/testdir/test_xxd.vim @@ -7,17 +7,17 @@ else let s:xxd_cmd = $XXD endif -func! PrepareBuffer(lines) +func PrepareBuffer(lines) new call append(0, a:lines) $d endfunc -func! s:Mess(counter) +func s:Mess(counter) return printf("Failed xxd test %d:", a:counter) endfunc -func! Test_xxd() +func Test_xxd() call PrepareBuffer(range(1,30)) set ff=unix w XXDfile diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -800,6 +800,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 711, +/**/ 710, /**/ 709,