diff src/testdir/test_vim9_assign.vim @ 27457:4c16acb2525f v8.2.4257

patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent Commit: https://github.com/vim/vim/commit/62aec93bfdb9e1b40d03a6d2e8e9511f8b1bdb2d Author: Bram Moolenaar <Bram@vim.org> Date: Sat Jan 29 21:45:34 2022 +0000 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.
author Bram Moolenaar <Bram@vim.org>
date Sat, 29 Jan 2022 23:00:05 +0100
parents 4c1bdee75bed
children a14c4d3e3260
line wrap: on
line diff
--- a/src/testdir/test_vim9_assign.vim
+++ b/src/testdir/test_vim9_assign.vim
@@ -1,7 +1,7 @@
 " Test Vim9 assignments
 
 source check.vim
-source vim9.vim
+import './vim9.vim' as v9
 source term_util.vim
 
 let s:appendToMe = 'xxx'
@@ -51,14 +51,14 @@ def Test_assignment_bool()
     var cp: bool = &cp
     var fen: bool = &l:fen
   END
-  CheckScriptSuccess(lines)
-  CheckDefAndScriptFailure(['var x: bool = 2'], 'E1012:')
-  CheckDefAndScriptFailure(['var x: bool = -1'], 'E1012:')
-  CheckDefAndScriptFailure(['var x: bool = [1]'], 'E1012:')
-  CheckDefAndScriptFailure(['var x: bool = {}'], 'E1012:')
-  CheckDefAndScriptFailure(['var x: bool = "x"'], 'E1012:')
+  v9.CheckScriptSuccess(lines)
+  v9.CheckDefAndScriptFailure(['var x: bool = 2'], 'E1012:')
+  v9.CheckDefAndScriptFailure(['var x: bool = -1'], 'E1012:')
+  v9.CheckDefAndScriptFailure(['var x: bool = [1]'], 'E1012:')
+  v9.CheckDefAndScriptFailure(['var x: bool = {}'], 'E1012:')
+  v9.CheckDefAndScriptFailure(['var x: bool = "x"'], 'E1012:')
 
-  CheckDefAndScriptFailure(['var x: bool = "x"', '', 'eval 0'], 'E1012:', 1)
+  v9.CheckDefAndScriptFailure(['var x: bool = "x"', '', 'eval 0'], 'E1012:', 1)
 enddef
 
 def Test_syntax()
@@ -67,21 +67,21 @@ def Test_syntax()
 enddef
 
 def Test_assignment()
-  CheckDefFailure(['var x:string'], 'E1069:')
-  CheckDefFailure(['var x:string = "x"'], 'E1069:')
-  CheckDefFailure(['var a:string = "x"'], 'E1069:')
-  CheckDefFailure(['var lambda = () => "lambda"'], 'E704:')
-  CheckScriptFailure(['var x = "x"'], 'E1124:')
+  v9.CheckDefFailure(['var x:string'], 'E1069:')
+  v9.CheckDefFailure(['var x:string = "x"'], 'E1069:')
+  v9.CheckDefFailure(['var a:string = "x"'], 'E1069:')
+  v9.CheckDefFailure(['var lambda = () => "lambda"'], 'E704:')
+  v9.CheckScriptFailure(['var x = "x"'], 'E1124:')
 
   # lower case name is OK for a list
   var lambdaLines =<< trim END
       var lambdaList: list<func> = [Test_syntax]
       lambdaList[0] = () => "lambda"
   END
-  CheckDefAndScriptSuccess(lambdaLines)
+  v9.CheckDefAndScriptSuccess(lambdaLines)
 
   var nr: number = 1234
-  CheckDefFailure(['var nr: number = "asdf"'], 'E1012:')
+  v9.CheckDefFailure(['var nr: number = "asdf"'], 'E1012:')
 
   var a: number = 6 #comment
   assert_equal(6, a)
@@ -122,7 +122,7 @@ def Test_assignment()
     assert_equal('barfoo', $ENVVAR)
     $ENVVAR = ''
   END
-  CheckScriptSuccess(lines)
+  v9.CheckScriptSuccess(lines)
 
   s:appendToMe ..= 'yyy'
   assert_equal('xxxyyy', s:appendToMe)
@@ -155,7 +155,7 @@ def Test_assignment()
     f200 /= 5.0
     assert_equal(40.0, f200)
 
-    CheckDefFailure(['var nr: number = 200', 'nr /= 5.0'], 'E1012:')
+    v9.CheckDefFailure(['var nr: number = 200', 'nr /= 5.0'], 'E1012:')
   endif
 
   lines =<< trim END
@@ -182,18 +182,18 @@ def Test_assignment()
     &number = false
     assert_equal(false, &number)
   END
-  CheckDefAndScriptSuccess(lines)
+  v9.CheckDefAndScriptSuccess(lines)
 
-  CheckDefFailure(['&notex += 3'], 'E113:')
-  CheckDefFailure(['&ts ..= "xxx"'], 'E1019:')
-  CheckDefFailure(['&ts = [7]'], 'E1012:')
-  CheckDefExecFailure(['&ts = g:alist'], 'E1012: Type mismatch; expected number but got list<number>')
-  CheckDefFailure(['&ts = "xx"'], 'E1012:')
-  CheckDefExecFailure(['&ts = g:astring'], 'E1012: Type mismatch; expected number but got string')
-  CheckDefFailure(['&path += 3'], 'E1012:')
-  CheckDefExecFailure(['&bs = "asdf"'], 'E474:')
+  v9.CheckDefFailure(['&notex += 3'], 'E113:')
+  v9.CheckDefFailure(['&ts ..= "xxx"'], 'E1019:')
+  v9.CheckDefFailure(['&ts = [7]'], 'E1012:')
+  v9.CheckDefExecFailure(['&ts = g:alist'], 'E1012: Type mismatch; expected number but got list<number>')
+  v9.CheckDefFailure(['&ts = "xx"'], 'E1012:')
+  v9.CheckDefExecFailure(['&ts = g:astring'], 'E1012: Type mismatch; expected number but got string')
+  v9.CheckDefFailure(['&path += 3'], 'E1012:')
+  v9.CheckDefExecFailure(['&bs = "asdf"'], 'E474:')
   # test freeing ISN_STOREOPT
-  CheckDefFailure(['&ts = 3', 'var asdf'], 'E1022:')
+  v9.CheckDefFailure(['&ts = 3', 'var asdf'], 'E1022:')
   &ts = 8
 
   lines =<< trim END
@@ -204,13 +204,13 @@ def Test_assignment()
     assert_equal('xxx', &t_TI)
     &t_TI = save_TI
   END
-  CheckDefAndScriptSuccess(lines)
+  v9.CheckDefAndScriptSuccess(lines)
 
-  CheckDefFailure(['&t_TI = 123'], 'E1012:')
-  CheckScriptFailure(['vim9script', '&t_TI = 123'], 'E928:')
+  v9.CheckDefFailure(['&t_TI = 123'], 'E1012:')
+  v9.CheckScriptFailure(['vim9script', '&t_TI = 123'], 'E928:')
 
-  CheckDefFailure(['var s:var = 123'], 'E1101:')
-  CheckDefFailure(['var s:var: number'], 'E1101:')
+  v9.CheckDefFailure(['var s:var = 123'], 'E1101:')
+  v9.CheckDefFailure(['var s:var: number'], 'E1101:')
 
   lines =<< trim END
     vim9script
@@ -219,7 +219,7 @@ def Test_assignment()
     enddef
     defcompile
   END
-  CheckScriptFailure(lines, 'E1089:')
+  v9.CheckScriptFailure(lines, 'E1089:')
 
   g:inc_counter += 1
   assert_equal(2, g:inc_counter)
@@ -232,14 +232,14 @@ def Test_assignment()
 
   $SOME_ENV_VAR ..= 'more'
   assert_equal('somemore', $SOME_ENV_VAR)
-  CheckDefFailure(['$SOME_ENV_VAR += "more"'], 'E1051:')
-  CheckDefFailure(['$SOME_ENV_VAR += 123'], 'E1012:')
+  v9.CheckDefFailure(['$SOME_ENV_VAR += "more"'], 'E1051:')
+  v9.CheckDefFailure(['$SOME_ENV_VAR += 123'], 'E1012:')
 
   v:errmsg = 'none'
   v:errmsg ..= 'again'
   assert_equal('noneagain', v:errmsg)
-  CheckDefFailure(['v:errmsg += "more"'], 'E1051:')
-  CheckDefFailure(['v:errmsg += 123'], 'E1012:')
+  v9.CheckDefFailure(['v:errmsg += "more"'], 'E1051:')
+  v9.CheckDefFailure(['v:errmsg += 123'], 'E1012:')
 
   var text =<< trim END
     some text
@@ -259,7 +259,7 @@ def Test_float_and_number()
          --f
          assert_equal(1.0, f)
     END
-    CheckDefAndScriptSuccess(lines)
+    v9.CheckDefAndScriptSuccess(lines)
   endif
 enddef
 
@@ -275,18 +275,18 @@ def Test_assign_concat()
     s ..= g:someNumber
     assert_equal('-99true-null43', s)
   END
-  CheckDefAndScriptSuccess(lines)
+  v9.CheckDefAndScriptSuccess(lines)
 
   lines =<< trim END
     var s = '-'
     s ..= [1, 2]
   END
-  CheckDefAndScriptFailure(lines, ['E1105: Cannot convert list to string', 'E734: Wrong variable type for .='], 2)
+  v9.CheckDefAndScriptFailure(lines, ['E1105: Cannot convert list to string', 'E734: Wrong variable type for .='], 2)
   lines =<< trim END
     var s = '-'
     s ..= {a: 2}
   END
-  CheckDefAndScriptFailure(lines, ['E1105: Cannot convert dict to string', 'E734: Wrong variable type for .='], 2)
+  v9.CheckDefAndScriptFailure(lines, ['E1105: Cannot convert dict to string', 'E734: Wrong variable type for .='], 2)
 enddef
 
 def Test_assign_register()
@@ -298,16 +298,16 @@ def Test_assign_register()
     @@ = 'some text'
     assert_equal('some text', getreg('"'))
   END
-  CheckDefAndScriptSuccess(lines)
+  v9.CheckDefAndScriptSuccess(lines)
 
-  CheckDefFailure(['@a += "more"'], 'E1051:')
-  CheckDefFailure(['@a += 123'], 'E1012:')
+  v9.CheckDefFailure(['@a += "more"'], 'E1051:')
+  v9.CheckDefFailure(['@a += 123'], 'E1012:')
 enddef
 
 def Test_reserved_name()
   for name in ['true', 'false', 'null']
-    CheckDefExecAndScriptFailure(['var ' .. name .. ' =  0'], 'E1034:')
-    CheckDefExecAndScriptFailure(['var ' .. name .. ': bool'], 'E1034:')
+    v9.CheckDefExecAndScriptFailure(['var ' .. name .. ' =  0'], 'E1034:')
+    v9.CheckDefExecAndScriptFailure(['var ' .. name .. ': bool'], 'E1034:')
   endfor
 enddef
 
@@ -320,7 +320,7 @@ def Test_skipped_assignment()
         endwhile
       endfor
   END
-  CheckDefAndScriptSuccess(lines)
+  v9.CheckDefAndScriptSuccess(lines)
 enddef
 
 def Test_assign_keep_type()
@@ -330,7 +330,7 @@ def Test_assign_keep_type()
       l = [123]
       l->add('string')
   END
-  CheckScriptFailure(lines, 'E1012:', 4)
+  v9.CheckScriptFailure(lines, 'E1012:', 4)
 enddef
 
 def Test_assign_unpack()
@@ -382,62 +382,62 @@ def Test_assign_unpack()
     assert_equal(2, a)
     assert_equal(0, b)
   END
-  CheckDefAndScriptSuccess(lines)
+  v9.CheckDefAndScriptSuccess(lines)
 
   lines =<< trim END
       var v1: number
       var v2: number
       [v1, v2] = [1, 2, 3]
   END
-  CheckDefFailure(lines, 'E1093: Expected 2 items but got 3', 3)
+  v9.CheckDefFailure(lines, 'E1093: Expected 2 items but got 3', 3)
 
   lines =<< trim END
       var v1: number
       var v2: number
       [v1, v2] = [1]
   END
-  CheckDefFailure(lines, 'E1093: Expected 2 items but got 1', 3)
+  v9.CheckDefFailure(lines, 'E1093: Expected 2 items but got 1', 3)
 
   lines =<< trim END
       var v1: number
       var v2: number
       [v1, v2; _] = [1]
   END
-  CheckDefFailure(lines, 'E1093: Expected 2 items but got 1', 3)
+  v9.CheckDefFailure(lines, 'E1093: Expected 2 items but got 1', 3)
 
   lines =<< trim END
       var v1: number
       var v2: number
       [v1, v2] = 
   END
-  CheckDefFailure(lines, 'E1097:', 5)
+  v9.CheckDefFailure(lines, 'E1097:', 5)
 
   lines =<< trim END
       var v1: number
       var v2: number
       [v1, v2] = xxx
   END
-  CheckDefFailure(lines, 'E1001:', 3)
+  v9.CheckDefFailure(lines, 'E1001:', 3)
 
   lines =<< trim END
       var v1: number
       var v2: number
       [v1, v2] = popup_clear()
   END
-  CheckDefFailure(lines, 'E1031:', 3)
+  v9.CheckDefFailure(lines, 'E1031:', 3)
 
   lines =<< trim END
       [v1, v2] = [1, 2]
   END
-  CheckDefFailure(lines, 'E1089', 1)
-  CheckScriptFailure(['vim9script'] + lines, 'E1089', 2)
+  v9.CheckDefFailure(lines, 'E1089', 1)
+  v9.CheckScriptFailure(['vim9script'] + lines, 'E1089', 2)
 
   lines =<< trim END
       var v1: number
       var v2: number
       [v1, v2] = ''
   END
-  CheckDefFailure(lines, 'E1012: Type mismatch; expected list<any> but got string', 3)
+  v9.CheckDefFailure(lines, 'E1012: Type mismatch; expected list<any> but got string', 3)
 
   lines =<< trim END
     g:values = [false, 0]
@@ -445,7 +445,7 @@ def Test_assign_unpack()
     var y: string
     [x, y] = g:values
   END
-  CheckDefExecAndScriptFailure(lines, 'E1163: Variable 2: type mismatch, expected string but got number')
+  v9.CheckDefExecAndScriptFailure(lines, 'E1163: Variable 2: type mismatch, expected string but got number')
 
   lines =<< trim END
     var x: number
@@ -453,7 +453,7 @@ def Test_assign_unpack()
     var z: string
     [x, y, z] = [1, 2, 3]
   END
-  CheckDefAndScriptFailure(lines, 'E1163: Variable 3: type mismatch, expected string but got number')
+  v9.CheckDefAndScriptFailure(lines, 'E1163: Variable 3: type mismatch, expected string but got number')
 
   lines =<< trim END
     var x: number
@@ -461,7 +461,7 @@ def Test_assign_unpack()
     var z: string
     [x, y, z] = [1, '2', 3]
   END
-  CheckDefExecAndScriptFailure(lines, 'E1163: Variable 3: type mismatch, expected string but got number')
+  v9.CheckDefExecAndScriptFailure(lines, 'E1163: Variable 3: type mismatch, expected string but got number')
 enddef
 
 def Test_assign_linebreak()
@@ -476,7 +476,7 @@ def Test_assign_linebreak()
   assert_equal(12, nr)
   assert_equal(34, n2)
 
-  CheckDefFailure(["var x = #"], 'E1097:', 3)
+  v9.CheckDefFailure(["var x = #"], 'E1097:', 3)
 
   var lines =<< trim END
       var x: list<string> = ['a']
@@ -484,7 +484,7 @@ def Test_assign_linebreak()
           ->copy()
           ->copy()
   END
-  CheckDefFailure(lines, 'E1012:', 2)
+  v9.CheckDefFailure(lines, 'E1012:', 2)
 
   lines =<< trim END
       var x: any
@@ -494,7 +494,7 @@ def Test_assign_linebreak()
           + 4
           + 5
   END
-  CheckDefExecAndScriptFailure(lines, ['E1148:', 'E1203:'], 2)
+  v9.CheckDefExecAndScriptFailure(lines, ['E1148:', 'E1203:'], 2)
 enddef
 
 def Test_assign_index()
@@ -519,7 +519,7 @@ def Test_assign_index()
       l3[0] = []
       l3[0][0] = []
   END
-  CheckDefFailure(lines, 'E1012: Type mismatch; expected number but got list<unknown>', 3)
+  v9.CheckDefFailure(lines, 'E1012: Type mismatch; expected number but got list<unknown>', 3)
 
   # dict of dict
   var d1: dict<number>
@@ -548,19 +548,19 @@ def Test_assign_index()
       d3.one = {}
       d3.one.two = {}
   END
-  CheckDefFailure(lines, 'E1012: Type mismatch; expected number but got dict<unknown>', 3)
+  v9.CheckDefFailure(lines, 'E1012: Type mismatch; expected number but got dict<unknown>', 3)
 
   lines =<< trim END
     var lines: list<string>
     lines['a'] = 'asdf'
   END
-  CheckDefFailure(lines, 'E1012:', 2)
+  v9.CheckDefFailure(lines, 'E1012:', 2)
 
   lines =<< trim END
     var lines: string
     lines[9] = 'asdf'
   END
-  CheckDefFailure(lines, 'E1141:', 2)
+  v9.CheckDefFailure(lines, 'E1141:', 2)
 
   # list of dict
   var ld: list<dict<number>>
@@ -572,7 +572,7 @@ def Test_assign_index()
       var ld: list<dict<number>>
       ld[0] = []
   END
-  CheckDefFailure(lines, 'E1012: Type mismatch; expected dict<number> but got list<unknown>', 2)
+  v9.CheckDefFailure(lines, 'E1012: Type mismatch; expected dict<number> but got list<unknown>', 2)
 
   # dict of list
   var dl: dict<list<number>>
@@ -584,7 +584,7 @@ def Test_assign_index()
       var dl: dict<list<number>>
       dl.one = {}
   END
-  CheckDefFailure(lines, 'E1012: Type mismatch; expected list<number> but got dict<unknown>', 2)
+  v9.CheckDefFailure(lines, 'E1012: Type mismatch; expected list<number> but got dict<unknown>', 2)
 enddef
 
 def Test_init_in_for_loop()
@@ -597,7 +597,7 @@ def Test_init_in_for_loop()
       endfor
       assert_equal([0, 0], l)
   END
-  CheckDefAndScriptSuccess(lines)
+  v9.CheckDefAndScriptSuccess(lines)
 
   lines =<< trim END
       var l: list<number> = []
@@ -608,7 +608,7 @@ def Test_init_in_for_loop()
       endfor
       assert_equal([0, 0], l)
   END
-  CheckDefAndScriptSuccess(lines)
+  v9.CheckDefAndScriptSuccess(lines)
 
   lines =<< trim END
       var l: list<number> = []
@@ -619,7 +619,7 @@ def Test_init_in_for_loop()
       endfor
       assert_equal([3, 3], l)
   END
-  CheckDefAndScriptSuccess(lines)
+  v9.CheckDefAndScriptSuccess(lines)
 enddef
 
 def Test_extend_list()
@@ -631,14 +631,14 @@ def Test_extend_list()
       assert_equal([123], l1)
       assert_true(l1 is l2)
   END
-  CheckDefAndScriptSuccess(lines)
+  v9.CheckDefAndScriptSuccess(lines)
 
   lines =<< trim END
       var list: list<string>
       extend(list, ['x'])
       assert_equal(['x'], list)
   END
-  CheckDefAndScriptSuccess(lines)
+  v9.CheckDefAndScriptSuccess(lines)
 
   # appending to NULL list from a function
   lines =<< trim END
@@ -650,7 +650,7 @@ def Test_extend_list()
       Func()
       assert_equal(['a', 'b'], list)
   END
-  CheckScriptSuccess(lines)
+  v9.CheckScriptSuccess(lines)
   lines =<< trim END
       vim9script
       var list: list<string>
@@ -660,7 +660,7 @@ def Test_extend_list()
       Func()
       assert_equal(['x', 'b'], list)
   END
-  CheckScriptSuccess(lines)
+  v9.CheckScriptSuccess(lines)
 
   lines =<< trim END
       vim9script
@@ -668,13 +668,13 @@ def Test_extend_list()
       extend(l, ['x'])
       assert_equal(['x'], l)
   END
-  CheckScriptSuccess(lines)
+  v9.CheckScriptSuccess(lines)
 
   lines =<< trim END
       vim9script
       extend(test_null_list(), ['x'])
   END
-  CheckScriptFailure(lines, 'E1134:', 2)
+  v9.CheckScriptFailure(lines, 'E1134:', 2)
 
   # using global var has no declared type
   g:myList = []
@@ -690,7 +690,7 @@ def Test_extend_list()
       g:myList->extend([1])
       g:myList->extend(['x'])
   END
-  CheckDefExecAndScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected list<number> but got list<string>', 4)
+  v9.CheckDefExecAndScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected list<number> but got list<string>', 4)
   unlet g:myList
 enddef
 
@@ -705,7 +705,7 @@ def Test_extend_dict()
       d2['one'] = 1
       assert_equal({one: 1}, d2)
   END
-  CheckScriptSuccess(lines)
+  v9.CheckScriptSuccess(lines)
 
   lines =<< trim END
       vim9script
@@ -713,13 +713,13 @@ def Test_extend_dict()
       extend(d, {a: 'x'})
       assert_equal({a: 'x'}, d)
   END
-  CheckScriptSuccess(lines)
+  v9.CheckScriptSuccess(lines)
 
   lines =<< trim END
       vim9script
       extend(test_null_dict(), {a: 'x'})
   END
-  CheckScriptFailure(lines, 'E1133:', 2)
+  v9.CheckScriptFailure(lines, 'E1133:', 2)
 enddef
 
 def Test_single_letter_vars()
@@ -805,7 +805,7 @@ def Test_assignment_list()
   list3 += ['end']
   assert_equal(['sdf', 'asdf', 'end'], list3)
 
-  CheckDefExecFailure(['var ll = [1, 2, 3]', 'll[-4] = 6'], 'E684:')
+  v9.CheckDefExecFailure(['var ll = [1, 2, 3]', 'll[-4] = 6'], 'E684:')
 
   # type becomes list<any>
   var somelist = rand() > 0 ? [1, 2, 3] : ['a', 'b', 'c']
@@ -818,7 +818,7 @@ def Test_assignment_list()
     var d = {dd: test_null_list()}
     d.dd[0] = 0
   END
-  CheckDefExecFailure(lines, 'E1147:', 2)
+  v9.CheckDefExecFailure(lines, 'E1147:', 2)
 
   lines =<< trim END
       def OneArg(x: bool)
@@ -827,7 +827,7 @@ def Test_assignment_list()
       enddef
       var fl: list<func(bool, bool, bool)> = [OneArg, TwoArgs]
   END
-  CheckDefExecAndScriptFailure(lines, 'E1012:', 5)
+  v9.CheckDefExecAndScriptFailure(lines, 'E1012:', 5)
 enddef
 
 def Test_list_declaration()
@@ -840,21 +840,21 @@ def Test_list_declaration()
   var lines =<< trim END
       var [v1, v2] = [1]
   END
-  CheckDefExecAndScriptFailure(lines, ['E1093: Expected 2 items but got 1', 'E688:'])
+  v9.CheckDefExecAndScriptFailure(lines, ['E1093: Expected 2 items but got 1', 'E688:'])
   lines =<< trim END
       var testlist = [1]
       var [v1, v2] = testlist
   END
-  CheckDefExecAndScriptFailure(lines, ['E1093: Expected 2 items but got 1', 'E688:'])
+  v9.CheckDefExecAndScriptFailure(lines, ['E1093: Expected 2 items but got 1', 'E688:'])
   lines =<< trim END
       var [v1, v2] = [1, 2, 3]
   END
-  CheckDefExecAndScriptFailure(lines, ['E1093: Expected 2 items but got 3', 'E687:'])
+  v9.CheckDefExecAndScriptFailure(lines, ['E1093: Expected 2 items but got 3', 'E687:'])
   lines =<< trim END
       var testlist = [1, 2, 3]
       var [v1, v2] = testlist
   END
-  CheckDefExecAndScriptFailure(lines, ['E1093: Expected 2 items but got 3', 'E687:'])
+  v9.CheckDefExecAndScriptFailure(lines, ['E1093: Expected 2 items but got 3', 'E687:'])
 
   var [vnr, vstr] = [123, 'text']
   vnr += 3
@@ -876,12 +876,12 @@ def Test_list_declaration()
   lines =<< trim END
       var [vnr2: number, vstr2: number] = [123, 'text']
   END
-  CheckDefExecAndScriptFailure(lines, ['E1163: Variable 2: type mismatch, expected number but got string', 'E1012: Type mismatch; expected number but got string'])
+  v9.CheckDefExecAndScriptFailure(lines, ['E1163: Variable 2: type mismatch, expected number but got string', 'E1012: Type mismatch; expected number but got string'])
   lines =<< trim END
       var testlist = [234, 'text']
       var [vnr2: number, vstr2: number] = testlist
   END
-  CheckDefExecAndScriptFailure(lines, ['E1163: Variable 2: type mismatch, expected number but got string', 'E1012: Type mismatch; expected number but got string'])
+  v9.CheckDefExecAndScriptFailure(lines, ['E1163: Variable 2: type mismatch, expected number but got string', 'E1012: Type mismatch; expected number but got string'])
 enddef
 
 def PartFuncBool(b: bool): string
@@ -893,7 +893,7 @@ def Test_assignment_partial()
       var Partial: func(): string = function(PartFuncBool, [true])
       assert_equal('done', Partial())
   END
-  CheckDefAndScriptSuccess(lines)
+  v9.CheckDefAndScriptSuccess(lines)
 
   lines =<< trim END
       vim9script
@@ -903,7 +903,7 @@ def Test_assignment_partial()
       assert_equal('func()', typename(Ref))
       Ref()
   END
-  CheckScriptSuccess(lines)
+  v9.CheckScriptSuccess(lines)
 
   lines =<< trim END
       vim9script
@@ -921,7 +921,7 @@ def Test_assignment_partial()
       assert_equal(0, nres)
       assert_equal('x', sres)
   END
-  CheckScriptSuccess(lines)
+  v9.CheckScriptSuccess(lines)
 
   lines =<< trim END
       vim9script
@@ -933,7 +933,7 @@ def Test_assignment_partial()
       var Ref = function(Func, [n])
       Ref(0)
   END
-  CheckScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected string but got number')
+  v9.CheckScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected string but got number')
 enddef
 
 def Test_assignment_list_any_index()
@@ -954,7 +954,7 @@ def Test_assignment_list_vim9script()
     [v1, v2, v3] = [1, 2, 3]
     assert_equal([1, 2, 3], [v1, v2, v3])
   END
-  CheckScriptSuccess(lines)
+  v9.CheckScriptSuccess(lines)
 enddef
 
 def Test_assignment_dict()
@@ -981,7 +981,7 @@ def Test_assignment_dict()
     dd.two = 2
     assert_equal({two: 2}, dd)
   END
-  CheckDefAndScriptSuccess(lines)
+  v9.CheckDefAndScriptSuccess(lines)
 
   lines =<< trim END
     var d = {dd: {}}
@@ -990,19 +990,19 @@ def Test_assignment_dict()
     d.dd.y = 4
     assert_equal({dd: {0: 2, x: 3, y: 4}}, d)
   END
-  CheckDefAndScriptSuccess(lines)
+  v9.CheckDefAndScriptSuccess(lines)
 
   lines =<< trim END
     var dd = {one: 1}
     dd.one) = 2
   END
-  CheckDefFailure(lines, 'E488:', 2)
+  v9.CheckDefFailure(lines, 'E488:', 2)
 
   lines =<< trim END
     var dd = {one: 1}
     var dd.one = 2
   END
-  CheckDefAndScriptFailure(lines, 'E1017:', 2)
+  v9.CheckDefAndScriptFailure(lines, 'E1017:', 2)
 
   # empty key can be used
   var dd = {}
@@ -1030,7 +1030,7 @@ def Test_assignment_dict()
       g:myDict->extend({a: 1})
       g:myDict->extend({b: 'x'})
   END
-  CheckDefExecAndScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected dict<number> but got dict<string>', 4)
+  v9.CheckDefExecAndScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected dict<number> but got dict<string>', 4)
   unlet g:myDict
 
   # assignment to script-local dict
@@ -1043,7 +1043,7 @@ def Test_assignment_dict()
     enddef
     assert_equal({a: 43}, FillDict())
   END
-  CheckScriptSuccess(lines)
+  v9.CheckScriptSuccess(lines)
 
   lines =<< trim END
     vim9script
@@ -1055,7 +1055,7 @@ def Test_assignment_dict()
     FillDict()
     assert_equal({a: 43}, test)
   END
-  CheckScriptSuccess(lines)
+  v9.CheckScriptSuccess(lines)
 
   # assignment to global dict
   lines =<< trim END
@@ -1067,7 +1067,7 @@ def Test_assignment_dict()
     enddef
     assert_equal({a: 43}, FillDict())
   END
-  CheckScriptSuccess(lines)
+  v9.CheckScriptSuccess(lines)
 
   # assignment to buffer dict
   lines =<< trim END
@@ -1079,25 +1079,25 @@ def Test_assignment_dict()
     enddef
     assert_equal({a: 43}, FillDict())
   END
-  CheckScriptSuccess(lines)
+  v9.CheckScriptSuccess(lines)
 
   lines =<< trim END
     var d = {dd: test_null_dict()}
     d.dd[0] = 0
   END
-  CheckDefExecFailure(lines, 'E1103:', 2)
+  v9.CheckDefExecFailure(lines, 'E1103:', 2)
 
   lines =<< trim END
     var d = {dd: 'string'}
     d.dd[0] = 0
   END
-  CheckDefExecFailure(lines, 'E1148:', 2)
+  v9.CheckDefExecFailure(lines, 'E1148:', 2)
 
   lines =<< trim END
     var n: any
     n.key = 5
   END
-  CheckDefExecAndScriptFailure(lines, ['E1148:', 'E1203: Dot can only be used on a dictionary: n.key = 5'], 2)
+  v9.CheckDefExecAndScriptFailure(lines, ['E1148:', 'E1203: Dot can only be used on a dictionary: n.key = 5'], 2)
 enddef
 
 def Test_assignment_local()
@@ -1135,7 +1135,7 @@ def Test_assignment_local()
     enddef
     call Test_assignment_local_internal()
   END
-  CheckScriptSuccess(script_lines)
+  v9.CheckScriptSuccess(script_lines)
 enddef
 
 def Test_assignment_default()
@@ -1231,7 +1231,7 @@ def Test_assignment_var_list()
       assert_equal('error', v:errmsg)
       unlet g:globalvar
   END
-  CheckDefAndScriptSuccess(lines)
+  v9.CheckDefAndScriptSuccess(lines)
 
   [g:globalvar, s:scriptvar, b:bufvar] = ['global', 'script', 'buf']
   assert_equal('global', g:globalvar)
@@ -1246,7 +1246,7 @@ def Test_assignment_var_list()
       assert_equal('script', s:scriptvar)
       assert_equal('win', w:winvar)
   END
-  CheckScriptSuccess(lines)
+  v9.CheckScriptSuccess(lines)
 enddef
 
 def Test_assignment_vim9script()
@@ -1297,7 +1297,7 @@ def Test_assignment_vim9script()
     to_var = 3
     assert_equal(3, to_var)
   END
-  CheckScriptSuccess(lines)
+  v9.CheckScriptSuccess(lines)
 
   lines =<< trim END
       vim9script
@@ -1307,7 +1307,7 @@ def Test_assignment_vim9script()
       enddef
       defcompile
   END
-  CheckScriptFailure(lines, 'E1012: Type mismatch; expected number but got string')
+  v9.CheckScriptFailure(lines, 'E1012: Type mismatch; expected number but got string')
 enddef
 
 def Mess(): string
@@ -1316,93 +1316,93 @@ def Mess(): string
 enddef
 
 def Test_assignment_failure()
-  CheckDefFailure(['var name=234'], 'E1004:')
-  CheckDefFailure(['var name =234'], 'E1004:')
-  CheckDefFailure(['var name= 234'], 'E1004:')
+  v9.CheckDefFailure(['var name=234'], 'E1004:')
+  v9.CheckDefFailure(['var name =234'], 'E1004:')
+  v9.CheckDefFailure(['var name= 234'], 'E1004:')
 
-  CheckScriptFailure(['vim9script', 'var name=234'], 'E1004:')
-  CheckScriptFailure(['vim9script', 'var name=234'], "before and after '='")
-  CheckScriptFailure(['vim9script', 'var name =234'], 'E1004:')
-  CheckScriptFailure(['vim9script', 'var name= 234'], 'E1004:')
-  CheckScriptFailure(['vim9script', 'var name = 234', 'name+=234'], 'E1004:')
-  CheckScriptFailure(['vim9script', 'var name = 234', 'name+=234'], "before and after '+='")
-  CheckScriptFailure(['vim9script', 'var name = "x"', 'name..="y"'], 'E1004:')
-  CheckScriptFailure(['vim9script', 'var name = "x"', 'name..="y"'], "before and after '..='")
+  v9.CheckScriptFailure(['vim9script', 'var name=234'], 'E1004:')
+  v9.CheckScriptFailure(['vim9script', 'var name=234'], "before and after '='")
+  v9.CheckScriptFailure(['vim9script', 'var name =234'], 'E1004:')
+  v9.CheckScriptFailure(['vim9script', 'var name= 234'], 'E1004:')
+  v9.CheckScriptFailure(['vim9script', 'var name = 234', 'name+=234'], 'E1004:')
+  v9.CheckScriptFailure(['vim9script', 'var name = 234', 'name+=234'], "before and after '+='")
+  v9.CheckScriptFailure(['vim9script', 'var name = "x"', 'name..="y"'], 'E1004:')
+  v9.CheckScriptFailure(['vim9script', 'var name = "x"', 'name..="y"'], "before and after '..='")
 
-  CheckDefFailure(['var true = 1'], 'E1034:')
-  CheckDefFailure(['var false = 1'], 'E1034:')
-  CheckDefFailure(['var null = 1'], 'E1034:')
-  CheckDefFailure(['var this = 1'], 'E1034:')
+  v9.CheckDefFailure(['var true = 1'], 'E1034:')
+  v9.CheckDefFailure(['var false = 1'], 'E1034:')
+  v9.CheckDefFailure(['var null = 1'], 'E1034:')
+  v9.CheckDefFailure(['var this = 1'], 'E1034:')
 
-  CheckDefFailure(['[a; b; c] = g:list'], 'E452:')
-  CheckDefExecFailure(['var a: number',
+  v9.CheckDefFailure(['[a; b; c] = g:list'], 'E452:')
+  v9.CheckDefExecFailure(['var a: number',
                        '[a] = test_null_list()'], 'E1093:')
-  CheckDefExecFailure(['var a: number',
+  v9.CheckDefExecFailure(['var a: number',
                        '[a] = []'], 'E1093:')
-  CheckDefExecFailure(['var x: number',
+  v9.CheckDefExecFailure(['var x: number',
                        'var y: number',
                        '[x, y] = [1]'], 'E1093:')
-  CheckDefExecFailure(['var x: string',
+  v9.CheckDefExecFailure(['var x: string',
                        'var y: string',
                        '[x, y] = ["x"]'], 'E1093:')
-  CheckDefExecFailure(['var x: number',
+  v9.CheckDefExecFailure(['var x: number',
                        'var y: number',
                        'var z: list<number>',
                        '[x, y; z] = [1]'], 'E1093:')
 
-  CheckDefFailure(['var somevar'], "E1022:")
-  CheckDefFailure(['var &tabstop = 4'], 'E1052:')
-  CheckDefFailure(['&g:option = 5'], 'E113:')
-  CheckScriptFailure(['vim9script', 'var &tabstop = 4'], 'E1052:')
+  v9.CheckDefFailure(['var somevar'], "E1022:")
+  v9.CheckDefFailure(['var &tabstop = 4'], 'E1052:')
+  v9.CheckDefFailure(['&g:option = 5'], 'E113:')
+  v9.CheckScriptFailure(['vim9script', 'var &tabstop = 4'], 'E1052:')
 
-  CheckDefFailure(['var $VAR = 5'], 'E1016: Cannot declare an environment variable:')
-  CheckScriptFailure(['vim9script', 'var $ENV = "xxx"'], 'E1016:')
+  v9.CheckDefFailure(['var $VAR = 5'], 'E1016: Cannot declare an environment variable:')
+  v9.CheckScriptFailure(['vim9script', 'var $ENV = "xxx"'], 'E1016:')
 
   if has('dnd')
-    CheckDefFailure(['var @~ = 5'], 'E1066:')
+    v9.CheckDefFailure(['var @~ = 5'], 'E1066:')
   else
-    CheckDefFailure(['var @~ = 5'], 'E354:')
-    CheckDefFailure(['@~ = 5'], 'E354:')
+    v9.CheckDefFailure(['var @~ = 5'], 'E354:')
+    v9.CheckDefFailure(['@~ = 5'], 'E354:')
   endif
-  CheckDefFailure(['var @a = 5'], 'E1066:')
-  CheckDefFailure(['var @/ = "x"'], 'E1066:')
-  CheckScriptFailure(['vim9script', 'var @a = "abc"'], 'E1066:')
+  v9.CheckDefFailure(['var @a = 5'], 'E1066:')
+  v9.CheckDefFailure(['var @/ = "x"'], 'E1066:')
+  v9.CheckScriptFailure(['vim9script', 'var @a = "abc"'], 'E1066:')
 
-  CheckDefFailure(['var g:var = 5'], 'E1016: Cannot declare a global variable:')
-  CheckDefFailure(['var w:var = 5'], 'E1016: Cannot declare a window variable:')
-  CheckDefFailure(['var b:var = 5'], 'E1016: Cannot declare a buffer variable:')
-  CheckDefFailure(['var t:var = 5'], 'E1016: Cannot declare a tab variable:')
+  v9.CheckDefFailure(['var g:var = 5'], 'E1016: Cannot declare a global variable:')
+  v9.CheckDefFailure(['var w:var = 5'], 'E1016: Cannot declare a window variable:')
+  v9.CheckDefFailure(['var b:var = 5'], 'E1016: Cannot declare a buffer variable:')
+  v9.CheckDefFailure(['var t:var = 5'], 'E1016: Cannot declare a tab variable:')
 
-  CheckDefFailure(['var anr = 4', 'anr ..= "text"'], 'E1019:')
-  CheckDefFailure(['var xnr += 4'], 'E1020:', 1)
-  CheckScriptFailure(['vim9script', 'var xnr += 4'], 'E1020:')
-  CheckDefFailure(["var xnr = xnr + 1"], 'E1001:', 1)
-  CheckScriptFailure(['vim9script', 'var xnr = xnr + 4'], 'E121:')
+  v9.CheckDefFailure(['var anr = 4', 'anr ..= "text"'], 'E1019:')
+  v9.CheckDefFailure(['var xnr += 4'], 'E1020:', 1)
+  v9.CheckScriptFailure(['vim9script', 'var xnr += 4'], 'E1020:')
+  v9.CheckDefFailure(["var xnr = xnr + 1"], 'E1001:', 1)
+  v9.CheckScriptFailure(['vim9script', 'var xnr = xnr + 4'], 'E121:')
 
-  CheckScriptFailure(['vim9script', 'def Func()', 'var dummy = s:notfound', 'enddef', 'defcompile'], 'E1108:')
+  v9.CheckScriptFailure(['vim9script', 'def Func()', 'var dummy = s:notfound', 'enddef', 'defcompile'], 'E1108:')
 
-  CheckDefFailure(['var name: list<string> = [123]'], 'expected list<string> but got list<number>')
-  CheckDefFailure(['var name: list<number> = ["xx"]'], 'expected list<number> but got list<string>')
+  v9.CheckDefFailure(['var name: list<string> = [123]'], 'expected list<string> but got list<number>')
+  v9.CheckDefFailure(['var name: list<number> = ["xx"]'], 'expected list<number> but got list<string>')
 
-  CheckDefFailure(['var name: dict<string> = {key: 123}'], 'expected dict<string> but got dict<number>')
-  CheckDefFailure(['var name: dict<number> = {key: "xx"}'], 'expected dict<number> but got dict<string>')
+  v9.CheckDefFailure(['var name: dict<string> = {key: 123}'], 'expected dict<string> but got dict<number>')
+  v9.CheckDefFailure(['var name: dict<number> = {key: "xx"}'], 'expected dict<number> but got dict<string>')
 
-  CheckDefFailure(['var name = feedkeys("0")'], 'E1031:')
-  CheckDefFailure(['var name: number = feedkeys("0")'], 'expected number but got void')
+  v9.CheckDefFailure(['var name = feedkeys("0")'], 'E1031:')
+  v9.CheckDefFailure(['var name: number = feedkeys("0")'], 'expected number but got void')
 
-  CheckDefFailure(['var name: dict <number>'], 'E1068:')
-  CheckDefFailure(['var name: dict<number'], 'E1009:')
+  v9.CheckDefFailure(['var name: dict <number>'], 'E1068:')
+  v9.CheckDefFailure(['var name: dict<number'], 'E1009:')
 
   assert_fails('s/^/\=Mess()/n', 'E794:')
-  CheckDefFailure(['var name: dict<number'], 'E1009:')
+  v9.CheckDefFailure(['var name: dict<number'], 'E1009:')
 
-  CheckDefFailure(['w:foo: number = 10'],
+  v9.CheckDefFailure(['w:foo: number = 10'],
                   'E488: Trailing characters: : number = 1')
-  CheckDefFailure(['t:foo: bool = true'],
+  v9.CheckDefFailure(['t:foo: bool = true'],
                   'E488: Trailing characters: : bool = true')
-  CheckDefFailure(['b:foo: string = "x"'],
+  v9.CheckDefFailure(['b:foo: string = "x"'],
                   'E488: Trailing characters: : string = "x"')
-  CheckDefFailure(['g:foo: number = 123'],
+  v9.CheckDefFailure(['g:foo: number = 123'],
                   'E488: Trailing characters: : number = 123')
 enddef
 
@@ -1430,10 +1430,10 @@ def Test_assign_list()
       ul[2] = 3
       assert_equal([1, 2, 3], ul)
   END
-  CheckDefAndScriptSuccess(lines)
+  v9.CheckDefAndScriptSuccess(lines)
 
-  CheckDefFailure(["var l: list<number> = ['', true]"], 'E1012: Type mismatch; expected list<number> but got list<any>', 1)
-  CheckDefFailure(["var l: list<list<number>> = [['', true]]"], 'E1012: Type mismatch; expected list<list<number>> but got list<list<any>>', 1)
+  v9.CheckDefFailure(["var l: list<number> = ['', true]"], 'E1012: Type mismatch; expected list<number> but got list<any>', 1)
+  v9.CheckDefFailure(["var l: list<list<number>> = [['', true]]"], 'E1012: Type mismatch; expected list<list<number>> but got list<list<any>>', 1)
 enddef
 
 def Test_assign_dict()
@@ -1457,10 +1457,10 @@ def Test_assign_dict()
       unlet d.somekey
       assert_equal({key: 'value', '123': 'qwerty'}, d)
   END
-  CheckDefAndScriptSuccess(lines)
+  v9.CheckDefAndScriptSuccess(lines)
 
-  CheckDefFailure(["var d: dict<number> = {a: '', b: true}"], 'E1012: Type mismatch; expected dict<number> but got dict<any>', 1)
-  CheckDefFailure(["var d: dict<dict<number>> = {x: {a: '', b: true}}"], 'E1012: Type mismatch; expected dict<dict<number>> but got dict<dict<any>>', 1)
+  v9.CheckDefFailure(["var d: dict<number> = {a: '', b: true}"], 'E1012: Type mismatch; expected dict<number> but got dict<any>', 1)
+  v9.CheckDefFailure(["var d: dict<dict<number>> = {x: {a: '', b: true}}"], 'E1012: Type mismatch; expected dict<dict<number>> but got dict<dict<any>>', 1)
 enddef
 
 def Test_assign_dict_unknown_type()
@@ -1474,7 +1474,7 @@ def Test_assign_dict_unknown_type()
       enddef
       Func()
   END
-  CheckScriptSuccess(lines)
+  v9.CheckScriptSuccess(lines)
 
   lines =<< trim END
       vim9script
@@ -1486,7 +1486,7 @@ def Test_assign_dict_unknown_type()
       enddef
       Func()
   END
-  CheckScriptSuccess(lines)
+  v9.CheckScriptSuccess(lines)
 enddef
 
 def Test_assign_dict_with_op()
@@ -1532,7 +1532,7 @@ def Test_assign_dict_with_op()
     dab.a[0] ..= 'c'
     assert_equal({a: ['bc']}, dab)
   END
-  CheckDefAndScriptSuccess(lines)
+  v9.CheckDefAndScriptSuccess(lines)
 enddef
 
 def Test_assign_list_with_op()
@@ -1557,7 +1557,7 @@ def Test_assign_list_with_op()
     ln[0] %= 3
     assert_equal(2, ln[0])
   END
-  CheckDefAndScriptSuccess(lines)
+  v9.CheckDefAndScriptSuccess(lines)
 enddef
 
 def Test_assign_with_op_fails()
@@ -1565,20 +1565,20 @@ def Test_assign_with_op_fails()
       var s = 'abc'
       s[1] += 'x'
   END
-  CheckDefAndScriptFailure(lines, ['E1141:', 'E689:'], 2)
+  v9.CheckDefAndScriptFailure(lines, ['E1141:', 'E689:'], 2)
 
   lines =<< trim END
       var s = 'abc'
       s[1] ..= 'x'
   END
-  CheckDefAndScriptFailure(lines, ['E1141:', 'E689:'], 2)
+  v9.CheckDefAndScriptFailure(lines, ['E1141:', 'E689:'], 2)
 
   lines =<< trim END
       var dd: dict<dict<list<any>>>
       dd.a = {}
       dd.a.b += [1]
   END
-  CheckDefExecAndScriptFailure(lines, 'E716:', 3)
+  v9.CheckDefExecAndScriptFailure(lines, 'E716:', 3)
 enddef
 
 def Test_assign_lambda()
@@ -1594,18 +1594,18 @@ def Test_assign_lambda()
       var FuncRef_Number: func(): number = () => 321
       assert_equal(321, FuncRef_Number())
   END
-  CheckScriptSuccess(lines)
+  v9.CheckScriptSuccess(lines)
 
   lines =<< trim END
       var Ref: func(number)
       Ref = (j) => !j
   END
-  CheckDefAndScriptFailure(lines, 'E1012: Type mismatch; expected func(number) but got func(any): bool')
+  v9.CheckDefAndScriptFailure(lines, 'E1012: Type mismatch; expected func(number) but got func(any): bool')
 
   lines =<< trim END
       echo filter([1, 2, 3], (_, v: string) => v + 1) 
   END
-  CheckDefAndScriptFailure(lines, 'E1051:')
+  v9.CheckDefAndScriptFailure(lines, 'E1051:')
 enddef
 
 def Test_heredoc()
@@ -1614,8 +1614,8 @@ def Test_heredoc()
   END
   assert_equal(['text'], lines)
 
-  CheckDefFailure(['var lines =<< trim END X', 'END'], 'E488:')
-  CheckDefFailure(['var lines =<< trim END " comment', 'END'], 'E488:')
+  v9.CheckDefFailure(['var lines =<< trim END X', 'END'], 'E488:')
+  v9.CheckDefFailure(['var lines =<< trim END " comment', 'END'], 'E488:')
 
   lines =<< trim [END]
       def Func()
@@ -1625,7 +1625,7 @@ def Test_heredoc()
       enddef
       defcompile
   [END]
-  CheckScriptFailure(lines, 'E1145: Missing heredoc end marker: END')
+  v9.CheckScriptFailure(lines, 'E1145: Missing heredoc end marker: END')
   delfunc! g:Func
 
   lines =<< trim [END]
@@ -1642,7 +1642,7 @@ def Test_heredoc()
       enddef
       call Func()
   [END]
-  CheckScriptFailure(lines, 'E1145: Missing heredoc end marker: END')
+  v9.CheckScriptFailure(lines, 'E1145: Missing heredoc end marker: END')
   delfunc! g:Func
 
   lines =<< trim END
@@ -1651,7 +1651,7 @@ def Test_heredoc()
         bbb
       STOP
   END
-  CheckDefAndScriptFailure(lines, 'E1012: Type mismatch; expected number but got list<string>', 1)
+  v9.CheckDefAndScriptFailure(lines, 'E1012: Type mismatch; expected number but got list<string>', 1)
 enddef
 
 def Test_var_func_call()
@@ -1683,14 +1683,14 @@ def Test_var_missing_type()
     vim9script
     var name = g:unknown
   END
-  CheckScriptFailure(lines, 'E121:')
+  v9.CheckScriptFailure(lines, 'E121:')
 
   lines =<< trim END
     vim9script
     var nr: number = 123
     var name = nr
   END
-  CheckScriptSuccess(lines)
+  v9.CheckScriptSuccess(lines)
 enddef
 
 def Test_var_declaration()
@@ -1757,7 +1757,7 @@ def Test_var_declaration()
     enddef
     ChangeAdict()
   END
-  CheckScriptSuccess(lines)
+  v9.CheckScriptSuccess(lines)
   assert_equal('', g:var_uninit)
   assert_equal('text', g:var_test)
   assert_equal('prefixed', g:var_prefixed)
@@ -1782,14 +1782,14 @@ def Test_var_declaration_fails()
     vim9script
     final var: string
   END
-  CheckScriptFailure(lines, 'E1125:')
+  v9.CheckScriptFailure(lines, 'E1125:')
 
   lines =<< trim END
     vim9script
     const g:constvar = 'string'
     g:constvar = 'xx'
   END
-  CheckScriptFailure(lines, 'E741:')
+  v9.CheckScriptFailure(lines, 'E741:')
   unlet g:constvar
 
   lines =<< trim END
@@ -1801,7 +1801,7 @@ def Test_var_declaration_fails()
     enddef
     SetLocked()
   END
-  CheckScriptFailure(lines, 'E741: Value is locked: name', 1)
+  v9.CheckScriptFailure(lines, 'E741: Value is locked: name', 1)
 
   lines =<< trim END
     let s:legacy = 'one'
@@ -1811,7 +1811,7 @@ def Test_var_declaration_fails()
     enddef
     call SetLocked()
   END
-  CheckScriptFailure(lines, 'E741: Value is locked: s:legacy', 1)
+  v9.CheckScriptFailure(lines, 'E741: Value is locked: s:legacy', 1)
 
   lines =<< trim END
     vim9script
@@ -1821,7 +1821,7 @@ def Test_var_declaration_fails()
     SetGlobalConst()
     g:globConst = 234
   END
-  CheckScriptFailure(lines, 'E741: Value is locked: g:globConst', 6)
+  v9.CheckScriptFailure(lines, 'E741: Value is locked: g:globConst', 6)
   unlet g:globConst
 
   lines =<< trim END
@@ -1832,31 +1832,31 @@ def Test_var_declaration_fails()
     enddef
     defcompile
   END
-  CheckScriptFailure(lines, 'E46:')
+  v9.CheckScriptFailure(lines, 'E46:')
 
   lines =<< trim END
     vim9script
     final w:finalvar = [9]
     w:finalvar = [8]
   END
-  CheckScriptFailure(lines, 'E1122:')
+  v9.CheckScriptFailure(lines, 'E1122:')
   unlet w:finalvar
 
   lines =<< trim END
     vim9script
     const var: string
   END
-  CheckScriptFailure(lines, 'E1021:')
+  v9.CheckScriptFailure(lines, 'E1021:')
 
   lines =<< trim END
     vim9script
     var 9var: string
   END
-  CheckScriptFailure(lines, 'E488:')
+  v9.CheckScriptFailure(lines, 'E488:')
 
-  CheckDefFailure(['var foo.bar = 2'], 'E1087:')
-  CheckDefFailure(['var foo[3] = 2'], 'E1087:')
-  CheckDefFailure(['const foo: number'], 'E1021:')
+  v9.CheckDefFailure(['var foo.bar = 2'], 'E1087:')
+  v9.CheckDefFailure(['var foo[3] = 2'], 'E1087:')
+  v9.CheckDefFailure(['const foo: number'], 'E1021:')
 enddef
 
 def Test_script_local_in_legacy()
@@ -1870,7 +1870,7 @@ def Test_script_local_in_legacy()
     call SetLater()
     call assert_equal('two', s:legvar)
   END
-  CheckScriptSuccess(lines)
+  v9.CheckScriptSuccess(lines)
 
   # OK to leave out s: prefix when script-local already defined
   lines =<< trim END
@@ -1881,7 +1881,7 @@ def Test_script_local_in_legacy()
     call SetNoPrefix()
     call assert_equal('two', s:legvar)
   END
-  CheckScriptSuccess(lines)
+  v9.CheckScriptSuccess(lines)
 
   # Not OK to leave out s: prefix when script-local defined later
   lines =<< trim END
@@ -1891,14 +1891,14 @@ def Test_script_local_in_legacy()
     defcompile
     let s:legvar = 'one'
   END
-  CheckScriptFailure(lines, 'E476:', 1)
+  v9.CheckScriptFailure(lines, 'E476:', 1)
 
   edit! Xfile
   lines =<< trim END
       var edit: bool
       legacy edit
   END
-  CheckDefAndScriptSuccess(lines)
+  v9.CheckDefAndScriptSuccess(lines)
 enddef
 
 def Test_var_type_check()
@@ -1907,35 +1907,35 @@ def Test_var_type_check()
     var name: string
     name = 1234
   END
-  CheckScriptFailure(lines, 'E1012:')
+  v9.CheckScriptFailure(lines, 'E1012:')
 
   lines =<< trim END
     vim9script
     var name:string
   END
-  CheckScriptFailure(lines, 'E1069:')
+  v9.CheckScriptFailure(lines, 'E1069:')
 
-  CheckDefAndScriptFailure(['var n:number = 42'], 'E1069:')
+  v9.CheckDefAndScriptFailure(['var n:number = 42'], 'E1069:')
 
   lines =<< trim END
     vim9script
     var name: asdf
   END
-  CheckScriptFailure(lines, 'E1010:')
+  v9.CheckScriptFailure(lines, 'E1010:')
 
   lines =<< trim END
     vim9script
     var s:l: list<number>
     s:l = []
   END
-  CheckScriptSuccess(lines)
+  v9.CheckScriptSuccess(lines)
 
   lines =<< trim END
     vim9script
     var s:d: dict<number>
     s:d = {}
   END
-  CheckScriptSuccess(lines)
+  v9.CheckScriptSuccess(lines)
 
   lines =<< trim END
     vim9script
@@ -1945,7 +1945,7 @@ def Test_var_type_check()
     enddef
     defcompile
   END
-  CheckScriptSuccess(lines)
+  v9.CheckScriptSuccess(lines)
 enddef
 
 let g:dict_number = #{one: 1, two: 2}
@@ -1963,11 +1963,11 @@ def Test_var_list_dict_type()
       var ll: list<number>
       ll = [1, 2, 3]->map('"one"')
   END
-  CheckDefExecFailure(lines, 'E1012: Type mismatch; expected list<number> but got list<string>')
+  v9.CheckDefExecFailure(lines, 'E1012: Type mismatch; expected list<number> but got list<string>')
 enddef
 
 def Test_cannot_use_let()
-  CheckDefAndScriptFailure(['let a = 34'], 'E1126:', 1)
+  v9.CheckDefAndScriptFailure(['let a = 34'], 'E1126:', 1)
 enddef
 
 def Test_unlet()
@@ -1984,7 +1984,7 @@ def Test_unlet()
   assert_false(exists('s:somevar'))
   unlet! s:somevar
 
-  CheckDefExecFailure([
+  v9.CheckDefExecFailure([
     'var dd = 111',
     'unlet dd',
     ], 'E1081:', 2)
@@ -2013,41 +2013,41 @@ def Test_unlet()
   unlet ll[-2 : -1]
   assert_equal([1, 2], ll)
 
-  CheckDefFailure([
+  v9.CheckDefFailure([
     'var ll = [1, 2]',
     'll[1 : 2] = 7',
     ], 'E1012: Type mismatch; expected list<number> but got number', 2)
-  CheckDefFailure([
+  v9.CheckDefFailure([
     'var dd = {a: 1}',
     'unlet dd["a" : "a"]',
     ], 'E1166:', 2)
-  CheckDefExecFailure([
+  v9.CheckDefExecFailure([
     'unlet g:adict[0 : 1]',
     ], 'E1148:', 1)
-  CheckDefFailure([
+  v9.CheckDefFailure([
     'var ll = [1, 2]',
     'unlet ll[0:1]',
     ], 'E1004:', 2)
-  CheckDefFailure([
+  v9.CheckDefFailure([
     'var ll = [1, 2]',
     'unlet ll[0 :1]',
     ], 'E1004:', 2)
-  CheckDefFailure([
+  v9.CheckDefFailure([
     'var ll = [1, 2]',
     'unlet ll[0: 1]',
     ], 'E1004:', 2)
   # command recognized as assignment when skipping, should not give an error
-  CheckScriptSuccess([
+  v9.CheckScriptSuccess([
     'vim9script',
     'for i in []',
     "  put =''",
     'endfor'])
 
-  CheckDefFailure([
+  v9.CheckDefFailure([
     'var ll = [1, 2]',
     'unlet ll["x" : 1]',
     ], 'E1012:', 2)
-  CheckDefFailure([
+  v9.CheckDefFailure([
     'var ll = [1, 2]',
     'unlet ll[0 : "x"]',
     ], 'E1012:', 2)
@@ -2057,27 +2057,27 @@ def Test_unlet()
   unlet dl[0]['b']
   assert_equal([{a: 1}, {c: 3}], dl)
 
-  CheckDefExecFailure([
+  v9.CheckDefExecFailure([
     'var ll = test_null_list()',
     'unlet ll[0]',
     ], 'E684:', 2)
-  CheckDefExecFailure([
+  v9.CheckDefExecFailure([
     'var ll = [1]',
     'unlet ll[2]',
     ], 'E684:', 2)
-  CheckDefExecFailure([
+  v9.CheckDefExecFailure([
     'var ll = [1]',
     'unlet ll[g:astring]',
     ], 'E1012:', 2)
-  CheckDefExecFailure([
+  v9.CheckDefExecFailure([
     'var dd = test_null_dict()',
     'unlet dd["a"]',
     ], 'E716:', 2)
-  CheckDefExecFailure([
+  v9.CheckDefExecFailure([
     'var dd = {a: 1}',
     'unlet dd["b"]',
     ], 'E716:', 2)
-  CheckDefExecFailure([
+  v9.CheckDefExecFailure([
     'var dd = {a: 1}',
     'unlet dd[g:alist]',
     ], 'E1105:', 2)
@@ -2090,17 +2090,17 @@ def Test_unlet()
   unlet g:someDict
   assert_false(exists('g:someDict'))
 
-  CheckScriptFailure([
+  v9.CheckScriptFailure([
    'vim9script',
    'var svar = 123',
    'unlet svar',
    ], 'E1081:')
-  CheckScriptFailure([
+  v9.CheckScriptFailure([
    'vim9script',
    'var svar = 123',
    'unlet s:svar',
    ], 'E1081:')
-  CheckScriptFailure([
+  v9.CheckScriptFailure([
    'vim9script',
    'var svar = 123',
    'def Func()',
@@ -2108,7 +2108,7 @@ def Test_unlet()
    'enddef',
    'defcompile',
    ], 'E1081:')
-  CheckScriptFailure([
+  v9.CheckScriptFailure([
    'vim9script',
    'var svar = 123',
    'func Func()',
@@ -2116,7 +2116,7 @@ def Test_unlet()
    'endfunc',
    'Func()',
    ], 'E1081:')
-  CheckScriptFailure([
+  v9.CheckScriptFailure([
    'vim9script',
    'var svar = 123',
    'def Func()',
@@ -2125,7 +2125,7 @@ def Test_unlet()
    'defcompile',
    ], 'E1081:')
 
-  CheckScriptFailure([
+  v9.CheckScriptFailure([
    'vim9script',
    'def Delcount(dict: dict<any>)',
    '  unlet dict.count',
@@ -2133,7 +2133,7 @@ def Test_unlet()
    'Delcount(v:)',
    ], 'E742:')
 
-  CheckScriptFailure([
+  v9.CheckScriptFailure([
    'vim9script',
    'def DelChangedtick(dict: dict<any>)',
    '  unlet dict.changedtick',
@@ -2150,7 +2150,7 @@ def Test_unlet()
     enddef
     defcompile
   END
-  CheckScriptFailure(lines, 'E1260:', 1)
+  v9.CheckScriptFailure(lines, 'E1260:', 1)
   delete('XunletExport.vim')
 
   $ENVVAR = 'foobar'
@@ -2165,26 +2165,26 @@ def Test_expr_error_no_assign()
       var x = invalid
       echo x
   END
-  CheckScriptFailureList(lines, ['E121:', 'E121:'])
+  v9.CheckScriptFailureList(lines, ['E121:', 'E121:'])
 
   lines =<< trim END
       vim9script
       var x = 1 / 0
       echo x
   END
-  CheckScriptFailure(lines, 'E1154:')
+  v9.CheckScriptFailure(lines, 'E1154:')
 
   lines =<< trim END
       vim9script
       var x = 1 % 0
       echo x
   END
-  CheckScriptFailure(lines, 'E1154:')
+  v9.CheckScriptFailure(lines, 'E1154:')
 
   lines =<< trim END
       var x: string  'string'
   END
-  CheckDefAndScriptFailure(lines, 'E488:')
+  v9.CheckDefAndScriptFailure(lines, 'E488:')
 enddef
 
 
@@ -2212,7 +2212,7 @@ def Test_assign_command_modifier()
       assert_equal(1, x)
       assert_equal(2, y)
   END
-  CheckDefAndScriptSuccess(lines)
+  v9.CheckDefAndScriptSuccess(lines)
 enddef
 
 def Test_assign_alt_buf_register()
@@ -2225,7 +2225,7 @@ def Test_assign_alt_buf_register()
       @# = b2
       assert_equal(b2, bufnr('#'))
   END
-  CheckDefAndScriptSuccess(lines)
+  v9.CheckDefAndScriptSuccess(lines)
 enddef
 
 def Test_script_funcref_case()
@@ -2233,25 +2233,25 @@ def Test_script_funcref_case()
       var Len = (s: string): number => len(s) + 1
       assert_equal(5, Len('asdf'))
   END
-  CheckDefAndScriptSuccess(lines)
+  v9.CheckDefAndScriptSuccess(lines)
 
   lines =<< trim END
       var len = (s: string): number => len(s) + 1
   END
-  CheckDefAndScriptFailure(lines, 'E704:')
+  v9.CheckDefAndScriptFailure(lines, 'E704:')
 
   lines =<< trim END
       vim9script
       var s:Len = (s: string): number => len(s) + 2
       assert_equal(6, Len('asdf'))
   END
-  CheckScriptSuccess(lines)
+  v9.CheckScriptSuccess(lines)
 
   lines =<< trim END
       vim9script
       var s:len = (s: string): number => len(s) + 1
   END
-  CheckScriptFailure(lines, 'E704:')
+  v9.CheckScriptFailure(lines, 'E704:')
 enddef
 
 def Test_script_funcref_runtime_type_check()
@@ -2265,10 +2265,10 @@ def Test_script_funcref_runtime_type_che
       defcompile
   END
   # OK at compile time
-  CheckScriptSuccess(lines)
+  v9.CheckScriptSuccess(lines)
 
   # Type check fails at runtime
-  CheckScriptFailure(lines + ['Test()'], 'E1012: Type mismatch; expected func(string) but got func(number)')
+  v9.CheckScriptFailure(lines + ['Test()'], 'E1012: Type mismatch; expected func(string) but got func(number)')
 enddef
 
 def Test_inc_dec()
@@ -2294,13 +2294,13 @@ def Test_inc_dec()
       assert_equal(1, g:count)
       unlet g:count
   END
-  CheckDefAndScriptSuccess(lines)
+  v9.CheckDefAndScriptSuccess(lines)
 
   lines =<< trim END
       var nr = 7
       ++ nr
   END
-  CheckDefAndScriptFailure(lines, "E1202: No white space allowed after '++': ++ nr")
+  v9.CheckDefAndScriptFailure(lines, "E1202: No white space allowed after '++': ++ nr")
 enddef
 
 def Test_abort_after_error()
@@ -2325,13 +2325,13 @@ endfunc
 def Run_Test_declare_command_line()
   # On the command line the type is parsed but not used.
   # To get rid of the script context have to run this in another Vim instance.
-  var buf = RunVimInTerminal('', {'rows': 6})
+  var buf = g:RunVimInTerminal('', {'rows': 6})
   term_sendkeys(buf, ":vim9 var abc: list<list<number>> = [ [1, 2, 3], [4, 5, 6] ]\<CR>")
-  TermWait(buf)
+  g:TermWait(buf)
   term_sendkeys(buf, ":echo abc\<CR>")
-  TermWait(buf)
-  WaitForAssert(() => assert_match('\[\[1, 2, 3\], \[4, 5, 6\]\]', term_getline(buf, 6)))
-  StopVimInTerminal(buf)
+  g:TermWait(buf)
+  g:WaitForAssert(() => assert_match('\[\[1, 2, 3\], \[4, 5, 6\]\]', term_getline(buf, 6)))
+  g:StopVimInTerminal(buf)
 enddef