aboutsummaryrefslogtreecommitdiff
path: root/src/nvim
diff options
context:
space:
mode:
authorJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2020-11-30 20:59:40 -0500
committerGitHub <noreply@github.com>2020-11-30 20:59:40 -0500
commita1a4dd34ea26d397f7222afe943f67bbdb889d3f (patch)
tree34f1dde81d850623a796f633b19d396a740730ad /src/nvim
parentc3a45032e6fa3b2aafff10a1e5ef606d077cd954 (diff)
parent87279bb8099fb0c37667ae131d4f7dbeb42dc504 (diff)
downloadrneovim-a1a4dd34ea26d397f7222afe943f67bbdb889d3f.tar.gz
rneovim-a1a4dd34ea26d397f7222afe943f67bbdb889d3f.tar.bz2
rneovim-a1a4dd34ea26d397f7222afe943f67bbdb889d3f.zip
Merge pull request #13419 from janlazo/vim-8.2.2067
vim-patch:8.1.2264,8.2.{617,620,628,2067,2069}
Diffstat (limited to 'src/nvim')
-rw-r--r--src/nvim/quickfix.c7
-rw-r--r--src/nvim/testdir/test49.vim14
-rw-r--r--src/nvim/testdir/test_alot.vim1
-rw-r--r--src/nvim/testdir/test_assign.vim47
-rw-r--r--src/nvim/testdir/test_autocmd.vim2
-rw-r--r--src/nvim/testdir/test_charsearch.vim8
-rw-r--r--src/nvim/testdir/test_charsearch_utf8.vim2
-rw-r--r--src/nvim/testdir/test_edit.vim74
-rw-r--r--src/nvim/testdir/test_fnameescape.vim4
-rw-r--r--src/nvim/testdir/test_getcwd.vim188
-rw-r--r--src/nvim/testdir/test_highlight.vim16
-rw-r--r--src/nvim/testdir/test_hlsearch.vim4
-rw-r--r--src/nvim/testdir/test_let.vim53
-rw-r--r--src/nvim/testdir/test_listlbr.vim4
-rw-r--r--src/nvim/testdir/test_listlbr_utf8.vim20
-rw-r--r--src/nvim/testdir/test_matchadd_conceal.vim32
-rw-r--r--src/nvim/testdir/test_matchadd_conceal_utf8.vim2
-rw-r--r--src/nvim/testdir/test_number.vim10
-rw-r--r--src/nvim/testdir/test_options.vim2
-rw-r--r--src/nvim/testdir/test_partial.vim8
-rw-r--r--src/nvim/testdir/test_quickfix.vim58
-rw-r--r--src/nvim/testdir/test_smartindent.vim18
-rw-r--r--src/nvim/testdir/test_substitute.vim10
-rw-r--r--src/nvim/testdir/test_textobjects.vim2
-rw-r--r--src/nvim/testdir/test_utf8.vim12
-rw-r--r--src/nvim/testdir/test_utf8_comparisons.vim26
-rw-r--r--src/nvim/testdir/test_vimscript.vim104
27 files changed, 397 insertions, 331 deletions
diff --git a/src/nvim/quickfix.c b/src/nvim/quickfix.c
index 3d7d587ed2..7fdc998e20 100644
--- a/src/nvim/quickfix.c
+++ b/src/nvim/quickfix.c
@@ -6155,7 +6155,7 @@ static int qf_setprop_items_from_lines(
qf_free_items(&qi->qf_lists[qf_idx]);
}
if (qf_init_ext(qi, qf_idx, NULL, NULL, &di->di_tv, errorformat,
- false, (linenr_T)0, (linenr_T)0, NULL, NULL) > 0) {
+ false, (linenr_T)0, (linenr_T)0, NULL, NULL) >= 0) {
retval = OK;
}
@@ -6256,9 +6256,12 @@ static int qf_set_properties(qf_info_T *qi, const dict_T *what, int action,
retval = qf_setprop_curidx(qi, qfl, di);
}
- if (retval == OK) {
+ if (newlist || retval == OK) {
qf_list_changed(qfl);
}
+ if (newlist) {
+ qf_update_buffer(qi, NULL);
+ }
return retval;
}
diff --git a/src/nvim/testdir/test49.vim b/src/nvim/testdir/test49.vim
index c86fdf25ab..5468f7c4aa 100644
--- a/src/nvim/testdir/test49.vim
+++ b/src/nvim/testdir/test49.vim
@@ -318,7 +318,7 @@ let ExtraVimCount = 0
let ExtraVimBase = expand("<sfile>")
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)
@@ -3694,7 +3694,7 @@ endif
if ExtraVim(msgfile)
try
Xpath 4194304 " X: 4194304
- let x = novar " error E121/E15; exception: E121
+ let x = novar " error E121; exception: E121
catch /E15:/ " should not catch
Xpath 8388608 " X: 0
endtry
@@ -3702,7 +3702,7 @@ if ExtraVim(msgfile)
endif
Xpath 33554432 " X: 33554432
-if !MESSAGES('E121', "Undefined variable", 'E15', "Invalid expression")
+if !MESSAGES('E121', "Undefined variable")
Xpath 67108864 " X: 0
endif
@@ -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/nvim/testdir/test_alot.vim b/src/nvim/testdir/test_alot.vim
index 7647475427..4f056abdc0 100644
--- a/src/nvim/testdir/test_alot.vim
+++ b/src/nvim/testdir/test_alot.vim
@@ -1,7 +1,6 @@
" A series of tests that can run in one Vim invocation.
" This makes testing go faster, since Vim doesn't need to restart.
-source test_assign.vim
source test_backup.vim
source test_behave.vim
source test_cd.vim
diff --git a/src/nvim/testdir/test_assign.vim b/src/nvim/testdir/test_assign.vim
deleted file mode 100644
index 50415ad6fd..0000000000
--- a/src/nvim/testdir/test_assign.vim
+++ /dev/null
@@ -1,47 +0,0 @@
-" Test for assignment
-
-func Test_no_type_checking()
- let v = 1
- let v = [1,2,3]
- let v = {'a': 1, 'b': 2}
- let v = 3.4
- let v = 'hello'
-endfunc
-
-func Test_let_termcap()
- " Nvim does not support `:set termcap`.
- return
- " Terminal code
- let old_t_te = &t_te
- let &t_te = "\<Esc>[yes;"
- call assert_match('t_te.*^[[yes;', execute("set termcap"))
- let &t_te = old_t_te
-
- if exists("+t_k1")
- " Key code
- let old_t_k1 = &t_k1
- let &t_k1 = "that"
- call assert_match('t_k1.*that', execute("set termcap"))
- let &t_k1 = old_t_k1
- endif
-
- call assert_fails('let x = &t_xx', 'E15')
- let &t_xx = "yes"
- call assert_equal("yes", &t_xx)
- let &t_xx = ""
- call assert_fails('let x = &t_xx', 'E15')
-endfunc
-
-func Test_let_option_error()
- let _w = &tw
- let &tw = 80
- call assert_fails('let &tw .= 1', 'E734')
- call assert_equal(80, &tw)
- let &tw = _w
-
- let _w = &fillchars
- let &fillchars = "vert:|"
- call assert_fails('let &fillchars += "diff:-"', 'E734')
- call assert_equal("vert:|", &fillchars)
- let &fillchars = _w
-endfunc
diff --git a/src/nvim/testdir/test_autocmd.vim b/src/nvim/testdir/test_autocmd.vim
index 1fa7eeaea0..641e98ab30 100644
--- a/src/nvim/testdir/test_autocmd.vim
+++ b/src/nvim/testdir/test_autocmd.vim
@@ -1359,7 +1359,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/nvim/testdir/test_charsearch.vim b/src/nvim/testdir/test_charsearch.vim
index 8b313b5a35..17a49e02be 100644
--- a/src/nvim/testdir/test_charsearch.vim
+++ b/src/nvim/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/nvim/testdir/test_charsearch_utf8.vim b/src/nvim/testdir/test_charsearch_utf8.vim
index eac5d46ad8..09341a90b0 100644
--- a/src/nvim/testdir/test_charsearch_utf8.vim
+++ b/src/nvim/testdir/test_charsearch_utf8.vim
@@ -14,6 +14,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/nvim/testdir/test_edit.vim b/src/nvim/testdir/test_edit.vim
index abad6983dc..e1393e875b 100644
--- a/src/nvim/testdir/test_edit.vim
+++ b/src/nvim/testdir/test_edit.vim
@@ -11,7 +11,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 <buffer> h here some more
@@ -23,7 +23,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 <c-o> 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 <c-l> when popupmenu is visible
new
call setline(1, 'J')
@@ -228,7 +228,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'])
@@ -258,7 +258,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
@@ -270,7 +270,7 @@ func! Test_edit_10()
bw!
endfunc
-func! Test_edit_11()
+func Test_edit_11()
" Test that indenting kicks in
new
set cindent
@@ -314,7 +314,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
@@ -341,7 +341,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"])
@@ -393,7 +393,7 @@ func! Test_edit_12()
bw!
endfunc
-func! Test_edit_13()
+func Test_edit_13()
" Test smartindenting
if exists("+smartindent")
new
@@ -481,7 +481,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))
@@ -501,7 +501,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))
@@ -517,7 +517,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)
@@ -535,7 +535,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
@@ -559,7 +559,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')
@@ -632,7 +632,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=.
@@ -688,7 +688,7 @@ func! Test_edit_CTRL_L()
bw!
endfunc
-func! Test_edit_CTRL_N()
+func Test_edit_CTRL_N()
" Check keyword completion
new
set complete=.
@@ -709,7 +709,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 <buffer> h here some more
@@ -749,7 +749,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
@@ -793,7 +793,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
@@ -870,7 +870,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
@@ -929,7 +929,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')
@@ -939,7 +939,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
@@ -955,7 +955,7 @@ func! Test_edit_DROP()
bw!
endfunc
-func! Test_edit_CTRL_V()
+func Test_edit_CTRL_V()
if has("ebcdic")
return
endif
@@ -983,7 +983,7 @@ func! Test_edit_CTRL_V()
bw!
endfunc
-func! Test_edit_F1()
+func Test_edit_F1()
" Pressing <f1>
new
call feedkeys(":set im\<cr>\<f1>\<c-l>", 'tnix')
@@ -993,7 +993,7 @@ func! Test_edit_F1()
bw
endfunc
-func! Test_edit_F21()
+func Test_edit_F21()
" Pressing <f21>
" sends a netbeans command
if has("netbeans_intg")
@@ -1004,7 +1004,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
@@ -1019,7 +1019,7 @@ func! Test_edit_HOME_END()
bw!
endfunc
-func! Test_edit_INS()
+func Test_edit_INS()
" Test for Pressing <Insert>
new
call setline(1, ['abc', 'def'])
@@ -1033,7 +1033,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'])
@@ -1080,7 +1080,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
@@ -1135,7 +1135,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)
@@ -1234,7 +1234,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')
@@ -1294,7 +1294,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/nvim/testdir/test_fnameescape.vim b/src/nvim/testdir/test_fnameescape.vim
index cdff0dfbd9..5382b89aa6 100644
--- a/src/nvim/testdir/test_fnameescape.vim
+++ b/src/nvim/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/nvim/testdir/test_getcwd.vim b/src/nvim/testdir/test_getcwd.vim
index 5d97295e9a..ca098781e4 100644
--- a/src/nvim/testdir/test_getcwd.vim
+++ b/src/nvim/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/nvim/testdir/test_highlight.vim b/src/nvim/testdir/test_highlight.vim
index a80a73161f..8f6834c2ab 100644
--- a/src/nvim/testdir/test_highlight.vim
+++ b/src/nvim/testdir/test_highlight.vim
@@ -39,15 +39,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], '\<xxx\>', '', '')
-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\+')
@@ -58,9 +58,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
@@ -68,7 +68,7 @@ function! Check_lcs_eol_attrs(attrs, row, col)
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/nvim/testdir/test_hlsearch.vim b/src/nvim/testdir/test_hlsearch.vim
index 97f6ae7b51..cf2791113a 100644
--- a/src/nvim/testdir/test_hlsearch.vim
+++ b/src/nvim/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/nvim/testdir/test_let.vim b/src/nvim/testdir/test_let.vim
index 0b9331ee38..a5cbd8f6a6 100644
--- a/src/nvim/testdir/test_let.vim
+++ b/src/nvim/testdir/test_let.vim
@@ -150,6 +150,59 @@ func Test_let_utf8_environment()
call assert_equal('ĀĒĪŌŪあいうえお', $a)
endfunc
+func Test_let_no_type_checking()
+ let v = 1
+ let v = [1,2,3]
+ let v = {'a': 1, 'b': 2}
+ let v = 3.4
+ let v = 'hello'
+endfunc
+
+func Test_let_termcap()
+ throw 'skipped: Nvim does not support termcap option'
+ " Terminal code
+ let old_t_te = &t_te
+ let &t_te = "\<Esc>[yes;"
+ call assert_match('t_te.*^[[yes;', execute("set termcap"))
+ let &t_te = old_t_te
+
+ if exists("+t_k1")
+ " Key code
+ let old_t_k1 = &t_k1
+ let &t_k1 = "that"
+ call assert_match('t_k1.*that', execute("set termcap"))
+ let &t_k1 = old_t_k1
+ endif
+
+ call assert_fails('let x = &t_xx', 'E113')
+ let &t_xx = "yes"
+ call assert_equal("yes", &t_xx)
+ let &t_xx = ""
+ call assert_fails('let x = &t_xx', 'E113')
+endfunc
+
+func Test_let_option_error()
+ let _w = &tw
+ let &tw = 80
+ call assert_fails('let &tw .= 1', 'E734')
+ call assert_equal(80, &tw)
+ let &tw = _w
+
+ let _w = &fillchars
+ let &fillchars = "vert:|"
+ call assert_fails('let