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
|
unlet g:mydict
|
||||||
enddef
|
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()
|
def Test_go_beyond_end_of_cmd()
|
||||||
# this was reading the byte after the end of the line
|
# this was reading the byte after the end of the line
|
||||||
var lines =<< trim END
|
var lines =<< trim END
|
||||||
|
@@ -2095,7 +2095,8 @@ func_requires_g_prefix(ufunc_T *ufunc)
|
|||||||
{
|
{
|
||||||
return ufunc->uf_name[0] != K_SPECIAL
|
return ufunc->uf_name[0] != K_SPECIAL
|
||||||
&& (ufunc->uf_flags & FC_LAMBDA) == 0
|
&& (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[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
630,
|
||||||
/**/
|
/**/
|
||||||
629,
|
629,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user