summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-08-14 20:52:28 +0200
committerBram Moolenaar <Bram@vim.org>2020-08-14 20:52:28 +0200
commit7d6997015d533604f18756e59b4a2a1266a66a97 (patch)
tree46d97180015047da8ec7c1333ff31b9f02dcf467
parent32a23ac61570365eff35097691d9b218b8539383 (diff)
downloadvim-git-7d6997015d533604f18756e59b4a2a1266a66a97.tar.gz
patch 8.2.1450: Vim9: no check that script-local items don't become globalv8.2.1450
Problem: Vim9: no check that script-local items don't become global. Solution: Add a test.
-rw-r--r--src/testdir/test_vim9_script.vim36
-rw-r--r--src/version.c2
2 files changed, 38 insertions, 0 deletions
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index 2b0a4adf2..163b9480f 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -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
diff --git a/src/version.c b/src/version.c
index 7243fffe3..ce5bfb01a 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1450,
+/**/
1449,
/**/
1448,