patch 8.2.1541: Vim9: cannot find function reference for s:Func
Problem: Vim9: cannot find function reference for s:Func.
Solution: Recognize <SNR> prefix. (closes #6805)
diff --git a/src/userfunc.c b/src/userfunc.c
index be706bd..d918903 100644
--- a/src/userfunc.c
+++ b/src/userfunc.c
@@ -808,11 +808,12 @@
if (!is_global)
{
- int vim9script = in_vim9script();
char_u *after_script = NULL;
long sid = 0;
+ int find_script_local = in_vim9script()
+ && eval_isnamec1(*name) && name[1] != ':';
- if (vim9script)
+ if (find_script_local)
{
// Find script-local function before global one.
func = find_func_with_sid(name, current_sctx.sc_sid);
@@ -833,7 +834,7 @@
else
after_script = NULL;
}
- if (vim9script || after_script != NULL)
+ if (find_script_local || after_script != NULL)
{
// Find imported function before global one.
if (after_script != NULL && sid != current_sctx.sc_sid)