patch 8.2.1047: Vim9: script cannot use line continuation like :def function
Problem: Vim9: script cannot use line continuation like in a :def function.
Solution: Pass the getline function pointer to the eval() functions. Use it
for addition and multiplication operators.
diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim
index 46034fb..b37f92f 100644
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -570,6 +570,26 @@
assert_equal(0z01ab01ab, g:ablob + g:ablob)
enddef
+def Test_expr5_vim9script()
+ " only checks line continuation
+ let lines =<< trim END
+ vim9script
+ let var = 11
+ + 77
+ - 22
+ assert_equal(66, var)
+ END
+ CheckScriptSuccess(lines)
+
+ lines =<< trim END
+ vim9script
+ let var = 'one'
+ .. 'two'
+ assert_equal('onetwo', var)
+ END
+ CheckScriptSuccess(lines)
+enddef
+
def Test_expr5_float()
if !has('float')
MissingFeature 'float'
@@ -661,6 +681,26 @@
call CheckDefFailure(["let x = 6 * xxx"], 'E1001')
enddef
+def Test_expr6_vim9script()
+ " only checks line continuation
+ let lines =<< trim END
+ vim9script
+ let var = 11
+ * 22
+ / 3
+ assert_equal(80, var)
+ END
+ CheckScriptSuccess(lines)
+
+ lines =<< trim END
+ vim9script
+ let var = 25
+ % 10
+ assert_equal(5, var)
+ END
+ CheckScriptSuccess(lines)
+enddef
+
def Test_expr6_float()
if !has('float')
MissingFeature 'float'