Mercurial > vim
diff src/testdir/test_ins_complete.vim @ 27457:4c16acb2525f v8.2.4257
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Commit: https://github.com/vim/vim/commit/62aec93bfdb9e1b40d03a6d2e8e9511f8b1bdb2d
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jan 29 21:45:34 2022 +0000
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Problem: Vim9: finding global function without g: prefix but not finding
global variable is inconsistent.
Solution: Require using g: for a global function. Change the vim9.vim
script into a Vim9 script with exports. Fix that import in legacy
script does not work.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 29 Jan 2022 23:00:05 +0100 |
parents | 1d9a7aa42744 |
children | a14c4d3e3260 |
line wrap: on
line diff
--- a/src/testdir/test_ins_complete.vim +++ b/src/testdir/test_ins_complete.vim @@ -2,7 +2,7 @@ source screendump.vim source check.vim -source vim9.vim +import './vim9.vim' as v9 " Test for insert expansion func Test_ins_complete() @@ -1359,7 +1359,7 @@ func Test_completefunc_callback() bw! #" Test for using a lambda function with set - VAR optval = "LSTART a, b LMIDDLE CompleteFunc1(16, a, b) LEND" + VAR optval = "LSTART a, b LMIDDLE g:CompleteFunc1(16, a, b) LEND" LET optval = substitute(optval, ' ', '\\ ', 'g') exe "set completefunc=" .. optval new @@ -1370,7 +1370,7 @@ func Test_completefunc_callback() bw! #" Set 'completefunc' to a lambda expression - LET &completefunc = LSTART a, b LMIDDLE CompleteFunc1(17, a, b) LEND + LET &completefunc = LSTART a, b LMIDDLE g:CompleteFunc1(17, a, b) LEND new call setline(1, 'six') LET g:CompleteFunc1Args = [] @@ -1379,7 +1379,7 @@ func Test_completefunc_callback() bw! #" Set 'completefunc' to string(lambda_expression) - LET &completefunc = 'LSTART a, b LMIDDLE CompleteFunc1(18, a, b) LEND' + LET &completefunc = 'LSTART a, b LMIDDLE g:CompleteFunc1(18, a, b) LEND' new call setline(1, 'six') LET g:CompleteFunc1Args = [] @@ -1388,7 +1388,7 @@ func Test_completefunc_callback() bw! #" Set 'completefunc' to a variable with a lambda expression - VAR Lambda = LSTART a, b LMIDDLE CompleteFunc1(19, a, b) LEND + VAR Lambda = LSTART a, b LMIDDLE g:CompleteFunc1(19, a, b) LEND LET &completefunc = Lambda new call setline(1, 'seven') @@ -1398,7 +1398,7 @@ func Test_completefunc_callback() bw! #" Set 'completefunc' to a string(variable with a lambda expression) - LET Lambda = LSTART a, b LMIDDLE CompleteFunc1(20, a, b) LEND + LET Lambda = LSTART a, b LMIDDLE g:CompleteFunc1(20, a, b) LEND LET &completefunc = string(Lambda) new call setline(1, 'seven') @@ -1431,7 +1431,7 @@ func Test_completefunc_callback() call assert_equal([[1, ''], [0, 'five']], g:CompleteFunc2Args) bw! END - call CheckLegacyAndVim9Success(lines) + call v9.CheckLegacyAndVim9Success(lines) " Test for using a script-local function name func s:CompleteFunc3(findstart, base) @@ -1460,7 +1460,7 @@ func Test_completefunc_callback() call feedkeys("A\<C-X>\<C-U>\<Esc>", 'x') " Using Vim9 lambda expression in legacy context should fail - set completefunc=(a,\ b)\ =>\ CompleteFunc1(21,\ a,\ b) + set completefunc=(a,\ b)\ =>\ g:CompleteFunc1(21,\ a,\ b) new | only let g:CompleteFunc1Args = [] call assert_fails('call feedkeys("A\<C-X>\<C-U>\<Esc>", "x")', 'E117:') @@ -1526,7 +1526,7 @@ func Test_completefunc_callback() assert_equal([[1, ''], [0, 'three']], g:LocalCompleteFuncArgs) bw! END - call CheckScriptSuccess(lines) + call v9.CheckScriptSuccess(lines) " cleanup set completefunc& @@ -1616,7 +1616,7 @@ func Test_omnifunc_callback() bw! #" Test for using a lambda function with set - VAR optval = "LSTART a, b LMIDDLE OmniFunc1(16, a, b) LEND" + VAR optval = "LSTART a, b LMIDDLE g:OmniFunc1(16, a, b) LEND" LET optval = substitute(optval, ' ', '\\ ', 'g') exe "set omnifunc=" .. optval new @@ -1627,7 +1627,7 @@ func Test_omnifunc_callback() bw! #" Set 'omnifunc' to a lambda expression - LET &omnifunc = LSTART a, b LMIDDLE OmniFunc1(17, a, b) LEND + LET &omnifunc = LSTART a, b LMIDDLE g:OmniFunc1(17, a, b) LEND new call setline(1, 'six') LET g:OmniFunc1Args = [] @@ -1636,7 +1636,7 @@ func Test_omnifunc_callback() bw! #" Set 'omnifunc' to a string(lambda_expression) - LET &omnifunc = 'LSTART a, b LMIDDLE OmniFunc1(18, a, b) LEND' + LET &omnifunc = 'LSTART a, b LMIDDLE g:OmniFunc1(18, a, b) LEND' new call setline(1, 'six') LET g:OmniFunc1Args = [] @@ -1645,7 +1645,7 @@ func Test_omnifunc_callback() bw! #" Set 'omnifunc' to a variable with a lambda expression - VAR Lambda = LSTART a, b LMIDDLE OmniFunc1(19, a, b) LEND + VAR Lambda = LSTART a, b LMIDDLE g:OmniFunc1(19, a, b) LEND LET &omnifunc = Lambda new call setline(1, 'seven') @@ -1655,7 +1655,7 @@ func Test_omnifunc_callback() bw! #" Set 'omnifunc' to a string(variable with a lambda expression) - LET Lambda = LSTART a, b LMIDDLE OmniFunc1(20, a, b) LEND + LET Lambda = LSTART a, b LMIDDLE g:OmniFunc1(20, a, b) LEND LET &omnifunc = string(Lambda) new call setline(1, 'seven') @@ -1688,7 +1688,7 @@ func Test_omnifunc_callback() call assert_equal([[1, ''], [0, 'nine']], g:OmniFunc2Args) bw! END - call CheckLegacyAndVim9Success(lines) + call v9.CheckLegacyAndVim9Success(lines) " Test for using a script-local function name func s:OmniFunc3(findstart, base) @@ -1783,7 +1783,7 @@ func Test_omnifunc_callback() assert_equal([[1, ''], [0, 'three']], g:LocalOmniFuncArgs) bw! END - call CheckScriptSuccess(lines) + call v9.CheckScriptSuccess(lines) " cleanup set omnifunc& @@ -1873,7 +1873,7 @@ func Test_thesaurusfunc_callback() bw! #" Test for using a lambda function - VAR optval = "LSTART a, b LMIDDLE TsrFunc1(16, a, b) LEND" + VAR optval = "LSTART a, b LMIDDLE g:TsrFunc1(16, a, b) LEND" LET optval = substitute(optval, ' ', '\\ ', 'g') exe "set thesaurusfunc=" .. optval new @@ -1884,7 +1884,7 @@ func Test_thesaurusfunc_callback() bw! #" Test for using a lambda function with set - LET &thesaurusfunc = LSTART a, b LMIDDLE TsrFunc1(17, a, b) LEND + LET &thesaurusfunc = LSTART a, b LMIDDLE g:TsrFunc1(17, a, b) LEND new call setline(1, 'six') LET g:TsrFunc1Args = [] @@ -1893,7 +1893,7 @@ func Test_thesaurusfunc_callback() bw! #" Set 'thesaurusfunc' to a string(lambda expression) - LET &thesaurusfunc = 'LSTART a, b LMIDDLE TsrFunc1(18, a, b) LEND' + LET &thesaurusfunc = 'LSTART a, b LMIDDLE g:TsrFunc1(18, a, b) LEND' new call setline(1, 'six') LET g:TsrFunc1Args = [] @@ -1902,7 +1902,7 @@ func Test_thesaurusfunc_callback() bw! #" Set 'thesaurusfunc' to a variable with a lambda expression - VAR Lambda = LSTART a, b LMIDDLE TsrFunc1(19, a, b) LEND + VAR Lambda = LSTART a, b LMIDDLE g:TsrFunc1(19, a, b) LEND LET &thesaurusfunc = Lambda new call setline(1, 'seven') @@ -1912,7 +1912,7 @@ func Test_thesaurusfunc_callback() bw! #" Set 'thesaurusfunc' to a string(variable with a lambda expression) - LET Lambda = LSTART a, b LMIDDLE TsrFunc1(20, a, b) LEND + LET Lambda = LSTART a, b LMIDDLE g:TsrFunc1(20, a, b) LEND LET &thesaurusfunc = string(Lambda) new call setline(1, 'seven') @@ -1968,7 +1968,7 @@ func Test_thesaurusfunc_callback() call assert_equal([[22, 1, ''], [22, 0, 'sun']], g:TsrFunc1Args) :%bw! END - call CheckLegacyAndVim9Success(lines) + call v9.CheckLegacyAndVim9Success(lines) " Test for using a script-local function name func s:TsrFunc3(findstart, base) @@ -2076,7 +2076,7 @@ func Test_thesaurusfunc_callback() assert_equal([[1, ''], [0, 'three']], g:LocalTsrFuncArgs) bw! END - call CheckScriptSuccess(lines) + call v9.CheckScriptSuccess(lines) " cleanup set thesaurusfunc&