patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Problem: Vim9: finding global function without g: prefix but not finding
global variable is inconsistent.
Solution: Require using g: for a global function. Change the vim9.vim
script into a Vim9 script with exports. Fix that import in legacy
script does not work.
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index f495ddf..9378c14 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -3,7 +3,7 @@
source check.vim
source term_util.vim
source view_util.vim
-source vim9.vim
+import './vim9.vim' as v9
source screendump.vim
func Test_def_basic()
@@ -30,13 +30,13 @@
defcompile
END
writefile(lines, 'XTest_compile_error')
- var buf = RunVimInTerminal('-S XTest_compile_error',
+ var buf = g:RunVimInTerminal('-S XTest_compile_error',
{rows: 10, wait_for_ruler: 0})
- WaitForAssert(() => assert_match('Error detected while compiling command line.*Fails.*Variable not found: nothing',
- Term_getlines(buf, range(1, 9))))
+ g:WaitForAssert(() => assert_match('Error detected while compiling command line.*Fails.*Variable not found: nothing',
+ g:Term_getlines(buf, range(1, 9))))
# clean up
- StopVimInTerminal(buf)
+ g:StopVimInTerminal(buf)
delete('XTest_compile_error')
enddef
@@ -64,12 +64,12 @@
lines[1] = 'set rtp=' .. getcwd() .. '/Xdir'
writefile(lines, 'XTest_compile_error')
- var buf = RunVimInTerminal('-S XTest_compile_error', {rows: 10, wait_for_ruler: 0})
- WaitForAssert(() => assert_match('Error detected while compiling command line.*function script#OnlyCompiled.*Invalid command: invalid',
- Term_getlines(buf, range(1, 9))))
+ var buf = g:RunVimInTerminal('-S XTest_compile_error', {rows: 10, wait_for_ruler: 0})
+ g:WaitForAssert(() => assert_match('Error detected while compiling command line.*function script#OnlyCompiled.*Invalid command: invalid',
+ g:Term_getlines(buf, range(1, 9))))
# clean up
- StopVimInTerminal(buf)
+ g:StopVimInTerminal(buf)
delete('XTest_compile_error')
delete('Xdir', 'rf')
enddef
@@ -87,7 +87,7 @@
silent! Foo()
Bar()
END
- CheckScriptFailureList(lines, ['E1012:', 'E1191:'])
+ v9.CheckScriptFailureList(lines, ['E1012:', 'E1191:'])
enddef
def Test_wrong_function_name()
@@ -97,7 +97,7 @@
echo 'foo'
endfunc
END
- CheckScriptFailure(lines, 'E128:')
+ v9.CheckScriptFailure(lines, 'E128:')
lines =<< trim END
vim9script
@@ -105,7 +105,7 @@
echo 'foo'
enddef
END
- CheckScriptFailure(lines, 'E128:')
+ v9.CheckScriptFailure(lines, 'E128:')
enddef
def Test_autoload_name_mismatch()
@@ -126,7 +126,7 @@
lines =<< trim END
call script#Function()
END
- CheckScriptFailure(lines, 'E746:', 2)
+ v9.CheckScriptFailure(lines, 'E746:', 2)
&rtp = save_rtp
delete(dir, 'rf')
@@ -154,7 +154,7 @@
assert_equal('no', foobar#var)
END
- CheckDefAndScriptSuccess(lines)
+ v9.CheckDefAndScriptSuccess(lines)
&rtp = save_rtp
delete(dir, 'rf')
@@ -179,7 +179,7 @@
# The error in the autoload script cannot be checked with assert_fails(), use
# CheckDefSuccess() instead of CheckDefFailure()
try
- CheckDefSuccess(['scripterror#function()'])
+ v9.CheckDefSuccess(['scripterror#function()'])
catch
assert_match('E121: Undefined variable: 0', v:exception)
endtry
@@ -198,7 +198,7 @@
writefile(lines, dir .. '/scriptcaught.vim')
g:called_function = 'no'
- CheckDefSuccess(['scriptcaught#function()'])
+ v9.CheckDefSuccess(['scriptcaught#function()'])
assert_match('E121: Undefined variable: 0', g:caught)
assert_equal('yes', g:called_function)
@@ -206,11 +206,11 @@
delete(dir, 'rf')
enddef
-def CallRecursive(n: number): number
+def s:CallRecursive(n: number): number
return CallRecursive(n + 1)
enddef
-def CallMapRecursive(l: list<number>): number
+def s:CallMapRecursive(l: list<number>): number
return map(l, (_, v) => CallMapRecursive([v]))[0]
enddef
@@ -243,7 +243,7 @@
endfunc
enddef
END
- CheckScriptFailure(lines, 'E1151:', 3)
+ v9.CheckScriptFailure(lines, 'E1151:', 3)
lines =<< trim END
def Test()
@@ -252,7 +252,7 @@
enddef
enddef
END
- CheckScriptFailure(lines, 'E1152:', 4)
+ v9.CheckScriptFailure(lines, 'E1152:', 4)
lines =<< trim END
def Ok()
@@ -262,7 +262,7 @@
echo 'hello'
enddef there
END
- CheckScriptFailure(lines, 'E1173: Text found after enddef: there', 6)
+ v9.CheckScriptFailure(lines, 'E1173: Text found after enddef: there', 6)
enddef
def Test_missing_endfunc_enddef()
@@ -272,7 +272,7 @@
echo 'test'
endef
END
- CheckScriptFailure(lines, 'E1057:', 2)
+ v9.CheckScriptFailure(lines, 'E1057:', 2)
lines =<< trim END
vim9script
@@ -280,7 +280,7 @@
echo 'test'
enfffunc
END
- CheckScriptFailure(lines, 'E126:', 2)
+ v9.CheckScriptFailure(lines, 'E126:', 2)
enddef
def Test_white_space_before_paren()
@@ -290,7 +290,7 @@
echo 'test'
enddef
END
- CheckScriptFailure(lines, 'E1068:', 2)
+ v9.CheckScriptFailure(lines, 'E1068:', 2)
lines =<< trim END
vim9script
@@ -298,21 +298,21 @@
echo 'test'
endfunc
END
- CheckScriptFailure(lines, 'E1068:', 2)
+ v9.CheckScriptFailure(lines, 'E1068:', 2)
lines =<< trim END
def Test ()
echo 'test'
enddef
END
- CheckScriptFailure(lines, 'E1068:', 1)
+ v9.CheckScriptFailure(lines, 'E1068:', 1)
lines =<< trim END
func Test ()
echo 'test'
endfunc
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
def Test_enddef_dict_key()
@@ -338,8 +338,8 @@
enddef
def Test_return_something()
- ReturnString()->assert_equal('string')
- ReturnNumber()->assert_equal(123)
+ g:ReturnString()->assert_equal('string')
+ g:ReturnNumber()->assert_equal(123)
assert_fails('ReturnGlobal()', 'E1012: Type mismatch; expected number but got string', '', 1, 'ReturnGlobal')
var lines =<< trim END
@@ -354,7 +354,7 @@
enddef
defcompile
END
- CheckScriptFailure(lines, 'E1096:')
+ v9.CheckScriptFailure(lines, 'E1096:')
enddef
def Test_check_argument_type()
@@ -370,25 +370,25 @@
disass Func
Func()
END
- CheckScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected number but got bool', 2)
+ v9.CheckScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected number but got bool', 2)
enddef
def Test_missing_return()
- CheckDefFailure(['def Missing(): number',
+ v9.CheckDefFailure(['def Missing(): number',
' if g:cond',
' echo "no return"',
' else',
' return 0',
' endif'
'enddef'], 'E1027:')
- CheckDefFailure(['def Missing(): number',
+ v9.CheckDefFailure(['def Missing(): number',
' if g:cond',
' return 1',
' else',
' echo "no return"',
' endif'
'enddef'], 'E1027:')
- CheckDefFailure(['def Missing(): number',
+ v9.CheckDefFailure(['def Missing(): number',
' if g:cond',
' return 1',
' else',
@@ -409,7 +409,7 @@
enddef
defcompile
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
let s:nothing = 0
@@ -422,7 +422,7 @@
enddef
def Test_return_nothing()
- ReturnNothing()
+ g:ReturnNothing()
s:nothing->assert_equal(1)
enddef
@@ -434,7 +434,7 @@
enddef
defcompile
END
- CheckScriptFailure(lines, 'E1010:', 2)
+ v9.CheckScriptFailure(lines, 'E1010:', 2)
lines =<< trim END
vim9script
@@ -448,8 +448,8 @@
echo Test(Inc)
END
# doing this twice was leaking memory
- CheckScriptFailure(lines, 'E1010:')
- CheckScriptFailure(lines, 'E1010:')
+ v9.CheckScriptFailure(lines, 'E1010:')
+ v9.CheckScriptFailure(lines, 'E1010:')
enddef
def Test_return_list_any()
@@ -464,7 +464,7 @@
enddef
echo Func()
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
vim9script
@@ -475,10 +475,10 @@
enddef
echo Func()
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
-func Increment()
+func s:Increment()
let g:counter += 1
endfunc
@@ -493,7 +493,7 @@
unlet g:counter
enddef
-def MyVarargs(arg: string, ...rest: list<string>): string
+def s:MyVarargs(arg: string, ...rest: list<string>): string
var res = arg
for s in rest
res ..= ',' .. s
@@ -508,23 +508,23 @@
enddef
def Test_call_white_space()
- CheckDefAndScriptFailure(["call Test ('text')"], ['E476:', 'E1068:'])
+ v9.CheckDefAndScriptFailure(["call Test ('text')"], ['E476:', 'E1068:'])
enddef
def MyDefaultArgs(name = 'string'): string
return name
enddef
-def MyDefaultSecond(name: string, second: bool = true): string
+def s:MyDefaultSecond(name: string, second: bool = true): string
return second ? name : 'none'
enddef
def Test_call_default_args()
- MyDefaultArgs()->assert_equal('string')
- MyDefaultArgs(v:none)->assert_equal('string')
- MyDefaultArgs('one')->assert_equal('one')
- assert_fails('MyDefaultArgs("one", "two")', 'E118:', '', 4, 'Test_call_default_args')
+ g:MyDefaultArgs()->assert_equal('string')
+ g:MyDefaultArgs(v:none)->assert_equal('string')
+ g:MyDefaultArgs('one')->assert_equal('one')
+ assert_fails('g:MyDefaultArgs("one", "two")', 'E118:', '', 4, 'Test_call_default_args')
MyDefaultSecond('test')->assert_equal('test')
MyDefaultSecond('test', true)->assert_equal('test')
@@ -549,13 +549,13 @@
DefArg(1234)->assert_equal('12341234')
DefArg("ok")->assert_equal('okok')
END
- CheckDefAndScriptSuccess(lines)
+ v9.CheckDefAndScriptSuccess(lines)
- CheckScriptFailure(['def Func(arg: number = asdf)', 'enddef', 'defcompile'], 'E1001:')
+ v9.CheckScriptFailure(['def Func(arg: number = asdf)', 'enddef', 'defcompile'], 'E1001:')
delfunc g:Func
- CheckScriptFailure(['def Func(arg: number = "text")', 'enddef', 'defcompile'], 'E1013: Argument 1: type mismatch, expected number but got string')
+ v9.CheckScriptFailure(['def Func(arg: number = "text")', 'enddef', 'defcompile'], 'E1013: Argument 1: type mismatch, expected number but got string')
delfunc g:Func
- CheckDefFailure(['def Func(x: number = )', 'enddef'], 'E15:')
+ v9.CheckDefFailure(['def Func(x: number = )', 'enddef'], 'E15:')
lines =<< trim END
vim9script
@@ -563,7 +563,7 @@
enddef
defcompile
END
- CheckScriptFailure(lines, 'E1001: Variable not found: b')
+ v9.CheckScriptFailure(lines, 'E1001: Variable not found: b')
# using script variable requires matching type or type cast when executed
lines =<< trim END
@@ -574,8 +574,8 @@
enddef
defcompile
END
- CheckScriptSuccess(lines + ['a = "text"', 'Func()'])
- CheckScriptFailure(lines + ['a = 123', 'Func()'], 'E1013: Argument 1: type mismatch, expected string but got number')
+ v9.CheckScriptSuccess(lines + ['a = "text"', 'Func()'])
+ v9.CheckScriptFailure(lines + ['a = 123', 'Func()'], 'E1013: Argument 1: type mismatch, expected string but got number')
# using global variable does not require type cast
lines =<< trim END
@@ -586,10 +586,10 @@
g:str = 'works'
Func()
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
-def FuncWithComment( # comment
+def s:FuncWithComment( # comment
a: number, #comment
b: bool, # comment
c: string) #comment
@@ -606,7 +606,7 @@
arg: string)
enddef
END
- CheckScriptFailure(lines, 'E125:', 1)
+ v9.CheckScriptFailure(lines, 'E125:', 1)
lines =<< trim END
def Func(
@@ -614,7 +614,7 @@
)
enddef
END
- CheckScriptFailure(lines, 'E475:', 2)
+ v9.CheckScriptFailure(lines, 'E475:', 2)
lines =<< trim END
def Func(
@@ -622,7 +622,7 @@
)# comment
enddef
END
- CheckScriptFailure(lines, 'E488:', 3)
+ v9.CheckScriptFailure(lines, 'E488:', 3)
enddef
def Test_nested_function()
@@ -636,11 +636,11 @@
endfunc
NestedFunc(':func')->assert_equal('nested :func')
- CheckDefFailure(['def Nested()', 'enddef', 'Nested(66)'], 'E118:')
- CheckDefFailure(['def Nested(arg: string)', 'enddef', 'Nested()'], 'E119:')
+ v9.CheckDefFailure(['def Nested()', 'enddef', 'Nested(66)'], 'E118:')
+ v9.CheckDefFailure(['def Nested(arg: string)', 'enddef', 'Nested()'], 'E119:')
- CheckDefFailure(['def s:Nested()', 'enddef'], 'E1075:')
- CheckDefFailure(['def b:Nested()', 'enddef'], 'E1075:')
+ v9.CheckDefFailure(['def s:Nested()', 'enddef'], 'E1075:')
+ v9.CheckDefFailure(['def b:Nested()', 'enddef'], 'E1075:')
var lines =<< trim END
def Outer()
@@ -651,7 +651,7 @@
enddef
enddef
END
- CheckDefFailure(lines, 'E1073:')
+ v9.CheckDefFailure(lines, 'E1073:')
lines =<< trim END
def Outer()
@@ -662,7 +662,7 @@
enddef
enddef
END
- CheckDefFailure(lines, 'E1117:')
+ v9.CheckDefFailure(lines, 'E1117:')
lines =<< trim END
vim9script
@@ -675,7 +675,7 @@
Outer()
Inner()
END
- CheckScriptFailure(lines, 'E117: Unknown function: Inner')
+ v9.CheckScriptFailure(lines, 'E117: Unknown function: Inner')
assert_equal('ok', g:result)
unlet g:result
@@ -696,7 +696,7 @@
assert_equal(1, Test())
assert_equal(2, Test())
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
# also works when "thecount" is inside the "if" block
lines =<< trim END
@@ -715,7 +715,7 @@
assert_equal(1, Test())
assert_equal(2, Test())
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
vim9script
@@ -726,7 +726,7 @@
enddef
defcompile
END
- CheckScriptFailure(lines, 'E1173: Text found after enddef: burp', 3)
+ v9.CheckScriptFailure(lines, 'E1173: Text found after enddef: burp', 3)
enddef
def Test_not_nested_function()
@@ -759,7 +759,7 @@
g:Inner()->assert_equal('inner')
delfunc g:Inner
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
vim9script
@@ -779,7 +779,7 @@
g:Inner()->assert_equal('inner')
delfunc g:Inner
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
vim9script
@@ -792,7 +792,7 @@
Outer()
Outer()
END
- CheckScriptFailure(lines, "E122:")
+ v9.CheckScriptFailure(lines, "E122:")
delfunc g:Inner
lines =<< trim END
@@ -805,7 +805,7 @@
enddef
Outer()
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
delfunc g:Inner
lines =<< trim END
@@ -820,7 +820,7 @@
enddef
defcompile
END
- CheckScriptFailure(lines, "E1073:", 1)
+ v9.CheckScriptFailure(lines, "E1073:", 1)
lines =<< trim END
vim9script
@@ -831,7 +831,7 @@
echo 'script'
enddef
END
- CheckScriptFailure(lines, "E1073:", 5)
+ v9.CheckScriptFailure(lines, "E1073:", 5)
enddef
def DefListAll()
@@ -867,7 +867,7 @@
enddef
defcompile
END
- CheckScriptFailure(lines, 'E476:', 1)
+ v9.CheckScriptFailure(lines, 'E476:', 1)
enddef
def Test_global_local_function()
@@ -883,7 +883,7 @@
Func()->assert_equal('local')
delfunc g:Func
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
vim9script
@@ -892,7 +892,7 @@
enddef
s:Funcy()
END
- CheckScriptFailure(lines, 'E117:')
+ v9.CheckScriptFailure(lines, 'E117:')
enddef
def Test_local_function_shadows_global()
@@ -909,7 +909,7 @@
AnotherFunc()->assert_equal(7)
delfunc g:Gfunc
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
vim9script
@@ -921,10 +921,10 @@
enddef
AnotherFunc()
END
- CheckScriptFailure(lines, 'E705:')
+ v9.CheckScriptFailure(lines, 'E705:')
delfunc g:Func
- # global function is found without g: prefix
+ # global function is not found with g: prefix
lines =<< trim END
vim9script
def g:Func(): string
@@ -934,9 +934,9 @@
return Func()
enddef
assert_equal('global', AnotherFunc())
- delfunc g:Func
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptFailure(lines, 'E117:')
+ delfunc g:Func
lines =<< trim END
vim9script
@@ -946,7 +946,7 @@
assert_equal('global', Func())
delfunc g:Func
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
# This does not shadow "i" which is visible only inside the for loop
lines =<< trim END
@@ -961,7 +961,7 @@
Foo(i)
endfor
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
func TakesOneArg(arg)
@@ -969,10 +969,10 @@
endfunc
def Test_call_wrong_args()
- CheckDefFailure(['TakesOneArg()'], 'E119:')
- CheckDefFailure(['TakesOneArg(11, 22)'], 'E118:')
- CheckDefFailure(['bufnr(xxx)'], 'E1001:')
- CheckScriptFailure(['def Func(Ref: func(s: string))'], 'E475:')
+ v9.CheckDefFailure(['g:TakesOneArg()'], 'E119:')
+ v9.CheckDefFailure(['g:TakesOneArg(11, 22)'], 'E118:')
+ v9.CheckDefFailure(['bufnr(xxx)'], 'E1001:')
+ v9.CheckScriptFailure(['def Func(Ref: func(s: string))'], 'E475:')
var lines =<< trim END
vim9script
@@ -981,7 +981,7 @@
enddef
Func([])
END
- CheckScriptFailure(lines, 'E1013: Argument 1: type mismatch, expected string but got list<unknown>', 5)
+ v9.CheckScriptFailure(lines, 'E1013: Argument 1: type mismatch, expected string but got list<unknown>', 5)
# argument name declared earlier is found when declaring a function
lines =<< trim END
@@ -991,7 +991,7 @@
echo nr
enddef
END
- CheckScriptFailure(lines, 'E1168:')
+ v9.CheckScriptFailure(lines, 'E1168:')
# argument name declared later is only found when compiling
lines =<< trim END
@@ -1001,8 +1001,8 @@
enddef
var name = 'piet'
END
- CheckScriptSuccess(lines)
- CheckScriptFailure(lines + ['defcompile'], 'E1168:')
+ v9.CheckScriptSuccess(lines)
+ v9.CheckScriptFailure(lines + ['defcompile'], 'E1168:')
lines =<< trim END
vim9script
@@ -1062,10 +1062,10 @@
enddef
Testme()
END
- CheckScriptSuccess(head + ["funcMap['func']('str', 123, [1, 2, 3])"] + tail)
+ v9.CheckScriptSuccess(head + ["funcMap['func']('str', 123, [1, 2, 3])"] + tail)
- CheckScriptFailure(head + ["funcMap['func']('str', 123)"] + tail, 'E119:')
- CheckScriptFailure(head + ["funcMap['func']('str', 123, [1], 4)"] + tail, 'E118:')
+ v9.CheckScriptFailure(head + ["funcMap['func']('str', 123)"] + tail, 'E119:')
+ v9.CheckScriptFailure(head + ["funcMap['func']('str', 123, [1], 4)"] + tail, 'E118:')
var lines =<< trim END
vim9script
@@ -1073,7 +1073,7 @@
Ref = (j) => !j
echo Ref(false)
END
- CheckScriptFailure(lines, 'E1013: Argument 1: type mismatch, expected number but got bool', 4)
+ v9.CheckScriptFailure(lines, 'E1013: Argument 1: type mismatch, expected number but got bool', 4)
lines =<< trim END
vim9script
@@ -1081,7 +1081,7 @@
Ref = (j) => !j
call Ref(false)
END
- CheckScriptFailure(lines, 'E1013: Argument 1: type mismatch, expected number but got bool', 4)
+ v9.CheckScriptFailure(lines, 'E1013: Argument 1: type mismatch, expected number but got bool', 4)
enddef
def Test_call_lambda_args()
@@ -1093,42 +1093,42 @@
assert_equal('xyz', ((a: string): string => a)('xyz'))
END
- CheckDefAndScriptSuccess(lines)
+ v9.CheckDefAndScriptSuccess(lines)
- CheckDefFailure(['echo ((i) => 0)()'],
+ v9.CheckDefFailure(['echo ((i) => 0)()'],
'E119: Not enough arguments for function: ((i) => 0)()')
lines =<< trim END
var Ref = (x: number, y: number) => x + y
echo Ref(1, 'x')
END
- CheckDefFailure(lines, 'E1013: Argument 2: type mismatch, expected number but got string')
+ v9.CheckDefFailure(lines, 'E1013: Argument 2: type mismatch, expected number but got string')
lines =<< trim END
var Ref: func(job, string, number)
Ref = (x, y) => 0
END
- CheckDefAndScriptFailure(lines, 'E1012:')
+ v9.CheckDefAndScriptFailure(lines, 'E1012:')
lines =<< trim END
var Ref: func(job, string)
Ref = (x, y, z) => 0
END
- CheckDefAndScriptFailure(lines, 'E1012:')
+ v9.CheckDefAndScriptFailure(lines, 'E1012:')
lines =<< trim END
var one = 1
var l = [1, 2, 3]
echo map(l, (one) => one)
END
- CheckDefFailure(lines, 'E1167:')
- CheckScriptFailure(['vim9script'] + lines, 'E1168:')
+ v9.CheckDefFailure(lines, 'E1167:')
+ v9.CheckScriptFailure(['vim9script'] + lines, 'E1168:')
lines =<< trim END
var Ref: func(any, ?any): bool
Ref = (_, y = 1) => false
END
- CheckDefAndScriptFailure(lines, 'E1172:')
+ v9.CheckDefAndScriptFailure(lines, 'E1172:')
lines =<< trim END
var a = 0
@@ -1138,7 +1138,7 @@
b = (txt =~ 'x' ? 1 : 2)
assert_equal(2, b)
END
- CheckDefAndScriptSuccess(lines)
+ v9.CheckDefAndScriptSuccess(lines)
lines =<< trim END
def ShadowLocal()
@@ -1147,7 +1147,7 @@
echo map(l, (one) => one)
enddef
END
- CheckDefFailure(lines, 'E1167:')
+ v9.CheckDefFailure(lines, 'E1167:')
lines =<< trim END
def Shadowarg(one: number)
@@ -1155,18 +1155,18 @@
echo map(l, (one) => one)
enddef
END
- CheckDefFailure(lines, 'E1167:')
+ v9.CheckDefFailure(lines, 'E1167:')
lines =<< trim END
echo ((a) => a)('aa', 'bb')
END
- CheckDefAndScriptFailure(lines, 'E118:', 1)
+ v9.CheckDefAndScriptFailure(lines, 'E118:', 1)
lines =<< trim END
echo 'aa'->((a) => a)('bb')
END
- CheckDefFailure(lines, 'E118: Too many arguments for function: ->((a) => a)(''bb'')', 1)
- CheckScriptFailure(['vim9script'] + lines, 'E118: Too many arguments for function: <lambda>', 2)
+ v9.CheckDefFailure(lines, 'E118: Too many arguments for function: ->((a) => a)(''bb'')', 1)
+ v9.CheckScriptFailure(['vim9script'] + lines, 'E118: Too many arguments for function: <lambda>', 2)
enddef
def Test_lambda_line_nr()
@@ -1180,7 +1180,7 @@
->substitute("('\\|')", ' ', 'g'))
assert_match('Last set from .* line 4', out)
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
def FilterWithCond(x: string, Cond: func(string): bool): bool
@@ -1191,24 +1191,24 @@
var lines =<< trim END
var Ref = (): => 123
END
- CheckDefAndScriptFailure(lines, 'E1157:', 1)
+ v9.CheckDefAndScriptFailure(lines, 'E1157:', 1)
# no space before the return type
lines =<< trim END
var Ref = (x):number => x + 1
END
- CheckDefAndScriptFailure(lines, 'E1069:', 1)
+ v9.CheckDefAndScriptFailure(lines, 'E1069:', 1)
# this works
for x in ['foo', 'boo']
- echo FilterWithCond(x, (v) => v =~ '^b')
+ echo g:FilterWithCond(x, (v) => v =~ '^b')
endfor
# this fails
lines =<< trim END
- echo FilterWithCond('foo', (v) => v .. '^b')
+ echo g:FilterWithCond('foo', (v) => v .. '^b')
END
- CheckDefAndScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected func(string): bool but got func(any): string', 1)
+ v9.CheckDefAndScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected func(string): bool but got func(any): string', 1)
lines =<< trim END
var Lambda1 = (x) => {
@@ -1220,7 +1220,7 @@
}
assert_equal('foo', Lambda2('foo'))
END
- CheckDefAndScriptSuccess(lines)
+ v9.CheckDefAndScriptSuccess(lines)
lines =<< trim END
var Lambda = (x): string => {
@@ -1228,11 +1228,11 @@
}
echo Lambda(['foo'])
END
- CheckDefExecAndScriptFailure(lines, 'E1012:')
+ v9.CheckDefExecAndScriptFailure(lines, 'E1012:')
enddef
def Test_lambda_uses_assigned_var()
- CheckDefSuccess([
+ v9.CheckDefSuccess([
'var x: any = "aaa"'
'x = filter(["bbb"], (_, v) => v =~ x)'])
enddef
@@ -1247,7 +1247,7 @@
enddef
Foo()
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
vim9script
@@ -1261,7 +1261,7 @@
legacy call g:TestFunc({nr -> 0})
delfunc g:TestFunc
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
def Test_lambda_in_reduce_line_break()
@@ -1281,7 +1281,7 @@
}, {})
assert_equal({Bob: 2, Sam: 1, Cat: 3}, result)
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
def Test_set_opfunc_to_lambda()
@@ -1303,7 +1303,7 @@
assert_equal(4, g:result)
bwipe!
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
def Test_set_opfunc_to_global_function()
@@ -1333,7 +1333,7 @@
bwipe!
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
&operatorfunc = ''
enddef
@@ -1346,7 +1346,7 @@
var Fn = s:Getit
assert_equal('it', Fn())
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
def Test_lambda_type_allocated()
@@ -1365,7 +1365,7 @@
&omnifunc = string(Lambda)
Lambda = (a, b) => strlen(a)
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
" Default arg and varargs
@@ -1378,13 +1378,13 @@
enddef
def Test_call_def_varargs()
- assert_fails('MyDefVarargs()', 'E119:', '', 1, 'Test_call_def_varargs')
- MyDefVarargs('one')->assert_equal('one,foo')
- MyDefVarargs('one', 'two')->assert_equal('one,two')
- MyDefVarargs('one', 'two', 'three')->assert_equal('one,two,three')
- CheckDefFailure(['MyDefVarargs("one", 22)'],
+ assert_fails('g:MyDefVarargs()', 'E119:', '', 1, 'Test_call_def_varargs')
+ g:MyDefVarargs('one')->assert_equal('one,foo')
+ g:MyDefVarargs('one', 'two')->assert_equal('one,two')
+ g:MyDefVarargs('one', 'two', 'three')->assert_equal('one,two,three')
+ v9.CheckDefFailure(['g:MyDefVarargs("one", 22)'],
'E1013: Argument 2: type mismatch, expected string but got number')
- CheckDefFailure(['MyDefVarargs("one", "two", 123)'],
+ v9.CheckDefFailure(['g:MyDefVarargs("one", "two", 123)'],
'E1013: Argument 3: type mismatch, expected string but got number')
var lines =<< trim END
@@ -1394,7 +1394,7 @@
enddef
Func('a', 'b', 'c')
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
vim9script
@@ -1403,7 +1403,7 @@
enddef
Func()
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
vim9script
@@ -1412,7 +1412,7 @@
enddef
Func(0)
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
vim9script
@@ -1421,7 +1421,7 @@
enddef
Func(0)
END
- CheckScriptFailure(lines, 'E1180:', 2)
+ v9.CheckScriptFailure(lines, 'E1180:', 2)
lines =<< trim END
vim9script
@@ -1430,7 +1430,7 @@
enddef
Func('a', 'b', 'c')
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
vim9script
@@ -1439,7 +1439,7 @@
enddef
Func(1, 2, 3)
END
- CheckScriptFailure(lines, 'E1013: Argument 1: type mismatch')
+ v9.CheckScriptFailure(lines, 'E1013: Argument 1: type mismatch')
lines =<< trim END
vim9script
@@ -1448,7 +1448,7 @@
enddef
Func('a', 9)
END
- CheckScriptFailure(lines, 'E1013: Argument 2: type mismatch')
+ v9.CheckScriptFailure(lines, 'E1013: Argument 2: type mismatch')
lines =<< trim END
vim9script
@@ -1457,7 +1457,7 @@
enddef
Func(1, 'a')
END
- CheckScriptFailure(lines, 'E1013: Argument 1: type mismatch')
+ v9.CheckScriptFailure(lines, 'E1013: Argument 1: type mismatch')
lines =<< trim END
vim9script
@@ -1467,7 +1467,7 @@
echo l
enddef
END
- CheckScriptFailure(lines, 'E1160:')
+ v9.CheckScriptFailure(lines, 'E1160:')
lines =<< trim END
vim9script
@@ -1479,7 +1479,7 @@
enddef
DoIt()
END
- CheckScriptFailure(lines, 'E1013: Argument 1: type mismatch, expected number but got string')
+ v9.CheckScriptFailure(lines, 'E1013: Argument 1: type mismatch, expected number but got string')
enddef
let s:value = ''
@@ -1510,8 +1510,8 @@
RefDef2Arg(99)->assert_equal('99text')
RefDef2Arg(77, 'some')->assert_equal('77some')
- CheckDefFailure(['var RefWrong: func(string?)'], 'E1010:')
- CheckDefFailure(['var RefWrong: func(?string, string)'], 'E1007:')
+ v9.CheckDefFailure(['var RefWrong: func(string?)'], 'E1010:')
+ v9.CheckDefFailure(['var RefWrong: func(?string, string)'], 'E1007:')
var RefVarargs: func(...list<string>): string
RefVarargs = FuncVarargs
@@ -1519,8 +1519,8 @@
RefVarargs('one')->assert_equal('one')
RefVarargs('one', 'two')->assert_equal('one,two')
- CheckDefFailure(['var RefWrong: func(...list<string>, string)'], 'E110:')
- CheckDefFailure(['var RefWrong: func(...list<string>, ?string)'], 'E110:')
+ v9.CheckDefFailure(['var RefWrong: func(...list<string>, string)'], 'E110:')
+ v9.CheckDefFailure(['var RefWrong: func(...list<string>, ?string)'], 'E110:')
enddef
" Only varargs
@@ -1529,11 +1529,11 @@
enddef
def Test_call_varargs_only()
- MyVarargsOnly()->assert_equal('')
- MyVarargsOnly('one')->assert_equal('one')
- MyVarargsOnly('one', 'two')->assert_equal('one,two')
- CheckDefFailure(['MyVarargsOnly(1)'], 'E1013: Argument 1: type mismatch, expected string but got number')
- CheckDefFailure(['MyVarargsOnly("one", 2)'], 'E1013: Argument 2: type mismatch, expected string but got number')
+ g:MyVarargsOnly()->assert_equal('')
+ g:MyVarargsOnly('one')->assert_equal('one')
+ g:MyVarargsOnly('one', 'two')->assert_equal('one,two')
+ v9.CheckDefFailure(['g:MyVarargsOnly(1)'], 'E1013: Argument 1: type mismatch, expected string but got number')
+ v9.CheckDefFailure(['g:MyVarargsOnly("one", 2)'], 'E1013: Argument 2: type mismatch, expected string but got number')
enddef
def Test_using_var_as_arg()
@@ -1542,7 +1542,7 @@
var x = 234
enddef
END
- CheckDefFailure(lines, 'E1006:')
+ v9.CheckDefFailure(lines, 'E1006:')
lines =<< trim END
def Func(Ref: number)
@@ -1550,14 +1550,14 @@
enddef
enddef
END
- CheckDefFailure(lines, 'E1073:')
+ v9.CheckDefFailure(lines, 'E1073:')
enddef
-def DictArg(arg: dict<string>)
+def s:DictArg(arg: dict<string>)
arg['key'] = 'value'
enddef
-def ListArg(arg: list<string>)
+def s:ListArg(arg: list<string>)
arg[0] = 'value'
enddef
@@ -1570,12 +1570,12 @@
ListArg(l)
l[0]->assert_equal('value')
- CheckScriptFailure(['def Func(arg: number)', 'arg = 3', 'enddef', 'defcompile'], 'E1090:')
+ v9.CheckScriptFailure(['def Func(arg: number)', 'arg = 3', 'enddef', 'defcompile'], 'E1090:')
delfunc! g:Func
enddef
" These argument names are reserved in legacy functions.
-def WithReservedNames(firstline: string, lastline: string): string
+def s:WithReservedNames(firstline: string, lastline: string): string
return firstline .. lastline
enddef
@@ -1605,7 +1605,7 @@
var Funcref: func: number = function('RetNumber')
Funcref()->assert_equal(123)
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
vim9script
@@ -1618,7 +1618,7 @@
var Funcref = function('RetNumber')
Bar(Funcref)->assert_equal(123)
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
vim9script
@@ -1628,7 +1628,7 @@
var Funcref: func(number) = function('UseNumber')
Funcref(123)
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
vim9script
@@ -1637,7 +1637,7 @@
enddef
var Funcref: func(string) = function('UseNumber')
END
- CheckScriptFailure(lines, 'E1012: Type mismatch; expected func(string) but got func(number)')
+ v9.CheckScriptFailure(lines, 'E1012: Type mismatch; expected func(string) but got func(number)')
lines =<< trim END
vim9script
@@ -1650,7 +1650,7 @@
Funcref(123)
g:echo->assert_equal(123)
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
vim9script
@@ -1663,7 +1663,7 @@
Funcref(1, 2, 3)
g:echo->assert_equal([1, 2, 3])
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
vim9script
@@ -1685,7 +1685,7 @@
g:optarg->assert_equal(18)
g:listarg->assert_equal([1, 2, 3])
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
let SomeFunc = function('len')
@@ -1741,7 +1741,7 @@
# Compile all functions
defcompile
END
- CheckScriptFailure(lines, 'E1173: Text found after enddef: BBBB')
+ v9.CheckScriptFailure(lines, 'E1173: Text found after enddef: BBBB')
enddef
def Test_nested_function_with_args_split()
@@ -1758,7 +1758,7 @@
# Compile all functions
defcompile
END
- CheckScriptFailure(lines, 'E1173: Text found after enddef: BBBB')
+ v9.CheckScriptFailure(lines, 'E1173: Text found after enddef: BBBB')
lines =<< trim END
vim9script
@@ -1768,7 +1768,7 @@
enddef
defcompile
END
- CheckScriptFailure(lines, 'E1173: Text found after endfunction: BBBB')
+ v9.CheckScriptFailure(lines, 'E1173: Text found after endfunction: BBBB')
enddef
def Test_error_in_function_args()
@@ -1783,30 +1783,30 @@
# Compile all functions
defcompile
END
- CheckScriptFailure(lines, 'E488:')
+ v9.CheckScriptFailure(lines, 'E488:')
enddef
def Test_return_type_wrong()
- CheckScriptFailure([
+ v9.CheckScriptFailure([
'def Func(): number',
'return "a"',
'enddef',
'defcompile'], 'expected number but got string')
delfunc! g:Func
- CheckScriptFailure([
+ v9.CheckScriptFailure([
'def Func(): string',
'return 1',
'enddef',
'defcompile'], 'expected string but got number')
delfunc! g:Func
- CheckScriptFailure([
+ v9.CheckScriptFailure([
'def Func(): void',
'return "a"',
'enddef',
'defcompile'],
'E1096: Returning a value in a function without a return type')
delfunc! g:Func
- CheckScriptFailure([
+ v9.CheckScriptFailure([
'def Func()',
'return "a"',
'enddef',
@@ -1814,42 +1814,42 @@
'E1096: Returning a value in a function without a return type')
delfunc! g:Func
- CheckScriptFailure([
+ v9.CheckScriptFailure([
'def Func(): number',
'return',
'enddef',
'defcompile'], 'E1003:')
delfunc! g:Func
- CheckScriptFailure([
+ v9.CheckScriptFailure([
'def Func():number',
'return 123',
'enddef',
'defcompile'], 'E1069:')
delfunc! g:Func
- CheckScriptFailure([
+ v9.CheckScriptFailure([
'def Func() :number',
'return 123',
'enddef',
'defcompile'], 'E1059:')
delfunc! g:Func
- CheckScriptFailure([
+ v9.CheckScriptFailure([
'def Func() : number',
'return 123',
'enddef',
'defcompile'], 'E1059:')
delfunc! g:Func
- CheckScriptFailure(['def Func(): list', 'return []', 'enddef'], 'E1008:')
+ v9.CheckScriptFailure(['def Func(): list', 'return []', 'enddef'], 'E1008:')
delfunc! g:Func
- CheckScriptFailure(['def Func(): dict', 'return {}', 'enddef'], 'E1008:')
+ v9.CheckScriptFailure(['def Func(): dict', 'return {}', 'enddef'], 'E1008:')
delfunc! g:Func
- CheckScriptFailure(['def Func()', 'return 1'], 'E1057:')
+ v9.CheckScriptFailure(['def Func()', 'return 1'], 'E1057:')
delfunc! g:Func
- CheckScriptFailure([
+ v9.CheckScriptFailure([
'vim9script',
'def FuncB()',
' return 123',
@@ -1861,12 +1861,12 @@
enddef
def Test_arg_type_wrong()
- CheckScriptFailure(['def Func3(items: list)', 'echo "a"', 'enddef'], 'E1008: Missing <type>')
- CheckScriptFailure(['def Func4(...)', 'echo "a"', 'enddef'], 'E1055: Missing name after ...')
- CheckScriptFailure(['def Func5(items:string)', 'echo "a"'], 'E1069:')
- CheckScriptFailure(['def Func5(items)', 'echo "a"'], 'E1077:')
- CheckScriptFailure(['def Func6(...x:list<number>)', 'echo "a"', 'enddef'], 'E1069:')
- CheckScriptFailure(['def Func7(...x: int)', 'echo "a"', 'enddef'], 'E1010:')
+ v9.CheckScriptFailure(['def Func3(items: list)', 'echo "a"', 'enddef'], 'E1008: Missing <type>')
+ v9.CheckScriptFailure(['def Func4(...)', 'echo "a"', 'enddef'], 'E1055: Missing name after ...')
+ v9.CheckScriptFailure(['def Func5(items:string)', 'echo "a"'], 'E1069:')
+ v9.CheckScriptFailure(['def Func5(items)', 'echo "a"'], 'E1077:')
+ v9.CheckScriptFailure(['def Func6(...x:list<number>)', 'echo "a"', 'enddef'], 'E1069:')
+ v9.CheckScriptFailure(['def Func7(...x: int)', 'echo "a"', 'enddef'], 'E1010:')
enddef
def Test_white_space_before_comma()
@@ -1875,7 +1875,7 @@
def Func(a: number , b: number)
enddef
END
- CheckScriptFailure(lines, 'E1068:')
+ v9.CheckScriptFailure(lines, 'E1068:')
call assert_fails('vim9cmd echo stridx("a" .. "b" , "a")', 'E1068:')
enddef
@@ -1885,7 +1885,7 @@
def Func(a: number,b: number)
enddef
END
- CheckScriptFailure(lines, 'E1069:')
+ v9.CheckScriptFailure(lines, 'E1069:')
# OK in legacy function
lines =<< trim END
@@ -1893,7 +1893,7 @@
func Func(a,b)
endfunc
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
def Test_vim9script_call()
@@ -1998,7 +1998,7 @@
enddef
defcompile
END
- CheckScriptFailure(lines, 'E1054:')
+ v9.CheckScriptFailure(lines, 'E1054:')
enddef
def Test_vim9script_call_fail_type()
@@ -2009,7 +2009,7 @@
enddef
MyFunc(1234)
END
- CheckScriptFailure(lines, 'E1013: Argument 1: type mismatch, expected string but got number')
+ v9.CheckScriptFailure(lines, 'E1013: Argument 1: type mismatch, expected string but got number')
enddef
def Test_vim9script_call_fail_const()
@@ -2034,7 +2034,7 @@
call Change()
unlet g:Aconst
END
- CheckScriptFailure(lines, 'E741: Value is locked: Aconst', 2)
+ v9.CheckScriptFailure(lines, 'E741: Value is locked: Aconst', 2)
enddef
" Test that inside :function a Python function can be defined, :def is not
@@ -2056,7 +2056,7 @@
enddef
def CallGoneSoon()
- GoneSoon()
+ g:GoneSoon()
enddef
defcompile
@@ -2099,7 +2099,7 @@
timer_start(1000, (_) => feedkeys("\<F4>"))
sleep 1500m
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
nunmap <F4>
set updatetime&
enddef
@@ -2167,34 +2167,34 @@
s:funcResult = two
enddef
-def FuncOneArgRetString(arg: string): string
+def s:FuncOneArgRetString(arg: string): string
return arg
enddef
-def FuncOneArgRetAny(arg: any): any
+def s:FuncOneArgRetAny(arg: any): any
return arg
enddef
def Test_func_type()
var Ref1: func()
s:funcResult = 0
- Ref1 = FuncNoArgNoRet
+ Ref1 = g:FuncNoArgNoRet
Ref1()
s:funcResult->assert_equal(11)
var Ref2: func
s:funcResult = 0
- Ref2 = FuncNoArgNoRet
+ Ref2 = g:FuncNoArgNoRet
Ref2()
s:funcResult->assert_equal(11)
s:funcResult = 0
- Ref2 = FuncOneArgNoRet
+ Ref2 = g:FuncOneArgNoRet
Ref2(12)
s:funcResult->assert_equal(12)
s:funcResult = 0
- Ref2 = FuncNoArgRetNumber
+ Ref2 = g:FuncNoArgRetNumber
Ref2()->assert_equal(1234)
s:funcResult->assert_equal(22)
@@ -2229,51 +2229,51 @@
def Test_func_type_part()
var RefVoid: func: void
- RefVoid = FuncNoArgNoRet
- RefVoid = FuncOneArgNoRet
- CheckDefFailure(['var RefVoid: func: void', 'RefVoid = FuncNoArgRetNumber'], 'E1012: Type mismatch; expected func(...) but got func(): number')
- CheckDefFailure(['var RefVoid: func: void', 'RefVoid = FuncNoArgRetString'], 'E1012: Type mismatch; expected func(...) but got func(): string')
+ RefVoid = g:FuncNoArgNoRet
+ RefVoid = g:FuncOneArgNoRet
+ v9.CheckDefFailure(['var RefVoid: func: void', 'RefVoid = g:FuncNoArgRetNumber'], 'E1012: Type mismatch; expected func(...) but got func(): number')
+ v9.CheckDefFailure(['var RefVoid: func: void', 'RefVoid = FuncNoArgRetString'], 'E1012: Type mismatch; expected func(...) but got func(): string')
var RefAny: func(): any
- RefAny = FuncNoArgRetNumber
+ RefAny = g:FuncNoArgRetNumber
RefAny = FuncNoArgRetString
- CheckDefFailure(['var RefAny: func(): any', 'RefAny = FuncNoArgNoRet'], 'E1012: Type mismatch; expected func(): any but got func()')
- CheckDefFailure(['var RefAny: func(): any', 'RefAny = FuncOneArgNoRet'], 'E1012: Type mismatch; expected func(): any but got func(number)')
+ v9.CheckDefFailure(['var RefAny: func(): any', 'RefAny = g:FuncNoArgNoRet'], 'E1012: Type mismatch; expected func(): any but got func()')
+ v9.CheckDefFailure(['var RefAny: func(): any', 'RefAny = g:FuncOneArgNoRet'], 'E1012: Type mismatch; expected func(): any but got func(number)')
var RefAnyNoArgs: func: any = RefAny
var RefNr: func: number
- RefNr = FuncNoArgRetNumber
+ RefNr = g:FuncNoArgRetNumber
RefNr = FuncOneArgRetNumber
- CheckDefFailure(['var RefNr: func: number', 'RefNr = FuncNoArgNoRet'], 'E1012: Type mismatch; expected func(...): number but got func()')
- CheckDefFailure(['var RefNr: func: number', 'RefNr = FuncNoArgRetString'], 'E1012: Type mismatch; expected func(...): number but got func(): string')
+ v9.CheckDefFailure(['var RefNr: func: number', 'RefNr = g:FuncNoArgNoRet'], 'E1012: Type mismatch; expected func(...): number but got func()')
+ v9.CheckDefFailure(['var RefNr: func: number', 'RefNr = FuncNoArgRetString'], 'E1012: Type mismatch; expected func(...): number but got func(): string')
var RefStr: func: string
RefStr = FuncNoArgRetString
RefStr = FuncOneArgRetString
- CheckDefFailure(['var RefStr: func: string', 'RefStr = FuncNoArgNoRet'], 'E1012: Type mismatch; expected func(...): string but got func()')
- CheckDefFailure(['var RefStr: func: string', 'RefStr = FuncNoArgRetNumber'], 'E1012: Type mismatch; expected func(...): string but got func(): number')
+ v9.CheckDefFailure(['var RefStr: func: string', 'RefStr = g:FuncNoArgNoRet'], 'E1012: Type mismatch; expected func(...): string but got func()')
+ v9.CheckDefFailure(['var RefStr: func: string', 'RefStr = g:FuncNoArgRetNumber'], 'E1012: Type mismatch; expected func(...): string but got func(): number')
enddef
def Test_func_type_fails()
- CheckDefFailure(['var ref1: func()'], 'E704:')
+ v9.CheckDefFailure(['var ref1: func()'], 'E704:')
- CheckDefFailure(['var Ref1: func()', 'Ref1 = FuncNoArgRetNumber'], 'E1012: Type mismatch; expected func() but got func(): number')
- CheckDefFailure(['var Ref1: func()', 'Ref1 = FuncOneArgNoRet'], 'E1012: Type mismatch; expected func() but got func(number)')
- CheckDefFailure(['var Ref1: func()', 'Ref1 = FuncOneArgRetNumber'], 'E1012: Type mismatch; expected func() but got func(number): number')
- CheckDefFailure(['var Ref1: func(bool)', 'Ref1 = FuncTwoArgNoRet'], 'E1012: Type mismatch; expected func(bool) but got func(bool, number)')
- CheckDefFailure(['var Ref1: func(?bool)', 'Ref1 = FuncTwoArgNoRet'], 'E1012: Type mismatch; expected func(?bool) but got func(bool, number)')
- CheckDefFailure(['var Ref1: func(...bool)', 'Ref1 = FuncTwoArgNoRet'], 'E1012: Type mismatch; expected func(...bool) but got func(bool, number)')
+ v9.CheckDefFailure(['var Ref1: func()', 'Ref1 = g:FuncNoArgRetNumber'], 'E1012: Type mismatch; expected func() but got func(): number')
+ v9.CheckDefFailure(['var Ref1: func()', 'Ref1 = g:FuncOneArgNoRet'], 'E1012: Type mismatch; expected func() but got func(number)')
+ v9.CheckDefFailure(['var Ref1: func()', 'Ref1 = FuncOneArgRetNumber'], 'E1012: Type mismatch; expected func() but got func(number): number')
+ v9.CheckDefFailure(['var Ref1: func(bool)', 'Ref1 = g:FuncTwoArgNoRet'], 'E1012: Type mismatch; expected func(bool) but got func(bool, number)')
+ v9.CheckDefFailure(['var Ref1: func(?bool)', 'Ref1 = g:FuncTwoArgNoRet'], 'E1012: Type mismatch; expected func(?bool) but got func(bool, number)')
+ v9.CheckDefFailure(['var Ref1: func(...bool)', 'Ref1 = g:FuncTwoArgNoRet'], 'E1012: Type mismatch; expected func(...bool) but got func(bool, number)')
- CheckDefFailure(['var RefWrong: func(string ,number)'], 'E1068:')
- CheckDefFailure(['var RefWrong: func(string,number)'], 'E1069:')
- CheckDefFailure(['var RefWrong: func(bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool)'], 'E1005:')
- CheckDefFailure(['var RefWrong: func(bool):string'], 'E1069:')
+ v9.CheckDefFailure(['var RefWrong: func(string ,number)'], 'E1068:')
+ v9.CheckDefFailure(['var RefWrong: func(string,number)'], 'E1069:')
+ v9.CheckDefFailure(['var RefWrong: func(bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool)'], 'E1005:')
+ v9.CheckDefFailure(['var RefWrong: func(bool):string'], 'E1069:')
enddef
def Test_func_return_type()
var nr: number
- nr = FuncNoArgRetNumber()
+ nr = g:FuncNoArgRetNumber()
nr->assert_equal(1234)
nr = FuncOneArgRetAny(122)
@@ -2283,7 +2283,7 @@
str = FuncOneArgRetAny('yes')
str->assert_equal('yes')
- CheckDefFailure(['var str: string', 'str = FuncNoArgRetNumber()'], 'E1012: Type mismatch; expected string but got number')
+ v9.CheckDefFailure(['var str: string', 'str = g:FuncNoArgRetNumber()'], 'E1012: Type mismatch; expected string but got number')
enddef
def Test_func_common_type()
@@ -2302,7 +2302,7 @@
assert_equal(7, list[2](3, 'word'))
enddef
-def MultiLine(
+def s:MultiLine(
arg1: string,
arg2 = 1234,
...rest: list<string>
@@ -2326,10 +2326,10 @@
enddef
func Test_multiline_not_vim9()
- call MultiLine('text')->assert_equal('text1234')
- call MultiLine('text', 777)->assert_equal('text777')
- call MultiLine('text', 777, 'one')->assert_equal('text777one')
- call MultiLine('text', 777, 'one', 'two')->assert_equal('text777one-two')
+ call s:MultiLine('text')->assert_equal('text1234')
+ call s:MultiLine('text', 777)->assert_equal('text777')
+ call s:MultiLine('text', 777, 'one')->assert_equal('text777one')
+ call s:MultiLine('text', 777, 'one', 'two')->assert_equal('text777one-two')
endfunc
@@ -2426,19 +2426,19 @@
enddef
def Test_deleted_function()
- CheckDefExecFailure([
+ v9.CheckDefExecFailure([
'var RefMe: func = function("g:DelMe")',
'delfunc g:DelMe',
'echo RefMe()'], 'E117:')
enddef
def Test_unknown_function()
- CheckDefExecFailure([
+ v9.CheckDefExecFailure([
'var Ref: func = function("NotExist")',
'delfunc g:NotExist'], 'E700:')
enddef
-def RefFunc(Ref: func(any): any): string
+def s:RefFunc(Ref: func(any): any): string
return Ref('more')
enddef
@@ -2447,7 +2447,7 @@
RefFunc((s) => local .. s)->assert_equal('some more')
enddef
-def MakeRef()
+def s:MakeRef()
var local = 'some '
g:Ref = (s) => local .. s
enddef
@@ -2458,7 +2458,7 @@
unlet g:Ref
enddef
-def MakeTwoRefs()
+def s:MakeTwoRefs()
var local = ['some']
g:Extend = (s) => local->add(s)
g:Read = () => local
@@ -2476,11 +2476,11 @@
unlet g:Read
enddef
-def ReadRef(Ref: func(): list<string>): string
+def s:ReadRef(Ref: func(): list<string>): string
return join(Ref(), ' ')
enddef
-def ExtendRef(Ref: func(string): list<string>, add: string)
+def s:ExtendRef(Ref: func(string): list<string>, add: string)
Ref(add)
enddef
@@ -2496,12 +2496,12 @@
unlet g:Read
enddef
-def MakeArgRefs(theArg: string)
+def s:MakeArgRefs(theArg: string)
var local = 'loc_val'
g:UseArg = (s) => theArg .. '/' .. local .. '/' .. s
enddef
-def MakeArgRefsVarargs(theArg: string, ...rest: list<string>)
+def s:MakeArgRefsVarargs(theArg: string, ...rest: list<string>)
var local = 'the_loc'
g:UseVararg = (s) => theArg .. '/' .. local .. '/' .. s .. '/' .. join(rest)
enddef
@@ -2526,10 +2526,10 @@
enddef
assert_equal([3, 4, 5], Test(Inc))
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
-def MakeGetAndAppendRefs()
+def s:MakeGetAndAppendRefs()
var local = 'a'
def Append(arg: string)
@@ -2563,7 +2563,7 @@
Closure('!!!')->assert_equal('text!!!')
enddef
-func GetResult(Ref)
+func s:GetResult(Ref)
return a:Ref('some')
endfunc
@@ -2584,7 +2584,7 @@
enddef
Func()
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
def Test_nested_closure_used()
@@ -2598,7 +2598,7 @@
Func()
assert_equal('hello', g:Myclosure())
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
def Test_nested_closure_fails()
@@ -2612,7 +2612,7 @@
enddef
FuncA()
END
- CheckScriptFailure(lines, 'E1012:')
+ v9.CheckScriptFailure(lines, 'E1012:')
enddef
def Test_global_closure()
@@ -2632,7 +2632,7 @@
repeat(['aaa', 'bbb', 'ccc'], 3)->setline(1)
ReverseEveryNLines(3, 1, 9)
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
var expected = repeat(['ccc', 'bbb', 'aaa'], 3)
assert_equal(expected, getline(1, 9))
bwipe!
@@ -2653,7 +2653,7 @@
enddef
Outer()
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
delfunc g:Inner
enddef
@@ -2669,7 +2669,7 @@
enddef
Func()
END
- CheckScriptFailure(lines, 'E1248')
+ v9.CheckScriptFailure(lines, 'E1248')
enddef
def Test_failure_in_called_function()
@@ -2692,7 +2692,7 @@
endtry
au! TerminalWinOpen
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
def Test_nested_lambda()
@@ -2707,7 +2707,7 @@
enddef
Func()
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
def Test_double_nested_lambda()
@@ -2720,7 +2720,7 @@
enddef
assert_equal('hello-there', F('hello')('-')('there'))
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
def Test_nested_inline_lambda()
@@ -2733,7 +2733,7 @@
enddef
assert_equal('--there++', F('++')('there')('--'))
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
vim9script
@@ -2743,7 +2743,7 @@
})
})
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
vim9script
@@ -2759,7 +2759,7 @@
defcomp
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
def Shadowed(): list<number>
@@ -2768,10 +2768,10 @@
enddef
def Test_lambda_arg_shadows_func()
- assert_equal([42], Shadowed())
+ assert_equal([42], g:Shadowed())
enddef
-def Line_continuation_in_def(dir: string = ''): string
+def s:Line_continuation_in_def(dir: string = ''): string
var path: string = empty(dir)
\ ? 'empty'
\ : 'full'
@@ -2788,10 +2788,10 @@
var script = 'test'
assert_equal(['test'], map(['one'], (_, _) => script))
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
-def Line_continuation_in_lambda(): list<string>
+def s:Line_continuation_in_lambda(): list<string>
var x = range(97, 100)
->mapnew((_, v) => nr2char(v)
->toupper())
@@ -2812,7 +2812,7 @@
))
assert_equal(['1:2:yyy'], res)
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
def Test_list_lambda()
@@ -2834,7 +2834,7 @@
flist[i] = () => inloop
endfor
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
vim9script
@@ -2846,7 +2846,7 @@
endfor
endif
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
vim9script
@@ -2858,7 +2858,7 @@
flist[i] = () => outloop
endfor
END
- CheckScriptFailure(lines, 'E1001: Variable not found: outloop', 1)
+ v9.CheckScriptFailure(lines, 'E1001: Variable not found: outloop', 1)
lines =<< trim END
vim9script
@@ -2867,7 +2867,7 @@
endfor
assert_equal(0, ((i) => 0)(0))
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
def Test_legacy_lambda()
@@ -2876,7 +2876,7 @@
var lines =<< trim END
echo {x -> 'hello ' .. x}('foo')
END
- CheckDefAndScriptFailure(lines, 'E720:')
+ v9.CheckDefAndScriptFailure(lines, 'E720:')
lines =<< trim END
vim9script
@@ -2885,7 +2885,7 @@
enddef
legacy call s:Func()
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
def Test_legacy()
@@ -2902,7 +2902,7 @@
unlet g:legacyvar
delfunc g:LegacyFunction
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
def Test_legacy_errors()
@@ -2910,7 +2910,7 @@
'for', 'endfor', 'continue', 'break',
'while', 'endwhile',
'try', 'catch', 'finally', 'endtry']
- CheckDefFailure(['legacy ' .. cmd .. ' expr'], 'E1189:')
+ v9.CheckDefFailure(['legacy ' .. cmd .. ' expr'], 'E1189:')
endfor
enddef
@@ -2942,10 +2942,10 @@
assert_equal('bar', g:result)
unlet g:result
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
-def DoFilterThis(a: string): list<string>
+def s:DoFilterThis(a: string): list<string>
# closure nested inside another closure using argument
var Filter = (l) => filter(l, (_, v) => stridx(v, a) == 0)
return ['x', 'y', 'a', 'x2', 'c']->Filter()
@@ -2978,12 +2978,12 @@
writefile(lines, 'XTest_silent_echo')
# Check that the balloon shows up after a mouse move
- var buf = RunVimInTerminal('-S XTest_silent_echo', {'rows': 6})
+ var buf = g:RunVimInTerminal('-S XTest_silent_echo', {'rows': 6})
term_sendkeys(buf, ":abc")
- VerifyScreenDump(buf, 'Test_vim9_silent_echo', {})
+ g:VerifyScreenDump(buf, 'Test_vim9_silent_echo', {})
# clean up
- StopVimInTerminal(buf)
+ g:StopVimInTerminal(buf)
delete('XTest_silent_echo')
enddef
@@ -2992,7 +2992,7 @@
g:did_it = 'yes'
enddef
-func UserError()
+func s:UserError()
silent! invalid
endfunc
@@ -3028,10 +3028,10 @@
popup_create('popup', {filter: Filter})
feedkeys("o\r", 'xnt')
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
-def Fibonacci(n: number): number
+def s:Fibonacci(n: number): number
if n < 2
return n
else
@@ -3043,7 +3043,7 @@
Fibonacci(20)->assert_equal(6765)
enddef
-def TreeWalk(dir: string): list<any>
+def s:TreeWalk(dir: string): list<any>
return readdir(dir)->mapnew((_, val) =>
fnamemodify(dir .. '/' .. val, ':p')->isdirectory()
? {[val]: TreeWalk(dir .. '/' .. val)}
@@ -3067,25 +3067,25 @@
vim9script
def s: list<string>
END
- CheckScriptFailure(lines, 'E129:')
+ v9.CheckScriptFailure(lines, 'E129:')
lines =<< trim END
vim9script
def g: list<string>
END
- CheckScriptFailure(lines, 'E129:')
+ v9.CheckScriptFailure(lines, 'E129:')
lines =<< trim END
vim9script
def <SID>: list<string>
END
- CheckScriptFailure(lines, 'E884:')
+ v9.CheckScriptFailure(lines, 'E884:')
lines =<< trim END
vim9script
def F list<string>
END
- CheckScriptFailure(lines, 'E488:')
+ v9.CheckScriptFailure(lines, 'E488:')
enddef
def Test_partial_call()
@@ -3113,7 +3113,7 @@
var RepeatFunc = function('repeat', ['o'])
assert_equal('ooooo', RepeatFunc(5))
END
- CheckDefAndScriptSuccess(lines)
+ v9.CheckDefAndScriptSuccess(lines)
lines =<< trim END
vim9script
@@ -3122,12 +3122,12 @@
var Expr: func(dict<any>): dict<any>
const Call = Foo(Expr)
END
- CheckScriptFailure(lines, 'E1235:')
+ v9.CheckScriptFailure(lines, 'E1235:')
enddef
def Test_cmd_modifier()
tab echo '0'
- CheckDefFailure(['5tab echo 3'], 'E16:')
+ v9.CheckDefFailure(['5tab echo 3'], 'E16:')
enddef
def Test_restore_modifiers()
@@ -3146,7 +3146,7 @@
endfunc
Func()
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
g:ei_after->assert_equal('')
enddef
@@ -3154,7 +3154,7 @@
eval 1 + 2
eval 2 + 3
# call not on fourth line
- StackBot()
+ g:StackBot()
enddef
def StackBot()
@@ -3164,7 +3164,7 @@
def Test_callstack_def()
try
- StackTop()
+ g:StackTop()
catch
v:throwpoint->assert_match('Test_callstack_def\[2\]..StackTop\[4\]..StackBot, line 2')
endtry
@@ -3185,7 +3185,7 @@
enddef
Func()
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
def Test_reset_did_emsg()
@@ -3199,7 +3199,7 @@
enddef
Func()
END
- CheckScriptFailure(lines, 'E492:', 8)
+ v9.CheckScriptFailure(lines, 'E492:', 8)
delfunc! g:Func
enddef
@@ -3236,7 +3236,7 @@
assert_equal('none', g:result)
unlet g:result
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
def Test_continues_with_silent_error()
@@ -3252,7 +3252,7 @@
assert_equal('yes', g:result)
unlet g:result
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
def Test_abort_even_with_silent()
@@ -3267,7 +3267,7 @@
assert_equal('none', g:result)
unlet g:result
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
def Test_cmdmod_silent_restored()
@@ -3315,7 +3315,7 @@
Crash()
assert_equal('CbEbEaCa', result)
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
def Test_dict_member_with_silent()
@@ -3333,7 +3333,7 @@
assert_equal('0', g:result)
unlet g:result
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
def Test_skip_cmds_with_silent()
@@ -3351,7 +3351,7 @@
Func(true)
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
enddef
def Test_opfunc()
@@ -3396,12 +3396,12 @@
END
call writefile(lines, 'XTest_opfunc_error')
- var buf = RunVimInTerminal('-S XTest_opfunc_error', {rows: 6, wait_for_ruler: 0})
- WaitForAssert(() => assert_match('Press ENTER', term_getline(buf, 6)))
- WaitForAssert(() => assert_match('E684: list index out of range: 0', term_getline(buf, 5)))
+ var buf = g:RunVimInTerminal('-S XTest_opfunc_error', {rows: 6, wait_for_ruler: 0})
+ g:WaitForAssert(() => assert_match('Press ENTER', term_getline(buf, 6)))
+ g:WaitForAssert(() => assert_match('E684: list index out of range: 0', term_getline(buf, 5)))
# clean up
- StopVimInTerminal(buf)
+ g:StopVimInTerminal(buf)
delete('XTest_opfunc_error')
enddef
@@ -3419,7 +3419,7 @@
defcompile
# not reached
END
- if !RunVim([], lines, '--clean -c WriteDone -c quit')
+ if !g:RunVim([], lines, '--clean -c WriteDone -c quit')
return
endif
assert_equal(['Done'], readfile('XnestedDone'))
@@ -3446,8 +3446,8 @@
enddef
END
- CheckScriptSuccess(lines + ['echo H(G(F1))'])
- CheckScriptFailure(lines + ['echo H(G(F2))'], 'E1013:')
+ v9.CheckScriptSuccess(lines + ['echo H(G(F1))'])
+ v9.CheckScriptFailure(lines + ['echo H(G(F2))'], 'E1013:')
enddef
def Test_list_any_type_checked()
@@ -3462,13 +3462,13 @@
Foo()
END
lines[2] = 'var l: list<any>'
- CheckScriptFailure(lines, 'E1013: Argument 1: type mismatch, expected list<dict<any>> but got list<any>', 2)
+ v9.CheckScriptFailure(lines, 'E1013: Argument 1: type mismatch, expected list<dict<any>> but got list<any>', 2)
lines[2] = 'var l: list<any> = []'
- CheckScriptFailure(lines, 'E1013: Argument 1: type mismatch, expected list<dict<any>> but got list<any>', 2)
+ v9.CheckScriptFailure(lines, 'E1013: Argument 1: type mismatch, expected list<dict<any>> but got list<any>', 2)
lines[2] = 'var l: list<any> = [11]'
- CheckScriptFailure(lines, 'E1013: Argument 1: type mismatch, expected list<dict<any>> but got list<number>', 2)
+ v9.CheckScriptFailure(lines, 'E1013: Argument 1: type mismatch, expected list<dict<any>> but got list<number>', 2)
enddef
def Test_compile_error()
@@ -3479,7 +3479,7 @@
call g:Broken()
END
# First call: compilation error
- CheckScriptFailure(lines, 'E1051: Wrong argument type for +')
+ v9.CheckScriptFailure(lines, 'E1051: Wrong argument type for +')
# Second call won't try compiling again
assert_fails('call g:Broken()', 'E1091: Function is not compiled: Broken')
@@ -3492,7 +3492,7 @@
enddef
silent! defcompile
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
# Calling the function won't try compiling again
assert_fails('call g:Broken()', 'E1091: Function is not compiled: Broken')
@@ -3520,7 +3520,7 @@
assert_equal([[1], [2], [3]], range(3)->mapnew((_, v) => [v]->map((_, w) => w + 1)))
END
- CheckScriptSuccess(lines)
+ v9.CheckScriptSuccess(lines)
lines =<< trim END
def Ignore(_: string): string
@@ -3528,29 +3528,29 @@
enddef
defcompile
END
- CheckScriptFailure(lines, 'E1181:', 1)
+ v9.CheckScriptFailure(lines, 'E1181:', 1)
lines =<< trim END
var _ = 1
END
- CheckDefAndScriptFailure(lines, 'E1181:', 1)
+ v9.CheckDefAndScriptFailure(lines, 'E1181:', 1)
lines =<< trim END
var x = _
END
- CheckDefAndScriptFailure(lines, 'E1181:', 1)
+ v9.CheckDefAndScriptFailure(lines, 'E1181:', 1)
enddef
def Test_too_many_arguments()
var lines =<< trim END
echo [0, 1, 2]->map(() => 123)
END
- CheckDefExecAndScriptFailure(lines, 'E1106: 2 arguments too many', 1)
+ v9.CheckDefExecAndScriptFailure(lines, 'E1106: 2 arguments too many', 1)
lines =<< trim END
echo [0, 1, 2]->map((_) => 123)
END
- CheckDefExecAndScriptFailure(lines, 'E1106: One argument too many', 1)
+ v9.CheckDefExecAndScriptFailure(lines, 'E1106: One argument too many', 1)
enddef
def Test_closing_brace_at_start_of_line()
@@ -3560,10 +3560,10 @@
Func(
)
END
- call CheckDefAndScriptSuccess(lines)
+ v9.CheckDefAndScriptSuccess(lines)
enddef
-func CreateMydict()
+func s:CreateMydict()
let g:mydict = {}
func g:mydict.afunc()
let g:result = self.key
@@ -3588,7 +3588,7 @@
enddef
defcompile
END
- CheckScriptFailure(lines, 'E476:')
+ v9.CheckScriptFailure(lines, 'E476:')
enddef
if has('python3')