# HG changeset patch # User Bram Moolenaar # Date 1644348602 -3600 # Node ID 766a329fe5bb1da035855e0d628c2a803113e96f # Parent e30b25cc5ce6ea3b258c295689e4db23eeccbbe1 patch 8.2.4331: Vim9: no test for existing script variable in block Commit: https://github.com/vim/vim/commit/3a5988c025f8517ba382730dc54bb13df937edb4 Author: Bram Moolenaar Date: Tue Feb 8 19:23:35 2022 +0000 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 --- a/src/testdir/test_vim9_func.vim +++ b/src/testdir/test_vim9_func.vim @@ -1028,11 +1028,35 @@ def Test_call_wrong_args() 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 diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -747,6 +747,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 4331, +/**/ 4330, /**/ 4329,