]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 8.2.4331: Vim9: no test for existing script variable in block v8.2.4331
authorBram Moolenaar <Bram@vim.org>
Tue, 8 Feb 2022 19:23:35 +0000 (19:23 +0000)
committerBram Moolenaar <Bram@vim.org>
Tue, 8 Feb 2022 19:23:35 +0000 (19:23 +0000)
Problem:    Vim9: no test for existing script variable in block.
Solution:   Add a test.

src/testdir/test_vim9_func.vim
src/version.c

index ebcd0fbc8ecc6d2e39e64cdf8a87044a277c499f..e68cbcf152d68c35db4d21ec7e334fc1cbc50991 100644 (file)
@@ -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
index d7da6df6e05530ffcd29de3a424fbcbd5010d57b..e0bb6e14bfdc5f25298a6de8c5527f9faa1202ca 100644 (file)
@@ -746,6 +746,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    4331,
 /**/
     4330,
 /**/