From 529fb5a5f62378bbaac00e1ed9b9c32c6e20c1b9 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Thu, 1 Apr 2021 12:57:57 +0200 Subject: patch 8.2.2682: Vim9: cannot find Name.Func from "import * as Name" Problem: Vim9: cannot find Name.Func from "import * as Name". (Alexander Goussas) Solution: When no variable found try finding a function. (closes #8045) Check that the function was exported. --- src/vim9script.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/vim9script.c') diff --git a/src/vim9script.c b/src/vim9script.c index 9839a06cf..a72ef5509 100644 --- a/src/vim9script.c +++ b/src/vim9script.c @@ -298,8 +298,7 @@ find_exported( svar_T *sv; scriptitem_T *script = SCRIPT_ITEM(sid); - // find name in "script" - // TODO: also find script-local user function + // Find name in "script". idx = get_script_item_idx(sid, name, 0, cctx); if (idx >= 0) { @@ -341,6 +340,13 @@ find_exported( semsg(_(e_item_not_found_in_script_str), name); return -1; } + else if (((*ufunc)->uf_flags & FC_EXPORT) == 0) + { + if (verbose) + semsg(_(e_item_not_exported_in_script_str), name); + *ufunc = NULL; + return -1; + } } return idx; -- cgit v1.2.1