patch 8.2.1527: Vim9: cannot use a function name at script level
Problem: Vim9: cannot use a function name as a function reference at script
level.
Solution: Check if a name is a function name. (closes #6789)
diff --git a/src/evalvars.c b/src/evalvars.c
index fbf521e..a946c75 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -2461,6 +2461,20 @@
tv = sv->sv_tv;
}
}
+ else if (in_vim9script())
+ {
+ ufunc_T *ufunc = find_func(name, FALSE, NULL);
+
+ if (ufunc != NULL)
+ {
+ foundFunc = TRUE;
+ if (rettv != NULL)
+ {
+ rettv->v_type = VAR_FUNC;
+ rettv->vval.v_string = vim_strsave(ufunc->uf_name);
+ }
+ }
+ }
}
if (!foundFunc)