mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
patch 9.0.0630: in Vim9 script a numbered function cannot be called
Problem: In Vim9 script a numbered function cannot be called. Solution: Do not require "g:" before a numbered function name. (closes #11254)
This commit is contained in:
@@ -4210,6 +4210,25 @@ def Test_numbered_function_reference()
|
||||
unlet g:mydict
|
||||
enddef
|
||||
|
||||
def Test_numbered_function_call()
|
||||
var lines =<< trim END
|
||||
let s:legacyscript = {}
|
||||
func s:legacyscript.Helper() abort
|
||||
return "Success"
|
||||
endfunc
|
||||
let g:legacyscript = deepcopy(s:legacyscript)
|
||||
|
||||
let g:legacy_result = eval("g:legacyscript.Helper()")
|
||||
vim9cmd g:vim9_result = eval("g:legacyscript.Helper()")
|
||||
END
|
||||
v9.CheckScriptSuccess(lines)
|
||||
assert_equal('Success', g:legacy_result)
|
||||
assert_equal('Success', g:vim9_result)
|
||||
|
||||
unlet g:legacy_result
|
||||
unlet g:vim9_result
|
||||
enddef
|
||||
|
||||
def Test_go_beyond_end_of_cmd()
|
||||
# this was reading the byte after the end of the line
|
||||
var lines =<< trim END
|
||||
|
@@ -2095,7 +2095,8 @@ func_requires_g_prefix(ufunc_T *ufunc)
|
||||
{
|
||||
return ufunc->uf_name[0] != K_SPECIAL
|
||||
&& (ufunc->uf_flags & FC_LAMBDA) == 0
|
||||
&& vim_strchr(ufunc->uf_name, AUTOLOAD_CHAR) == NULL;
|
||||
&& vim_strchr(ufunc->uf_name, AUTOLOAD_CHAR) == NULL
|
||||
&& !isdigit(ufunc->uf_name[0]);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@@ -699,6 +699,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
630,
|
||||
/**/
|
||||
629,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user