g:listarg->assert_equal([1, 2, 3])
END
v9.CheckScriptSuccess(lines)
+
+ lines =<< trim END
+ function s:func(num)
+ return a:num * 2
+ endfunction
+
+ def s:CallFuncref()
+ var Funcref = function('s:func')
+ Funcref(3)->assert_equal(6)
+ enddef
+ call s:CallFuncref()
+ END
+ v9.CheckScriptSuccess(lines)
+
+ lines =<< trim END
+ function s:func(num)
+ return a:num * 2
+ endfunction
+
+ def s:CallFuncref()
+ var Funcref = function(s:func)
+ Funcref(3)->assert_equal(6)
+ enddef
+ call s:CallFuncref()
+ END
+ v9.CheckScriptSuccess(lines)
+
+ lines =<< trim END
+ function s:func(num)
+ return a:num * 2
+ endfunction
+
+ def s:CallFuncref()
+ var Funcref = s:func
+ Funcref(3)->assert_equal(6)
+ enddef
+ call s:CallFuncref()
+ END
+ v9.CheckScriptSuccess(lines)
enddef
let SomeFunc = function('len')
{
if (!vim9_local)
{
- if (vim9script && lead == 2 && !ASCII_ISUPPER(*lv.ll_name))
+ if (vim9script && lead == 2 && !ASCII_ISUPPER(*lv.ll_name)
+ && current_script_is_vim9())
{
semsg(_(e_function_name_must_start_with_capital_str), start);
goto theend;
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 219,
/**/
218,
/**/
*/
/*
- * vim9cmds.c: Dealing with compiled function expressions
+ * vim9expr.c: Dealing with compiled function expressions
*/
#define USING_FLOAT_STUFF
vim_free(name);
return FAIL;
}
- if (is_expr && ASCII_ISUPPER(*name)
- && find_func(name, FALSE) != NULL)
+ if (is_expr && find_func(name, FALSE) != NULL)
res = generate_funcref(cctx, name, FALSE);
else
res = compile_load_scriptvar(cctx, name,