]> granicus.if.org Git - vim/commitdiff
patch 8.2.1450: Vim9: no check that script-local items don't become global v8.2.1450
authorBram Moolenaar <Bram@vim.org>
Fri, 14 Aug 2020 18:52:28 +0000 (20:52 +0200)
committerBram Moolenaar <Bram@vim.org>
Fri, 14 Aug 2020 18:52:28 +0000 (20:52 +0200)
Problem:    Vim9: no check that script-local items don't become global.
Solution:   Add a test.

src/testdir/test_vim9_script.vim
src/version.c

index 2b0a4adf218460e3910c0613d9cbcb30fa0bd7b9..163b9480f06e4e3ac1c50f11fe9992c8d90f316e 100644 (file)
@@ -3039,6 +3039,42 @@ def Test_source_vim9_from_legacy()
   delete('Xvim9_script.vim')
 enddef
 
+func Test_vim9script_not_global()
+  " check that items defined in Vim9 script are script-local, not global
+  let vim9lines =<< trim END
+    vim9script
+    let var = 'local'
+    func TheFunc()
+      echo 'local'
+    endfunc
+    def DefFunc()
+      echo 'local'
+    enddef
+  END
+  call writefile(vim9lines, 'Xvim9script.vim')
+  source Xvim9script.vim
+  try
+    echo g:var
+    assert_report('did not fail')
+  catch /E121:/
+    " caught
+  endtry
+  try
+    call TheFunc()
+    assert_report('did not fail')
+  catch /E117:/
+    " caught
+  endtry
+  try
+    call DefFunc()
+    assert_report('did not fail')
+  catch /E117:/
+    " caught
+  endtry
+
+  call delete('Xvim9script.vium')
+endfunc
+
 def Test_vim9_copen()
   # this was giving an error for setting w:quickfix_title
   copen
index 7243fffe3f0da24ad7d88fd70b7cda6546712990..ce5bfb01a98964d8e550e22b19920ce334ac0d35 100644 (file)
@@ -754,6 +754,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1450,
 /**/
     1449,
 /**/