patch 8.2.4331: Vim9: no test for existing script variable in block
Problem: Vim9: no test for existing script variable in block.
Solution: Add a test.
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index ebcd0fb..e68cbcf 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -1028,11 +1028,35 @@
vim9script
var name = 'piet'
def FuncOne(name: string)
- echo nr
+ echo name
enddef
END
v9.CheckScriptFailure(lines, 'E1168:')
+ # same, inside the same block
+ lines =<< trim END
+ vim9script
+ if true
+ var name = 'piet'
+ def FuncOne(name: string)
+ echo name
+ enddef
+ endif
+ END
+ v9.CheckScriptFailure(lines, 'E1168:')
+
+ # variable in other block is OK
+ lines =<< trim END
+ vim9script
+ if true
+ var name = 'piet'
+ endif
+ def FuncOne(name: string)
+ echo name
+ enddef
+ END
+ v9.CheckScriptSuccess(lines)
+
# argument name declared later is only found when compiling
lines =<< trim END
vim9script