patch 8.2.4371: Vim9: can create a script variable from a legacy function
Problem: Vim9: can create a script variable from a legacy function.
Solution: Disallow creating a script variable from a function.
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index eec19d9..9993c5e 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -3071,13 +3071,21 @@
delete('Xforward')
enddef
-def Test_declare_script_in_func()
+def Test_declare_script_var_in_func()
var lines =<< trim END
vim9script
func Declare()
let s:local = 123
endfunc
Declare()
+ END
+ v9.CheckScriptFailure(lines, 'E1269:')
+enddef
+
+def Test_lock_script_var()
+ var lines =<< trim END
+ vim9script
+ var local = 123
assert_equal(123, local)
var error: string