0
0
mirror of https://github.com/vim/vim.git synced 2025-09-24 03:44:06 -04:00

patch 8.2.1423: Vim9: find global function when looking for script-local

Problem:    Vim9: find global function when looking for script-local.
Solution:   Don't strip prefix if name starts with "s:". (closes #6688)
This commit is contained in:
Bram Moolenaar
2020-08-11 22:30:42 +02:00
parent 097148e849
commit 035d6e91bd
3 changed files with 13 additions and 2 deletions

View File

@@ -203,6 +203,15 @@ def Test_global_local_function()
assert_equal('local', Func())
END
CheckScriptSuccess(lines)
lines =<< trim END
vim9script
def g:Funcy()
echo 'funcy'
enddef
s:Funcy()
END
CheckScriptFailure(lines, 'E117:')
enddef
func TakesOneArg(arg)

View File

@@ -2132,8 +2132,8 @@ call_func(
char_u *p = untrans_function_name(rfname);
// If using Vim9 script try not local to the script.
// TODO: should not do this if the name started with "s:".
if (p != NULL)
// Don't do this if the name starts with "s:".
if (p != NULL && (funcname[0] != 's' || funcname[1] != ':'))
fp = find_func(p, is_global, NULL);
}

View File

@@ -754,6 +754,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1423,
/**/
1422,
/**/