Problem: Vim9: no test for existing script variable in block.
Solution: Add a test.
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
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 4331,
/**/
4330,
/**/