patch 8.2.3124: Vim9: no error for white space between option and "=9"
Problem: Vim9: no error for white space between option and "=9".
Solution: Check for extraneous white space. (issue #8408)
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index f78eace..a7e141e 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -4075,6 +4075,45 @@
delfunc g:FuncA
enddef
+def Test_option_set()
+ # legacy script allows for white space
+ var lines =<< trim END
+ set foldlevel =11
+ call assert_equal(11, &foldlevel)
+ END
+ CheckScriptSuccess(lines)
+
+ set foldlevel
+ set foldlevel=12
+ assert_equal(12, &foldlevel)
+ set foldlevel+=2
+ assert_equal(14, &foldlevel)
+ set foldlevel-=3
+ assert_equal(11, &foldlevel)
+
+ lines =<< trim END
+ set foldlevel =1
+ END
+ CheckDefExecAndScriptFailure(lines, 'E1205: No white space allowed between option and: =1')
+
+ lines =<< trim END
+ set foldlevel +=1
+ END
+ CheckDefExecAndScriptFailure(lines, 'E1205: No white space allowed between option and: +=1')
+
+ lines =<< trim END
+ set foldlevel ^=1
+ END
+ CheckDefExecAndScriptFailure(lines, 'E1205: No white space allowed between option and: ^=1')
+
+ lines =<< trim END
+ set foldlevel -=1
+ END
+ CheckDefExecAndScriptFailure(lines, 'E1205: No white space allowed between option and: -=1')
+
+ set foldlevel&
+enddef
+
def Test_option_modifier()
# legacy script allows for white space
var lines =<< trim END