# HG changeset patch # User Bram Moolenaar # Date 1601222404 -7200 # Node ID 2765ae0ce02eec4518cb564f3f34bc508f127bb5 # Parent 6fd8be66696c0dc215fff8fa25c8233981d5dfe4 patch 8.2.1759: Vim9: Some tests are still using :let Commit: https://github.com/vim/vim/commit/37ce6d3a6ab7c7864de6788feb67377e8bbffa63 Author: Bram Moolenaar Date: Sun Sep 27 17:57:43 2020 +0200 patch 8.2.1759: Vim9: Some tests are still using :let Problem: Vim9: Some tests are still using :let. Solution: Change more declarations to use :var. diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim --- a/src/testdir/test_vim9_expr.vim +++ b/src/testdir/test_vim9_expr.vim @@ -3,6 +3,8 @@ source check.vim source vim9.vim +" TODO: remove later +let v:disallow_let = 1 let g:cond = v:false def FuncOne(arg: number): string @@ -28,8 +30,8 @@ def Test_expr1() assert_equal('one', 0z1234 ? 'one' : 'two') assert_equal('one', [0] ? 'one' : 'two') assert_equal('one', #{x: 0} ? 'one' : 'two') - let var = 1 - assert_equal('one', var ? 'one' : 'two') + var name = 1 + assert_equal('one', name ? 'one' : 'two') assert_equal('two', false ? 'one' : 'two') assert_equal('two', 0 ? 'one' : 'two') @@ -40,33 +42,33 @@ def Test_expr1() assert_equal('two', 0z ? 'one' : 'two') assert_equal('two', [] ? 'one' : 'two') assert_equal('two', {} ? 'one' : 'two') - var = 0 - assert_equal('two', var ? 'one' : 'two') + name = 0 + assert_equal('two', name ? 'one' : 'two') # with constant condition expression is not evaluated assert_equal('one', 1 ? 'one' : xxx) - let Some: func = function('len') - let Other: func = function('winnr') - let Res: func = g:atrue ? Some : Other + var Some: func = function('len') + var Other: func = function('winnr') + var Res: func = g:atrue ? Some : Other assert_equal(function('len'), Res) - let RetOne: func(string): number = function('len') - let RetTwo: func(string): number = function('winnr') - let RetThat: func = g:atrue ? RetOne : RetTwo + var RetOne: func(string): number = function('len') + var RetTwo: func(string): number = function('winnr') + var RetThat: func = g:atrue ? RetOne : RetTwo assert_equal(function('len'), RetThat) - let X = FuncOne - let Y = FuncTwo - let Z = g:cond ? FuncOne : FuncTwo + var X = FuncOne + var Y = FuncTwo + var Z = g:cond ? FuncOne : FuncTwo assert_equal(123, Z(3)) enddef def Test_expr1_vimscript() # check line continuation - let lines =<< trim END + var lines =<< trim END vim9script - let var = 1 + var var = 1 ? 'yes' : 'no' assert_equal('yes', var) @@ -75,7 +77,7 @@ def Test_expr1_vimscript() lines =<< trim END vim9script - let var = v:false + var var = v:false ? 'yes' : 'no' assert_equal('no', var) @@ -84,7 +86,7 @@ def Test_expr1_vimscript() lines =<< trim END vim9script - let var = v:false ? + var var = v:false ? 'yes' : 'no' assert_equal('no', var) @@ -94,27 +96,27 @@ def Test_expr1_vimscript() # check white space lines =<< trim END vim9script - let var = v:true?1:2 + var var = v:true?1:2 END CheckScriptFailure(lines, 'E1004:', 2) lines =<< trim END vim9script - let var = v:true? 1 : 2 + var var = v:true? 1 : 2 END CheckScriptFailure(lines, 'E1004:', 2) lines =<< trim END vim9script - let var = v:true ?1 : 2 + var var = v:true ?1 : 2 END CheckScriptFailure(lines, 'E1004:', 2) lines =<< trim END vim9script - let var = v:true ? 1: 2 + var var = v:true ? 1: 2 END CheckScriptFailure(lines, 'E1004:', 2) lines =<< trim END vim9script - let var = v:true ? 1 :2 + var var = v:true ? 1 :2 END CheckScriptFailure(lines, 'E1004:', 2) @@ -141,23 +143,23 @@ def Test_expr1_vimscript() enddef func Test_expr1_fails() - call CheckDefFailure(["let x = 1 ? 'one'"], "Missing ':' after '?'", 1) + call CheckDefFailure(["var x = 1 ? 'one'"], "Missing ':' after '?'", 1) let msg = "White space required before and after '?'" - call CheckDefFailure(["let x = 1? 'one' : 'two'"], msg, 1) - call CheckDefFailure(["let x = 1 ?'one' : 'two'"], msg, 1) - call CheckDefFailure(["let x = 1?'one' : 'two'"], msg, 1) + call CheckDefFailure(["var x = 1? 'one' : 'two'"], msg, 1) + call CheckDefFailure(["var x = 1 ?'one' : 'two'"], msg, 1) + call CheckDefFailure(["var x = 1?'one' : 'two'"], msg, 1) let msg = "White space required before and after ':'" - call CheckDefFailure(["let x = 1 ? 'one': 'two'"], msg, 1) - call CheckDefFailure(["let x = 1 ? 'one' :'two'"], msg, 1) - call CheckDefFailure(["let x = 1 ? 'one':'two'"], msg, 1) + call CheckDefFailure(["var x = 1 ? 'one': 'two'"], msg, 1) + call CheckDefFailure(["var x = 1 ? 'one' :'two'"], msg, 1) + call CheckDefFailure(["var x = 1 ? 'one':'two'"], msg, 1) " missing argument detected even when common type is used call CheckDefFailure([ - \ 'let X = FuncOne', - \ 'let Y = FuncTwo', - \ 'let Z = g:cond ? FuncOne : FuncTwo', + \ 'var X = FuncOne', + \ 'var Y = FuncTwo', + \ 'var Z = g:cond ? FuncOne : FuncTwo', \ 'Z()'], 'E119:', 4) endfunc @@ -199,9 +201,9 @@ enddef def Test_expr2_vimscript() # check line continuation - let lines =<< trim END + var lines =<< trim END vim9script - let var = 0 + var var = 0 || 1 assert_equal(1, var) END @@ -209,7 +211,7 @@ def Test_expr2_vimscript() lines =<< trim END vim9script - let var = v:false + var var = v:false || v:true || v:false assert_equal(v:true, var) @@ -218,7 +220,7 @@ def Test_expr2_vimscript() lines =<< trim END vim9script - let var = v:false || + var var = v:false || v:true || v:false assert_equal(v:true, var) @@ -228,17 +230,17 @@ def Test_expr2_vimscript() # check white space lines =<< trim END vim9script - let var = v:true||v:true + var var = v:true||v:true END CheckScriptFailure(lines, 'E1004:', 2) lines =<< trim END vim9script - let var = v:true ||v:true + var var = v:true ||v:true END CheckScriptFailure(lines, 'E1004:', 2) lines =<< trim END vim9script - let var = v:true|| v:true + var var = v:true|| v:true END CheckScriptFailure(lines, 'E1004:', 2) @@ -277,11 +279,11 @@ enddef func Test_expr2_fails() let msg = "White space required before and after '||'" - call CheckDefFailure(["let x = 1||2"], msg, 1) - call CheckDefFailure(["let x = 1 ||2"], msg, 1) - call CheckDefFailure(["let x = 1|| 2"], msg, 1) + call CheckDefFailure(["var x = 1||2"], msg, 1) + call CheckDefFailure(["var x = 1 ||2"], msg, 1) + call CheckDefFailure(["var x = 1|| 2"], msg, 1) - call CheckDefFailure(["let x = 1 || xxx"], 'E1001:', 1) + call CheckDefFailure(["var x = 1 || xxx"], 'E1001:', 1) endfunc " test && @@ -320,9 +322,9 @@ enddef def Test_expr3_vimscript() # check line continuation - let lines =<< trim END + var lines =<< trim END vim9script - let var = 0 + var var = 0 && 1 assert_equal(0, var) END @@ -330,7 +332,7 @@ def Test_expr3_vimscript() lines =<< trim END vim9script - let var = v:true + var var = v:true && v:true && v:true assert_equal(v:true, var) @@ -339,7 +341,7 @@ def Test_expr3_vimscript() lines =<< trim END vim9script - let var = v:true && + var var = v:true && v:true && v:true assert_equal(v:true, var) @@ -349,17 +351,17 @@ def Test_expr3_vimscript() # check white space lines =<< trim END vim9script - let var = v:true&&v:true + var var = v:true&&v:true END CheckScriptFailure(lines, 'E1004:', 2) lines =<< trim END vim9script - let var = v:true &&v:true + var var = v:true &&v:true END CheckScriptFailure(lines, 'E1004:', 2) lines =<< trim END vim9script - let var = v:true&& v:true + var var = v:true&& v:true END CheckScriptFailure(lines, 'E1004:', 2) @@ -402,9 +404,9 @@ enddef func Test_expr3_fails() let msg = "White space required before and after '&&'" - call CheckDefFailure(["let x = 1&&2"], msg, 1) - call CheckDefFailure(["let x = 1 &&2"], msg, 1) - call CheckDefFailure(["let x = 1&& 2"], msg, 1) + call CheckDefFailure(["var x = 1&&2"], msg, 1) + call CheckDefFailure(["var x = 1 &&2"], msg, 1) + call CheckDefFailure(["var x = 1&& 2"], msg, 1) endfunc " global variables to use for tests with the "any" type @@ -425,8 +427,8 @@ let adict = #{aaa: 2, bbb: 8} " test == comperator def Test_expr4_equal() - let trueVar = true - let falseVar = false + var trueVar = true + var falseVar = false assert_equal(true, true == true) assert_equal(false, true == false) @@ -441,8 +443,8 @@ def Test_expr4_equal() assert_equal(true, g:anone == v:none) assert_equal(false, v:none == g:anull) - let nr0 = 0 - let nr61 = 61 + var nr0 = 0 + var nr61 = 61 assert_equal(false, 2 == 0) assert_equal(false, 2 == nr0) assert_equal(true, 61 == 61) @@ -451,7 +453,7 @@ def Test_expr4_equal() assert_equal(false, 61 == g:anint) if has('float') - let ff = 0.3 + var ff = 0.3 assert_equal(true, ff == 0.3) assert_equal(false, 0.4 == ff) assert_equal(true, 0.1 == g:afloat) @@ -480,10 +482,10 @@ def Test_expr4_equal() assert_equal(false, 'abc' ==# 'ABC') set noignorecase - CheckDefFailure(["let x = 'a' == xxx"], 'E1001:', 1) - CheckDefExecFailure(['let items: any', 'eval 1', 'eval 2', 'if items == []', 'endif'], 'E691:', 4) + CheckDefFailure(["var x = 'a' == xxx"], 'E1001:', 1) + CheckDefExecFailure(['var items: any', 'eval 1', 'eval 2', 'if items == []', 'endif'], 'E691:', 4) - let bb = 0z3f + var bb = 0z3f assert_equal(true, 0z3f == bb) assert_equal(false, bb == 0z4f) assert_equal(true, g:ablob == 0z01ab) @@ -510,8 +512,8 @@ def Test_expr4_equal() assert_equal(false, function('g:Test_expr4_equal', [123]) == function('g:Test_expr4_is', [123])) assert_equal(false, function('g:Test_expr4_equal', [123]) == function('g:Test_expr4_equal', [999])) - let OneFunc: func - let TwoFunc: func + var OneFunc: func + var TwoFunc: func OneFunc = function('len') TwoFunc = function('len') assert_equal(true, OneFunc('abc') == TwoFunc('123')) @@ -519,8 +521,8 @@ enddef " test != comperator def Test_expr4_notequal() - let trueVar = true - let falseVar = false + var trueVar = true + var falseVar = false assert_equal(false, true != true) assert_equal(true, true != false) @@ -535,8 +537,8 @@ def Test_expr4_notequal() assert_equal(false, g:anone != v:none) assert_equal(true, v:none != g:anull) - let nr55 = 55 - let nr0 = 55 + var nr55 = 55 + var nr0 = 55 assert_equal(true, 2 != 0) assert_equal(true, 2 != nr0) assert_equal(false, 55 != 55) @@ -545,7 +547,7 @@ def Test_expr4_notequal() assert_equal(true, 61 != g:anint) if has('float') - let ff = 0.3 + var ff = 0.3 assert_equal(false, 0.3 != ff) assert_equal(true, 0.4 != ff) assert_equal(false, 0.1 != g:afloat) @@ -569,7 +571,7 @@ def Test_expr4_notequal() assert_equal(true, 'abc' != 'ABC') set noignorecase - let bb = 0z3f + var bb = 0z3f assert_equal(false, 0z3f != bb) assert_equal(true, bb != 0z4f) assert_equal(false, g:ablob != 0z01ab) @@ -604,7 +606,7 @@ def Test_expr4_greater() 1) assert_false(2 > 2) assert_false(2 > 3) - let nr2 = 2 + var nr2 = 2 assert_true(nr2 > 0) assert_true(nr2 > 1) @@ -612,7 +614,7 @@ def Test_expr4_greater() assert_false(nr2 > 3) if has('float') - let ff = 2.0 + var ff = 2.0 assert_true(ff > 0.0) assert_true(ff > 1.0) assert_false(ff > 2.0) @@ -626,12 +628,12 @@ def Test_expr4_greaterequal() assert_true(2 >= 2) assert_false(2 >= 3) - let nr2 = 2 + var nr2 = 2 assert_true(nr2 >= 0) assert_true(nr2 >= 2) assert_false(nr2 >= 3) if has('float') - let ff = 2.0 + var ff = 2.0 assert_true(ff >= 0.0) assert_true(ff >= 2.0) assert_false(ff >= 3.0) @@ -645,12 +647,12 @@ def Test_expr4_smaller() 2) assert_true(2 < 3) - let nr2 = 2 + var nr2 = 2 assert_false(nr2 < 0) assert_false(nr2 < 2) assert_true(nr2 < 3) if has('float') - let ff = 2.0 + var ff = 2.0 assert_false(ff < 0.0) assert_false(ff < 2.0) assert_true(ff < 3.0) @@ -665,13 +667,13 @@ def Test_expr4_smallerequal() assert_true(2 <= 2) assert_true(2 <= 3) - let nr2 = 2 + var nr2 = 2 assert_false(nr2 <= 0) assert_false(nr2 <= 1) assert_true(nr2 <= 2) assert_true(nr2 <= 3) if has('float') - let ff = 2.0 + var ff = 2.0 assert_false(ff <= 0.0) assert_false(ff <= 1.0) assert_true(ff <= 2.0) @@ -699,44 +701,44 @@ enddef " test is comperator def Test_expr4_is() - let mylist = [2] + var mylist = [2] assert_false(mylist is [2]) - let other = mylist + var other = mylist assert_true(mylist is other) - let myblob = 0z1234 + var myblob = 0z1234 assert_false(myblob is 0z1234) - let otherblob = myblob + var otherblob = myblob assert_true(myblob is otherblob) enddef " test isnot comperator def Test_expr4_isnot() - let mylist = [2] + var mylist = [2] assert_true('2' isnot '0') assert_true(mylist isnot [2]) - let other = mylist + var other = mylist assert_false(mylist isnot other) - let myblob = 0z1234 + var myblob = 0z1234 assert_true(myblob isnot 0z1234) - let otherblob = myblob + var otherblob = myblob assert_false(myblob isnot otherblob) enddef def RetVoid() - let x = 1 + var x = 1 enddef def Test_expr4_vim9script() # check line continuation - let lines =<< trim END + var lines =<< trim END vim9script - let var = 0 + var var = 0 < 1 assert_equal(true, var) END @@ -744,7 +746,7 @@ def Test_expr4_vim9script() lines =<< trim END vim9script - let var = 123 + var var = 123 != 123 assert_equal(false, var) END @@ -752,7 +754,7 @@ def Test_expr4_vim9script() lines =<< trim END vim9script - let var = 123 == + var var = 123 == 123 assert_equal(true, var) END @@ -760,19 +762,19 @@ def Test_expr4_vim9script() lines =<< trim END vim9script - let list = [1, 2, 3] - let var = list + var list = [1, 2, 3] + var name = list is list - assert_equal(true, var) + assert_equal(true, name) END CheckScriptSuccess(lines) lines =<< trim END vim9script - let myblob = 0z1234 - let var = myblob + var myblob = 0z1234 + var name = myblob isnot 0z11 - assert_equal(true, var) + assert_equal(true, name) END CheckScriptSuccess(lines) @@ -854,7 +856,7 @@ def Test_expr4_vim9script() lines =<< trim END vim9script - let line = 'abc' + var line = 'abc' echo line[1] =~ '\w' END CheckScriptSuccess(lines) @@ -862,71 +864,71 @@ enddef func Test_expr4_fails() let msg = "White space required before and after '>'" - call CheckDefFailure(["let x = 1>2"], msg, 1) - call CheckDefFailure(["let x = 1 >2"], msg, 1) - call CheckDefFailure(["let x = 1> 2"], msg, 1) + call CheckDefFailure(["var x = 1>2"], msg, 1) + call CheckDefFailure(["var x = 1 >2"], msg, 1) + call CheckDefFailure(["var x = 1> 2"], msg, 1) let msg = "White space required before and after '=='" - call CheckDefFailure(["let x = 1==2"], msg, 1) - call CheckDefFailure(["let x = 1 ==2"], msg, 1) - call CheckDefFailure(["let x = 1== 2"], msg, 1) + call CheckDefFailure(["var x = 1==2"], msg, 1) + call CheckDefFailure(["var x = 1 ==2"], msg, 1) + call CheckDefFailure(["var x = 1== 2"], msg, 1) let msg = "White space required before and after 'is'" - call CheckDefFailure(["let x = '1'is'2'"], msg, 1) - call CheckDefFailure(["let x = '1' is'2'"], msg, 1) - call CheckDefFailure(["let x = '1'is '2'"], msg, 1) + call CheckDefFailure(["var x = '1'is'2'"], msg, 1) + call CheckDefFailure(["var x = '1' is'2'"], msg, 1) + call CheckDefFailure(["var x = '1'is '2'"], msg, 1) let msg = "White space required before and after 'isnot'" - call CheckDefFailure(["let x = '1'isnot'2'"], msg, 1) - call CheckDefFailure(["let x = '1' isnot'2'"], msg, 1) - call CheckDefFailure(["let x = '1'isnot '2'"], msg, 1) + call CheckDefFailure(["var x = '1'isnot'2'"], msg, 1) + call CheckDefFailure(["var x = '1' isnot'2'"], msg, 1) + call CheckDefFailure(["var x = '1'isnot '2'"], msg, 1) - call CheckDefFailure(["let x = 1 is# 2"], 'E15:', 1) - call CheckDefFailure(["let x = 1 is? 2"], 'E15:', 1) - call CheckDefFailure(["let x = 1 isnot# 2"], 'E15:', 1) - call CheckDefFailure(["let x = 1 isnot? 2"], 'E15:', 1) + call CheckDefFailure(["var x = 1 is# 2"], 'E15:', 1) + call CheckDefFailure(["var x = 1 is? 2"], 'E15:', 1) + call CheckDefFailure(["var x = 1 isnot# 2"], 'E15:', 1) + call CheckDefFailure(["var x = 1 isnot? 2"], 'E15:', 1) - call CheckDefFailure(["let x = 1 == '2'"], 'Cannot compare number with string', 1) - call CheckDefFailure(["let x = '1' == 2"], 'Cannot compare string with number', 1) - call CheckDefFailure(["let x = 1 == RetVoid()"], 'Cannot compare number with void', 1) - call CheckDefFailure(["let x = RetVoid() == 1"], 'Cannot compare void with number', 1) + call CheckDefFailure(["var x = 1 == '2'"], 'Cannot compare number with string', 1) + call CheckDefFailure(["var x = '1' == 2"], 'Cannot compare string with number', 1) + call CheckDefFailure(["var x = 1 == RetVoid()"], 'Cannot compare number with void', 1) + call CheckDefFailure(["var x = RetVoid() == 1"], 'Cannot compare void with number', 1) - call CheckDefFailure(["let x = true > false"], 'Cannot compare bool with bool', 1) - call CheckDefFailure(["let x = true >= false"], 'Cannot compare bool with bool', 1) - call CheckDefFailure(["let x = true < false"], 'Cannot compare bool with bool', 1) - call CheckDefFailure(["let x = true <= false"], 'Cannot compare bool with bool', 1) - call CheckDefFailure(["let x = true =~ false"], 'Cannot compare bool with bool', 1) - call CheckDefFailure(["let x = true !~ false"], 'Cannot compare bool with bool', 1) - call CheckDefFailure(["let x = true is false"], 'Cannot use "is" with bool', 1) - call CheckDefFailure(["let x = true isnot false"], 'Cannot use "isnot" with bool', 1) + call CheckDefFailure(["var x = true > false"], 'Cannot compare bool with bool', 1) + call CheckDefFailure(["var x = true >= false"], 'Cannot compare bool with bool', 1) + call CheckDefFailure(["var x = true < false"], 'Cannot compare bool with bool', 1) + call CheckDefFailure(["var x = true <= false"], 'Cannot compare bool with bool', 1) + call CheckDefFailure(["var x = true =~ false"], 'Cannot compare bool with bool', 1) + call CheckDefFailure(["var x = true !~ false"], 'Cannot compare bool with bool', 1) + call CheckDefFailure(["var x = true is false"], 'Cannot use "is" with bool', 1) + call CheckDefFailure(["var x = true isnot false"], 'Cannot use "isnot" with bool', 1) - call CheckDefFailure(["let x = v:none is v:null"], 'Cannot use "is" with special', 1) - call CheckDefFailure(["let x = v:none isnot v:null"], 'Cannot use "isnot" with special', 1) - call CheckDefFailure(["let x = 123 is 123"], 'Cannot use "is" with number', 1) - call CheckDefFailure(["let x = 123 isnot 123"], 'Cannot use "isnot" with number', 1) + call CheckDefFailure(["var x = v:none is v:null"], 'Cannot use "is" with special', 1) + call CheckDefFailure(["var x = v:none isnot v:null"], 'Cannot use "isnot" with special', 1) + call CheckDefFailure(["var x = 123 is 123"], 'Cannot use "is" with number', 1) + call CheckDefFailure(["var x = 123 isnot 123"], 'Cannot use "isnot" with number', 1) if has('float') - call CheckDefFailure(["let x = 1.3 is 1.3"], 'Cannot use "is" with float', 1) - call CheckDefFailure(["let x = 1.3 isnot 1.3"], 'Cannot use "isnot" with float', 1) + call CheckDefFailure(["var x = 1.3 is 1.3"], 'Cannot use "is" with float', 1) + call CheckDefFailure(["var x = 1.3 isnot 1.3"], 'Cannot use "isnot" with float', 1) endif - call CheckDefFailure(["let x = 0za1 > 0z34"], 'Cannot compare blob with blob', 1) - call CheckDefFailure(["let x = 0za1 >= 0z34"], 'Cannot compare blob with blob', 1) - call CheckDefFailure(["let x = 0za1 < 0z34"], 'Cannot compare blob with blob', 1) - call CheckDefFailure(["let x = 0za1 <= 0z34"], 'Cannot compare blob with blob', 1) - call CheckDefFailure(["let x = 0za1 =~ 0z34"], 'Cannot compare blob with blob', 1) - call CheckDefFailure(["let x = 0za1 !~ 0z34"], 'Cannot compare blob with blob', 1) + call CheckDefFailure(["var x = 0za1 > 0z34"], 'Cannot compare blob with blob', 1) + call CheckDefFailure(["var x = 0za1 >= 0z34"], 'Cannot compare blob with blob', 1) + call CheckDefFailure(["var x = 0za1 < 0z34"], 'Cannot compare blob with blob', 1) + call CheckDefFailure(["var x = 0za1 <= 0z34"], 'Cannot compare blob with blob', 1) + call CheckDefFailure(["var x = 0za1 =~ 0z34"], 'Cannot compare blob with blob', 1) + call CheckDefFailure(["var x = 0za1 !~ 0z34"], 'Cannot compare blob with blob', 1) - call CheckDefFailure(["let x = [13] > [88]"], 'Cannot compare list with list', 1) - call CheckDefFailure(["let x = [13] >= [88]"], 'Cannot compare list with list', 1) - call CheckDefFailure(["let x = [13] < [88]"], 'Cannot compare list with list', 1) - call CheckDefFailure(["let x = [13] <= [88]"], 'Cannot compare list with list', 1) - call CheckDefFailure(["let x = [13] =~ [88]"], 'Cannot compare list with list', 1) - call CheckDefFailure(["let x = [13] !~ [88]"], 'Cannot compare list with list', 1) + call CheckDefFailure(["var x = [13] > [88]"], 'Cannot compare list with list', 1) + call CheckDefFailure(["var x = [13] >= [88]"], 'Cannot compare list with list', 1) + call CheckDefFailure(["var x = [13] < [88]"], 'Cannot compare list with list', 1) + call CheckDefFailure(["var x = [13] <= [88]"], 'Cannot compare list with list', 1) + call CheckDefFailure(["var x = [13] =~ [88]"], 'Cannot compare list with list', 1) + call CheckDefFailure(["var x = [13] !~ [88]"], 'Cannot compare list with list', 1) - call CheckDefFailure(['let j: job', 'let chan: channel', 'let r = j == chan'], 'Cannot compare job with channel', 3) - call CheckDefFailure(['let j: job', 'let x: list', 'let r = j == x'], 'Cannot compare job with list', 3) - call CheckDefFailure(['let j: job', 'let Xx: func', 'let r = j == Xx'], 'Cannot compare job with func', 3) - call CheckDefFailure(['let j: job', 'let Xx: func', 'let r = j == Xx'], 'Cannot compare job with func', 3) + call CheckDefFailure(['var j: job', 'var chan: channel', 'var r = j == chan'], 'Cannot compare job with channel', 3) + call CheckDefFailure(['var j: job', 'var x: list', 'var r = j == x'], 'Cannot compare job with list', 3) + call CheckDefFailure(['var j: job', 'var Xx: func', 'var r = j == Xx'], 'Cannot compare job with func', 3) + call CheckDefFailure(['var j: job', 'var Xx: func', 'var r = j == Xx'], 'Cannot compare job with func', 3) endfunc " test addition, subtraction, concatenation @@ -970,7 +972,7 @@ def Test_expr5() assert_equal(0z01ab01ab, g:ablob + g:ablob) # concatenate non-constant to constant - let save_path = &path + var save_path = &path &path = 'b' assert_equal('ab', 'a' .. &path) &path = save_path @@ -984,9 +986,9 @@ enddef def Test_expr5_vim9script() # check line continuation - let lines =<< trim END + var lines =<< trim END vim9script - let var = 11 + var var = 11 + 77 - 22 assert_equal(66, var) @@ -995,7 +997,7 @@ def Test_expr5_vim9script() lines =<< trim END vim9script - let var = 11 + + var var = 11 + 77 - 22 assert_equal(66, var) @@ -1004,7 +1006,7 @@ def Test_expr5_vim9script() lines =<< trim END vim9script - let var = 'one' + var var = 'one' .. 'two' assert_equal('onetwo', var) END @@ -1112,7 +1114,7 @@ def Test_expr5_vim9script_channel() if !has('channel') MissingFeature 'float' else - let lines =<< trim END + var lines =<< trim END vim9script echo 'a' .. test_null_job() END @@ -1152,40 +1154,40 @@ enddef func Test_expr5_fails() let msg = "White space required before and after '+'" - call CheckDefFailure(["let x = 1+2"], msg, 1) - call CheckDefFailure(["let x = 1 +2"], msg, 1) - call CheckDefFailure(["let x = 1+ 2"], msg, 1) + call CheckDefFailure(["var x = 1+2"], msg, 1) + call CheckDefFailure(["var x = 1 +2"], msg, 1) + call CheckDefFailure(["var x = 1+ 2"], msg, 1) let msg = "White space required before and after '-'" - call CheckDefFailure(["let x = 1-2"], msg, 1) - call CheckDefFailure(["let x = 1 -2"], msg, 1) - call CheckDefFailure(["let x = 1- 2"], msg, 1) + call CheckDefFailure(["var x = 1-2"], msg, 1) + call CheckDefFailure(["var x = 1 -2"], msg, 1) + call CheckDefFailure(["var x = 1- 2"], msg, 1) let msg = "White space required before and after '..'" - call CheckDefFailure(["let x = '1'..'2'"], msg, 1) - call CheckDefFailure(["let x = '1' ..'2'"], msg, 1) - call CheckDefFailure(["let x = '1'.. '2'"], msg, 1) + call CheckDefFailure(["var x = '1'..'2'"], msg, 1) + call CheckDefFailure(["var x = '1' ..'2'"], msg, 1) + call CheckDefFailure(["var x = '1'.. '2'"], msg, 1) - call CheckDefFailure(["let x = 0z1122 + 33"], 'E1051', 1) - call CheckDefFailure(["let x = 0z1122 + [3]"], 'E1051', 1) - call CheckDefFailure(["let x = 0z1122 + 'asd'"], 'E1051', 1) - call CheckDefFailure(["let x = 33 + 0z1122"], 'E1051', 1) - call CheckDefFailure(["let x = [3] + 0z1122"], 'E1051', 1) - call CheckDefFailure(["let x = 'asdf' + 0z1122"], 'E1051', 1) - call CheckDefFailure(["let x = 6 + xxx"], 'E1001', 1) + call CheckDefFailure(["var x = 0z1122 + 33"], 'E1051', 1) + call CheckDefFailure(["var x = 0z1122 + [3]"], 'E1051', 1) + call CheckDefFailure(["var x = 0z1122 + 'asd'"], 'E1051', 1) + call CheckDefFailure(["var x = 33 + 0z1122"], 'E1051', 1) + call CheckDefFailure(["var x = [3] + 0z1122"], 'E1051', 1) + call CheckDefFailure(["var x = 'asdf' + 0z1122"], 'E1051', 1) + call CheckDefFailure(["var x = 6 + xxx"], 'E1001', 1) - call CheckDefFailure(["let x = 'a' .. [1]"], 'E1105', 1) - call CheckDefFailure(["let x = 'a' .. #{a: 1}"], 'E1105', 1) - call CheckDefFailure(["let x = 'a' .. test_void()"], 'E1105', 1) - call CheckDefFailure(["let x = 'a' .. 0z32"], 'E1105', 1) - call CheckDefFailure(["let x = 'a' .. function('len')"], 'E1105', 1) - call CheckDefFailure(["let x = 'a' .. function('len', ['a'])"], 'E1105', 1) + call CheckDefFailure(["var x = 'a' .. [1]"], 'E1105', 1) + call CheckDefFailure(["var x = 'a' .. #{a: 1}"], 'E1105', 1) + call CheckDefFailure(["var x = 'a' .. test_void()"], 'E1105', 1) + call CheckDefFailure(["var x = 'a' .. 0z32"], 'E1105', 1) + call CheckDefFailure(["var x = 'a' .. function('len')"], 'E1105', 1) + call CheckDefFailure(["var x = 'a' .. function('len', ['a'])"], 'E1105', 1) endfunc func Test_expr5_fails_channel() CheckFeature channel - call CheckDefFailure(["let x = 'a' .. test_null_job()"], 'E1105', 1) - call CheckDefFailure(["let x = 'a' .. test_null_channel()"], 'E1105', 1) + call CheckDefFailure(["var x = 'a' .. test_null_job()"], 'E1105', 1) + call CheckDefFailure(["var x = 'a' .. test_null_channel()"], 'E1105', 1) endfunc " test multiply, divide, modulo @@ -1213,27 +1215,27 @@ def Test_expr6() assert_equal(4, 6 * 4 / 6) - let x = [2] - let y = [3] + var x = [2] + var y = [3] assert_equal(5, x[0] + y[0]) assert_equal(6, x[0] * y[0]) if has('float') - let xf = [2.0] - let yf = [3.0] + var xf = [2.0] + var yf = [3.0] assert_equal(5.0, xf[0] + yf[0]) assert_equal(6.0, xf[0] * yf[0]) endif - CheckDefFailure(["let x = 6 * xxx"], 'E1001', 1) + CheckDefFailure(["var x = 6 * xxx"], 'E1001', 1) enddef def Test_expr6_vim9script() # check line continuation - let lines =<< trim END + var lines =<< trim END vim9script - let var = 11 + var var = 11 * 22 / 3 assert_equal(80, var) @@ -1242,7 +1244,7 @@ def Test_expr6_vim9script() lines =<< trim END vim9script - let var = 25 + var var = 25 % 10 assert_equal(5, var) END @@ -1250,7 +1252,7 @@ def Test_expr6_vim9script() lines =<< trim END vim9script - let var = 11 * + var var = 11 * 22 / 3 assert_equal(80, var) @@ -1307,45 +1309,45 @@ enddef func Test_expr6_fails() let msg = "White space required before and after '*'" - call CheckDefFailure(["let x = 1*2"], msg, 1) - call CheckDefFailure(["let x = 1 *2"], msg, 1) - call CheckDefFailure(["let x = 1* 2"], msg, 1) + call CheckDefFailure(["var x = 1*2"], msg, 1) + call CheckDefFailure(["var x = 1 *2"], msg, 1) + call CheckDefFailure(["var x = 1* 2"], msg, 1) let msg = "White space required before and after '/'" - call CheckDefFailure(["let x = 1/2"], msg, 1) - call CheckDefFailure(["let x = 1 /2"], msg, 1) - call CheckDefFailure(["let x = 1/ 2"], msg, 1) + call CheckDefFailure(["var x = 1/2"], msg, 1) + call CheckDefFailure(["var x = 1 /2"], msg, 1) + call CheckDefFailure(["var x = 1/ 2"], msg, 1) let msg = "White space required before and after '%'" - call CheckDefFailure(["let x = 1%2"], msg, 1) - call CheckDefFailure(["let x = 1 %2"], msg, 1) - call CheckDefFailure(["let x = 1% 2"], msg, 1) + call CheckDefFailure(["var x = 1%2"], msg, 1) + call CheckDefFailure(["var x = 1 %2"], msg, 1) + call CheckDefFailure(["var x = 1% 2"], msg, 1) - call CheckDefFailure(["let x = '1' * '2'"], 'E1036:', 1) - call CheckDefFailure(["let x = '1' / '2'"], 'E1036:', 1) - call CheckDefFailure(["let x = '1' % '2'"], 'E1035:', 1) + call CheckDefFailure(["var x = '1' * '2'"], 'E1036:', 1) + call CheckDefFailure(["var x = '1' / '2'"], 'E1036:', 1) + call CheckDefFailure(["var x = '1' % '2'"], 'E1035:', 1) - call CheckDefFailure(["let x = 0z01 * 0z12"], 'E1036:', 1) - call CheckDefFailure(["let x = 0z01 / 0z12"], 'E1036:', 1) - call CheckDefFailure(["let x = 0z01 % 0z12"], 'E1035:', 1) + call CheckDefFailure(["var x = 0z01 * 0z12"], 'E1036:', 1) + call CheckDefFailure(["var x = 0z01 / 0z12"], 'E1036:', 1) + call CheckDefFailure(["var x = 0z01 % 0z12"], 'E1035:', 1) - call CheckDefFailure(["let x = [1] * [2]"], 'E1036:', 1) - call CheckDefFailure(["let x = [1] / [2]"], 'E1036:', 1) - call CheckDefFailure(["let x = [1] % [2]"], 'E1035:', 1) + call CheckDefFailure(["var x = [1] * [2]"], 'E1036:', 1) + call CheckDefFailure(["var x = [1] / [2]"], 'E1036:', 1) + call CheckDefFailure(["var x = [1] % [2]"], 'E1035:', 1) - call CheckDefFailure(["let x = #{one: 1} * #{two: 2}"], 'E1036:', 1) - call CheckDefFailure(["let x = #{one: 1} / #{two: 2}"], 'E1036:', 1) - call CheckDefFailure(["let x = #{one: 1} % #{two: 2}"], 'E1035:', 1) + call CheckDefFailure(["var x = #{one: 1} * #{two: 2}"], 'E1036:', 1) + call CheckDefFailure(["var x = #{one: 1} / #{two: 2}"], 'E1036:', 1) + call CheckDefFailure(["var x = #{one: 1} % #{two: 2}"], 'E1035:', 1) - call CheckDefFailure(["let x = 0xff[1]"], 'E1107:', 1) + call CheckDefFailure(["var x = 0xff[1]"], 'E1107:', 1) if has('float') - call CheckDefFailure(["let x = 0.7[1]"], 'E1107:', 1) + call CheckDefFailure(["var x = 0.7[1]"], 'E1107:', 1) endif endfunc func Test_expr6_float_fails() CheckFeature float - call CheckDefFailure(["let x = 1.0 % 2"], 'E1035:', 1) + call CheckDefFailure(["var x = 1.0 % 2"], 'E1035:', 1) endfunc " define here to use old style parsing @@ -1378,14 +1380,14 @@ let $TESTVAR = 'testvar' " type casts def Test_expr7t() - let ls: list = ['a', g:string_empty] - let ln: list = [g:anint, g:thefour] - let nr = 234 + var ls: list = ['a', g:string_empty] + var ln: list = [g:anint, g:thefour] + var nr = 234 assert_equal(234, nr) - CheckDefFailure(["let x = 123"], 'E1010:', 1) - CheckDefFailure(["let x = 123"], 'E1068:', 1) - CheckDefFailure(["let x = 123"], 'E1010:', 1) + CheckDefFailure(["var x = 123"], 'E1068:', 1) + CheckDefFailure(["var x = = v:oldfiles - let compl: dict = v:completed_item + var old: list = v:oldfiles + var compl: dict = v:completed_item - CheckDefFailure(["let old: list = v:oldfiles"], 'E1012: Type mismatch; expected list but got list', 1) + CheckDefFailure(["var old: list = v:oldfiles"], 'E1012: Type mismatch; expected list but got list', 1) new exec "normal! afoo fo\\" - CheckDefExecFailure(["let old: dict = v:completed_item"], 'E1012: Type mismatch; expected dict but got dict', 1) + CheckDefExecFailure(["var old: dict = v:completed_item"], 'E1012: Type mismatch; expected dict but got dict', 1) bwipe! enddef @@ -1472,10 +1474,10 @@ def Test_expr7_special() enddef def Test_expr7_special_vim9script() - let lines =<< trim END + var lines =<< trim END vim9script - let t = true - let f = false + var t = true + var f = false assert_equal(v:true, true) assert_equal(true, t) assert_equal(v:false, false) @@ -1497,15 +1499,15 @@ def Test_expr7_list() assert_equal(g:list_empty, []) assert_equal(g:list_empty, [ ]) - let numbers: list = [1, 2, 3] + var numbers: list = [1, 2, 3] numbers = [1] numbers = [] - let strings: list = ['a', 'b', 'c'] + var strings: list = ['a', 'b', 'c'] strings = ['x'] strings = [] - let mixed: list = [1, 'b', false,] + var mixed: list = [1, 'b', false,] assert_equal(g:list_mixed, mixed) assert_equal('b', mixed[1]) @@ -1513,7 +1515,7 @@ def Test_expr7_list() 2] [3, 4] - let llstring: list> = [['text'], []] + var llstring: list> = [['text'], []] llstring = [[], ['text']] llstring = [[], []] @@ -1521,30 +1523,30 @@ def Test_expr7_list() g:rangelist = range(3) CheckDefExecFailure(["var x: list = g:rangelist"], 'E1012: Type mismatch; expected list but got list', 1) - CheckDefFailure(["let x = 1234[3]"], 'E1107:', 1) - CheckDefExecFailure(["let x = g:anint[3]"], 'E1062:', 1) + CheckDefFailure(["var x = 1234[3]"], 'E1107:', 1) + CheckDefExecFailure(["var x = g:anint[3]"], 'E1062:', 1) - CheckDefFailure(["let x = g:list_mixed[xxx]"], 'E1001:', 1) + CheckDefFailure(["var x = g:list_mixed[xxx]"], 'E1001:', 1) - CheckDefFailure(["let x = [1,2,3]"], 'E1069:', 1) - CheckDefFailure(["let x = [1 ,2, 3]"], 'E1068:', 1) + CheckDefFailure(["var x = [1,2,3]"], 'E1069:', 1) + CheckDefFailure(["var x = [1 ,2, 3]"], 'E1068:', 1) - CheckDefExecFailure(["echo 1", "let x = [][0]", "echo 3"], 'E684:', 2) + CheckDefExecFailure(["echo 1", "var x = [][0]", "echo 3"], 'E684:', 2) - CheckDefExecFailure(["let x = g:list_mixed['xx']"], 'E1012:', 1) - CheckDefFailure(["let x = g:list_mixed["], 'E1097:', 2) - CheckDefFailure(["let x = g:list_mixed[0"], 'E1097:', 2) - CheckDefExecFailure(["let x = g:list_empty[3]"], 'E684:', 1) - CheckDefExecFailure(["let l: list = [234, 'x']"], 'E1012:', 1) - CheckDefExecFailure(["let l: list = ['x', 234]"], 'E1012:', 1) - CheckDefExecFailure(["let l: list = [234, 'x']"], 'E1012:', 1) - CheckDefExecFailure(["let l: list = ['x', 123]"], 'E1012:', 1) + CheckDefExecFailure(["var x = g:list_mixed['xx']"], 'E1012:', 1) + CheckDefFailure(["var x = g:list_mixed["], 'E1097:', 2) + CheckDefFailure(["var x = g:list_mixed[0"], 'E1097:', 2) + CheckDefExecFailure(["var x = g:list_empty[3]"], 'E684:', 1) + CheckDefExecFailure(["var l: list = [234, 'x']"], 'E1012:', 1) + CheckDefExecFailure(["var l: list = ['x', 234]"], 'E1012:', 1) + CheckDefExecFailure(["var l: list = [234, 'x']"], 'E1012:', 1) + CheckDefExecFailure(["var l: list = ['x', 123]"], 'E1012:', 1) enddef def Test_expr7_list_vim9script() - let lines =<< trim END + var lines =<< trim END vim9script - let l = [ + var l = [ 11, 22, ] @@ -1558,7 +1560,7 @@ def Test_expr7_list_vim9script() lines =<< trim END vim9script - let l = [11, + var l = [11, 22] assert_equal([11, 22], l) END @@ -1566,34 +1568,34 @@ def Test_expr7_list_vim9script() lines =<< trim END vim9script - let l = [11,22] + var l = [11,22] END CheckScriptFailure(lines, 'E1069:', 2) lines =<< trim END vim9script - let l = [11 , 22] + var l = [11 , 22] END CheckScriptFailure(lines, 'E1068:', 2) lines =<< trim END vim9script - let l: list = [234, 'x'] + var l: list = [234, 'x'] END CheckScriptFailure(lines, 'E1012:', 2) lines =<< trim END vim9script - let l: list = ['x', 234] + var l: list = ['x', 234] END CheckScriptFailure(lines, 'E1012:', 2) lines =<< trim END vim9script - let l: list = ['x', 234] + var l: list = ['x', 234] END CheckScriptFailure(lines, 'E1012:', 2) lines =<< trim END vim9script - let l: list = [234, 'x'] + var l: list = [234, 'x'] END CheckScriptFailure(lines, 'E1012:', 2) enddef @@ -1619,12 +1621,12 @@ def LambdaUsingArg(x: number): func enddef def Test_expr7_lambda() - let La = { -> 'result'} + var La = { -> 'result'} assert_equal('result', La()) assert_equal([1, 3, 5], [1, 2, 3]->map({key, val -> key + val})) # line continuation inside lambda with "cond ? expr : expr" works - let ll = range(3) + var ll = range(3) map(ll, {k, v -> v % 2 ? { '111': 111 } : {} }) @@ -1644,7 +1646,7 @@ def Test_expr7_lambda() }) assert_equal([111, 222, 111], ll) - let dl = [{'key': 0}, {'key': 22}]->filter({ _, v -> v['key'] }) + var dl = [{'key': 0}, {'key': 22}]->filter({ _, v -> v['key'] }) assert_equal([{'key': 22}], dl) dl = [{'key': 12}, {'foo': 34}] @@ -1661,21 +1663,21 @@ def Test_expr7_lambda() CheckDefFailure(["filter([1, 2], {k,v -> 1})"], 'E1069:', 1) # error is in first line of the lambda - CheckDefFailure(["let L = {a -> a + b}"], 'E1001:', 0) + CheckDefFailure(["var L = {a -> a + b}"], 'E1001:', 0) assert_equal('xxxyyy', 'xxx'->{a, b -> a .. b}('yyy')) - CheckDefExecFailure(["let s = 'asdf'->{a -> a}('x')"], + CheckDefExecFailure(["var s = 'asdf'->{a -> a}('x')"], 'E1106: One argument too many') - CheckDefExecFailure(["let s = 'asdf'->{a -> a}('x', 'y')"], + CheckDefExecFailure(["var s = 'asdf'->{a -> a}('x', 'y')"], 'E1106: 2 arguments too many') CheckDefFailure(["echo 'asdf'->{a -> a}(x)"], 'E1001:', 1) enddef def Test_expr7_lambda_vim9script() - let lines =<< trim END + var lines =<< trim END vim9script - let v = 10->{a -> + var v = 10->{a -> a + 2 }() @@ -1694,11 +1696,11 @@ def Test_expr7_lambda_vim9script() enddef def Test_epxr7_funcref() - let lines =<< trim END + var lines =<< trim END def RetNumber(): number return 123 enddef - let FuncRef = RetNumber + var FuncRef = RetNumber assert_equal(123, FuncRef()) END CheckDefAndScriptSuccess(lines) @@ -1709,57 +1711,57 @@ def Test_expr7_dict() assert_equal(g:dict_empty, {}) assert_equal(g:dict_empty, { }) assert_equal(g:dict_one, {'one': 1}) - let key = 'one' - let val = 1 + var key = 'one' + var val = 1 assert_equal(g:dict_one, {key: val}) - let numbers: dict = #{a: 1, b: 2, c: 3} + var numbers: dict = #{a: 1, b: 2, c: 3} numbers = #{a: 1} numbers = #{} - let strings: dict = #{a: 'a', b: 'b', c: 'c'} + var strings: dict = #{a: 'a', b: 'b', c: 'c'} strings = #{a: 'x'} strings = #{} - let mixed: dict = #{a: 'a', b: 42} + var mixed: dict = #{a: 'a', b: 42} mixed = #{a: 'x'} mixed = #{a: 234} mixed = #{} - let dictlist: dict> = #{absent: [], present: ['hi']} + var dictlist: dict> = #{absent: [], present: ['hi']} dictlist = #{absent: ['hi'], present: []} dictlist = #{absent: [], present: []} - let dictdict: dict> = #{one: #{a: 'text'}, two: #{}} + var dictdict: dict> = #{one: #{a: 'text'}, two: #{}} dictdict = #{one: #{}, two: #{a: 'text'}} dictdict = #{one: #{}, two: #{}} - CheckDefFailure(["let x = #{a:8}"], 'E1069:', 1) - CheckDefFailure(["let x = #{a : 8}"], 'E1068:', 1) - CheckDefFailure(["let x = #{a :8}"], 'E1068:', 1) - CheckDefFailure(["let x = #{a: 8 , b: 9}"], 'E1068:', 1) + CheckDefFailure(["var x = #{a:8}"], 'E1069:', 1) + CheckDefFailure(["var x = #{a : 8}"], 'E1068:', 1) + CheckDefFailure(["var x = #{a :8}"], 'E1068:', 1) + CheckDefFailure(["var x = #{a: 8 , b: 9}"], 'E1068:', 1) - CheckDefFailure(["let x = #{8: 8}"], 'E1014:', 1) - CheckDefFailure(["let x = #{xxx}"], 'E720:', 1) - CheckDefFailure(["let x = #{xxx: 1", "let y = 2"], 'E722:', 2) - CheckDefFailure(["let x = #{xxx: 1,"], 'E723:', 2) - CheckDefFailure(["let x = {'a': xxx}"], 'E1001:', 1) - CheckDefFailure(["let x = {xxx: 8}"], 'E1001:', 1) - CheckDefFailure(["let x = #{a: 1, a: 2}"], 'E721:', 1) - CheckDefFailure(["let x = #"], 'E1015:', 1) - CheckDefExecFailure(["let x = g:anint.member"], 'E715:', 1) - CheckDefExecFailure(["let x = g:dict_empty.member"], 'E716:', 1) + CheckDefFailure(["var x = #{8: 8}"], 'E1014:', 1) + CheckDefFailure(["var x = #{xxx}"], 'E720:', 1) + CheckDefFailure(["var x = #{xxx: 1", "var y = 2"], 'E722:', 2) + CheckDefFailure(["var x = #{xxx: 1,"], 'E723:', 2) + CheckDefFailure(["var x = {'a': xxx}"], 'E1001:', 1) + CheckDefFailure(["var x = {xxx: 8}"], 'E1001:', 1) + CheckDefFailure(["var x = #{a: 1, a: 2}"], 'E721:', 1) + CheckDefFailure(["var x = #"], 'E1015:', 1) + CheckDefExecFailure(["var x = g:anint.member"], 'E715:', 1) + CheckDefExecFailure(["var x = g:dict_empty.member"], 'E716:', 1) - CheckDefExecFailure(['let x: dict = #{a: 234, b: "1"}'], 'E1012:', 1) - CheckDefExecFailure(['let x: dict = #{a: "x", b: 134}'], 'E1012:', 1) - CheckDefExecFailure(['let x: dict = #{a: 234, b: "1"}'], 'E1012:', 1) - CheckDefExecFailure(['let x: dict = #{a: "x", b: 134}'], 'E1012:', 1) + CheckDefExecFailure(['var x: dict = #{a: 234, b: "1"}'], 'E1012:', 1) + CheckDefExecFailure(['var x: dict = #{a: "x", b: 134}'], 'E1012:', 1) + CheckDefExecFailure(['var x: dict = #{a: 234, b: "1"}'], 'E1012:', 1) + CheckDefExecFailure(['var x: dict = #{a: "x", b: 134}'], 'E1012:', 1) enddef def Test_expr7_dict_vim9script() - let lines =<< trim END + var lines =<< trim END vim9script - let d = { + var d = { 'one': 1, 'two': 2, @@ -1770,14 +1772,14 @@ def Test_expr7_dict_vim9script() lines =<< trim END vim9script - let d = { "one": "one", "two": "two", } + var d = { "one": "one", "two": "two", } assert_equal({'one': 'one', 'two': 'two'}, d) END CheckScriptSuccess(lines) lines =<< trim END vim9script - let d = #{one: 1, + var d = #{one: 1, two: 2, } assert_equal({'one': 1, 'two': 2}, d) @@ -1786,52 +1788,52 @@ def Test_expr7_dict_vim9script() lines =<< trim END vim9script - let d = #{one:1, two: 2} + var d = #{one:1, two: 2} END CheckScriptFailure(lines, 'E1069:', 2) lines =<< trim END vim9script - let d = #{one: 1,two: 2} + var d = #{one: 1,two: 2} END CheckScriptFailure(lines, 'E1069:', 2) lines =<< trim END vim9script - let d = #{one : 1} + var d = #{one : 1} END CheckScriptFailure(lines, 'E1068:', 2) lines =<< trim END vim9script - let d = #{one:1} + var d = #{one:1} END CheckScriptFailure(lines, 'E1069:', 2) lines =<< trim END vim9script - let d = #{one: 1 , two: 2} + var d = #{one: 1 , two: 2} END CheckScriptFailure(lines, 'E1068:', 2) lines =<< trim END vim9script - let l: dict = #{a: 234, b: 'x'} + var l: dict = #{a: 234, b: 'x'} END CheckScriptFailure(lines, 'E1012:', 2) lines =<< trim END vim9script - let l: dict = #{a: 'x', b: 234} + var l: dict = #{a: 'x', b: 234} END CheckScriptFailure(lines, 'E1012:', 2) lines =<< trim END vim9script - let l: dict = #{a: 'x', b: 234} + var l: dict = #{a: 'x', b: 234} END CheckScriptFailure(lines, 'E1012:', 2) lines =<< trim END vim9script - let l: dict = #{a: 234, b: 'x'} + var l: dict = #{a: 234, b: 'x'} END CheckScriptFailure(lines, 'E1012:', 2) enddef @@ -1840,7 +1842,7 @@ let g:oneString = 'one' def Test_expr_member() assert_equal(1, g:dict_one.one) - let d: dict = g:dict_one + var d: dict = g:dict_one assert_equal(1, d['one']) assert_equal(1, d[ 'one' @@ -1857,13 +1859,13 @@ def Test_expr_member() assert_equal('one', #{one: 'one'}.one) assert_equal('one', #{one: 'one'}[g:oneString]) - CheckDefFailure(["let x = g:dict_one.#$!"], 'E1002:', 1) - CheckDefExecFailure(["let d: dict", "echo d['a']"], 'E716:', 2) - CheckDefExecFailure(["let d: dict", "d = g:list_empty"], 'E1012: Type mismatch; expected dict but got list', 2) + CheckDefFailure(["var x = g:dict_one.#$!"], 'E1002:', 1) + CheckDefExecFailure(["var d: dict", "echo d['a']"], 'E716:', 2) + CheckDefExecFailure(["var d: dict", "d = g:list_empty"], 'E1012: Type mismatch; expected dict but got list', 2) enddef def Test_expr7_any_index_slice() - let lines =<< trim END + var lines =<< trim END # getting the one member should clear the list only after getting the item assert_equal('bbb', ['aaa', 'bbb', 'ccc'][1]) @@ -1950,9 +1952,9 @@ def Test_expr7_any_index_slice() enddef def Test_expr_member_vim9script() - let lines =<< trim END + var lines =<< trim END vim9script - let d = #{one: + var d = #{one: 'one', two: 'two', 1: 1, @@ -1972,7 +1974,7 @@ def Test_expr_member_vim9script() lines =<< trim END vim9script - let l = [1, + var l = [1, 2, 3, 4 ] @@ -2011,14 +2013,14 @@ def Test_expr7_environment() assert_equal('testvar', $TESTVAR) assert_equal('', $ASDF_ASD_XXX) - CheckDefFailure(["let x = $$$"], 'E1002:', 1) + CheckDefFailure(["var x = $$$"], 'E1002:', 1) enddef def Test_expr7_register() @a = 'register a' assert_equal('register a', @a) - let fname = expand('%') + var fname = expand('%') assert_equal(fname, @%) feedkeys(":echo 'some'\", "xt") @@ -2076,9 +2078,9 @@ def Test_expr7_parens() enddef def Test_expr7_parens_vim9script() - let lines =<< trim END + var lines =<< trim END vim9script - let s = ( + var s = ( 'one' .. 'two' @@ -2091,7 +2093,7 @@ enddef def Test_expr7_negate() assert_equal(-99, -99) assert_equal(99, --99) - let nr = 88 + var nr = 88 assert_equal(-88, -nr) assert_equal(88, --nr) enddef @@ -2111,21 +2113,21 @@ def Test_expr7_call() assert_equal(true, !range(5)->empty()) assert_equal([0, 1, 2], --3->range()) - CheckDefFailure(["let x = 'yes'->Echo"], 'E107:', 1) + CheckDefFailure(["var x = 'yes'->Echo"], 'E107:', 1) CheckScriptFailure([ "vim9script", - "let x = substitute ('x', 'x', 'x', 'x')" + "var x = substitute ('x', 'x', 'x', 'x')" ], 'E121:', 2) - CheckDefFailure(["let Ref = function('len' [1, 2])"], 'E1123:', 1) + CheckDefFailure(["var Ref = function('len' [1, 2])"], 'E1123:', 1) - let auto_lines =<< trim END + var auto_lines =<< trim END def g:some#func(): string return 'found' enddef END mkdir('Xruntime/autoload', 'p') writefile(auto_lines, 'Xruntime/autoload/some.vim') - let save_rtp = &rtp + var save_rtp = &rtp &rtp = getcwd() .. '/Xruntime,' .. &rtp assert_equal('found', g:some#func()) assert_equal('found', some#func()) @@ -2136,7 +2138,7 @@ enddef def Test_expr7_not() - let lines =<< trim END + var lines =<< trim END assert_equal(true, !'') assert_equal(true, ![]) assert_equal(false, !'asdf') @@ -2171,24 +2173,24 @@ def Test_expr7_not() enddef func Test_expr7_fails() - call CheckDefFailure(["let x = (12"], "E110:", 1) + call CheckDefFailure(["var x = (12"], "E110:", 1) - call CheckDefFailure(["let x = -'xx'"], "E1030:", 1) - call CheckDefFailure(["let x = +'xx'"], "E1030:", 1) - call CheckDefFailure(["let x = -0z12"], "E974:", 1) - call CheckDefExecFailure(["let x = -[8]"], "E39:", 1) - call CheckDefExecFailure(["let x = -{'a': 1}"], "E39:", 1) + call CheckDefFailure(["var x = -'xx'"], "E1030:", 1) + call CheckDefFailure(["var x = +'xx'"], "E1030:", 1) + call CheckDefFailure(["var x = -0z12"], "E974:", 1) + call CheckDefExecFailure(["var x = -[8]"], "E39:", 1) + call CheckDefExecFailure(["var x = -{'a': 1}"], "E39:", 1) - call CheckDefFailure(["let x = @"], "E1002:", 1) - call CheckDefFailure(["let x = @<"], "E354:", 1) + call CheckDefFailure(["var x = @"], "E1002:", 1) + call CheckDefFailure(["var x = @<"], "E354:", 1) - call CheckDefFailure(["let x = [1, 2"], "E697:", 2) - call CheckDefFailure(["let x = [notfound]"], "E1001:", 1) + call CheckDefFailure(["var x = [1, 2"], "E697:", 2) + call CheckDefFailure(["var x = [notfound]"], "E1001:", 1) - call CheckDefFailure(["let x = { -> 123) }"], "E451:", 1) - call CheckDefFailure(["let x = 123->{x -> x + 5) }"], "E451:", 1) + call CheckDefFailure(["var x = { -> 123) }"], "E451:", 1) + call CheckDefFailure(["var x = 123->{x -> x + 5) }"], "E451:", 1) - call CheckDefFailure(["let x = ¬exist"], 'E113:', 1) + call CheckDefFailure(["var x = ¬exist"], 'E113:', 1) call CheckDefFailure(["&grepprg = [343]"], 'E1012:', 1) call CheckDefExecFailure(["echo s:doesnt_exist"], 'E121:', 1) @@ -2198,12 +2200,12 @@ func Test_expr7_fails() call CheckDefFailure(["echo l:somevar"], 'E1075:', 1) call CheckDefFailure(["echo x:somevar"], 'E1075:', 1) - call CheckDefExecFailure(["let x = +g:astring"], 'E1030:', 1) - call CheckDefExecFailure(["let x = +g:ablob"], 'E974:', 1) - call CheckDefExecFailure(["let x = +g:alist"], 'E745:', 1) - call CheckDefExecFailure(["let x = +g:adict"], 'E728:', 1) + call CheckDefExecFailure(["var x = +g:astring"], 'E1030:', 1) + call CheckDefExecFailure(["var x = +g:ablob"], 'E974:', 1) + call CheckDefExecFailure(["var x = +g:alist"], 'E745:', 1) + call CheckDefExecFailure(["var x = +g:adict"], 'E728:', 1) - call CheckDefFailure(["let x = ''", "let y = x.memb"], 'E715:', 2) + call CheckDefFailure(["var x = ''", "var y = x.memb"], 'E715:', 2) call CheckDefFailure(["'yes'->", "Echo()"], 'E488: Trailing characters: ->', 1) @@ -2232,11 +2234,11 @@ def Test_expr7_trailing() assert_equal('nothing', g:CallMe('nothing')) # partial call - let Part = function('g:CallMe') + var Part = function('g:CallMe') assert_equal('yes', Part('yes')) # funcref call, using list index - let l = [] + var l = [] g:Funcrefs[0](l, 2) assert_equal([2], l) @@ -2251,13 +2253,13 @@ def Test_expr7_trailing() assert_equal([2, 5, 8], l) # dict member - let d = #{key: 123} + var d = #{key: 123} assert_equal(123, d.key) enddef def Test_expr7_string_subscript() - let lines =<< trim END - let text = 'abcdef' + var lines =<< trim END + var text = 'abcdef' assert_equal('', text[-1]) assert_equal('a', text[0]) assert_equal('e', text[4]) @@ -2303,8 +2305,8 @@ def Test_expr7_string_subscript() enddef def Test_expr7_list_subscript() - let lines =<< trim END - let list = [0, 1, 2, 3, 4] + var lines =<< trim END + var list = [0, 1, 2, 3, 4] assert_equal(0, list[0]) assert_equal(4, list[4]) assert_equal(4, list[-1]) @@ -2330,25 +2332,25 @@ def Test_expr7_list_subscript() CheckDefSuccess(lines) CheckScriptSuccess(['vim9script'] + lines) - lines = ['let l = [0, 1, 2]', 'echo l[g:astring : g:theone]'] + lines = ['var l = [0, 1, 2]', 'echo l[g:astring : g:theone]'] CheckDefExecFailure(lines, 'E1012:') CheckScriptFailure(['vim9script'] + lines, 'E1030:', 3) enddef def Test_expr7_dict_subscript() - let lines =<< trim END + var lines =<< trim END vim9script - let l = [#{lnum: 2}, #{lnum: 1}] - let res = l[0].lnum > l[1].lnum + var l = [#{lnum: 2}, #{lnum: 1}] + var res = l[0].lnum > l[1].lnum assert_true(res) END CheckScriptSuccess(lines) enddef def Test_expr7_subscript_linebreak() - let range = range( + var range = range( 3) - let l = range + var l = range ->map('string(v:key)') assert_equal(['0', '1', '2'], l) @@ -2373,7 +2375,7 @@ def Test_expr7_subscript_linebreak() assert_equal('1', l[ 1]) - let d = #{one: 33} + var d = #{one: 33} assert_equal(33, d. one) enddef @@ -2386,8 +2388,8 @@ def Test_expr7_method_call() assert_equal(['first', 'second', 'third', 'last'], getline(1, '$')) bwipe! - let bufnr = bufnr() - let loclist = [#{bufnr: bufnr, lnum: 42, col: 17, text: 'wrong'}] + var bufnr = bufnr() + var loclist = [#{bufnr: bufnr, lnum: 42, col: 17, text: 'wrong'}] loclist->setloclist(0) assert_equal([#{bufnr: bufnr, lnum: 42, @@ -2401,18 +2403,18 @@ def Test_expr7_method_call() module: ''} ], getloclist(0)) - let result: bool = get(#{n: 0}, 'n', 0) + var result: bool = get(#{n: 0}, 'n', 0) assert_equal(false, result) enddef func Test_expr7_trailing_fails() - call CheckDefFailure(['let l = [2]', 'l->{l -> add(l, 8)}'], 'E107:', 2) - call CheckDefFailure(['let l = [2]', 'l->{l -> add(l, 8)} ()'], 'E274:', 2) + call CheckDefFailure(['var l = [2]', 'l->{l -> add(l, 8)}'], 'E107:', 2) + call CheckDefFailure(['var l = [2]', 'l->{l -> add(l, 8)} ()'], 'E274:', 2) endfunc func Test_expr_fails() - call CheckDefFailure(["let x = '1'is2"], 'E488:', 1) - call CheckDefFailure(["let x = '1'isnot2"], 'E488:', 1) + call CheckDefFailure(["var x = '1'is2"], 'E488:', 1) + call CheckDefFailure(["var x = '1'isnot2"], 'E488:', 1) call CheckDefFailure(["CallMe ('yes')"], 'E476:', 1) call CheckScriptFailure(["CallMe ('yes')"], 'E492:', 1) @@ -2420,8 +2422,8 @@ func Test_expr_fails() call CheckDefFailure(["CallMe2('yes' , 'no')"], 'E1068:', 1) call CheckDefFailure(["v:nosuch += 3"], 'E1001:', 1) - call CheckDefFailure(["let v:statusmsg = ''"], 'E1016: Cannot declare a v: variable:', 1) - call CheckDefFailure(["let asdf = v:nosuch"], 'E1001:', 1) + call CheckDefFailure(["var v:statusmsg = ''"], 'E1016: Cannot declare a v: variable:', 1) + call CheckDefFailure(["var asdf = v:nosuch"], 'E1001:', 1) call CheckDefFailure(["echo len('asdf'"], 'E110:', 2) call CheckDefFailure(["echo Func0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789()"], 'E1011:', 1) diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -751,6 +751,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1759, +/**/ 1758, /**/ 1757,