patch 8.2.1063: Vim9: no line break allowed before || or &&
Problem: Vim9: no line break allowed before || or &&.
Solution: Check for operator after line break.
diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim
index 566af67..dcdaeb2 100644
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -117,6 +117,26 @@
assert_equal([[], '', 0], g:vals)
enddef
+def Test_expr2_vimscript()
+ " only checks line continuation
+ let lines =<< trim END
+ vim9script
+ let var = 0
+ || 1
+ assert_equal(1, var)
+ END
+ CheckScriptSuccess(lines)
+
+ lines =<< trim END
+ vim9script
+ let var = v:false
+ || v:true
+ || v:false
+ assert_equal(1, var)
+ END
+ CheckScriptSuccess(lines)
+enddef
+
func Test_expr2_fails()
let msg = "white space required before and after '||'"
call CheckDefFailure(["let x = 1||2"], msg)
@@ -160,6 +180,26 @@
assert_equal([[1], 'z', 0], g:vals)
enddef
+def Test_expr3_vimscript()
+ " only checks line continuation
+ let lines =<< trim END
+ vim9script
+ let var = 0
+ && 1
+ assert_equal(0, var)
+ END
+ CheckScriptSuccess(lines)
+
+ lines =<< trim END
+ vim9script
+ let var = v:true
+ && v:true
+ && v:true
+ assert_equal(1, var)
+ END
+ CheckScriptSuccess(lines)
+enddef
+
func Test_expr3_fails()
let msg = "white space required before and after '&&'"
call CheckDefFailure(["let x = 1&&2"], msg)