Mercurial > vim
diff src/vim9script.c @ 24283:bcfff560e089 v8.2.2682
patch 8.2.2682: Vim9: cannot find Name.Func from "import * as Name"
Commit: https://github.com/vim/vim/commit/529fb5a5f62378bbaac00e1ed9b9c32c6e20c1b9
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Apr 1 12:57:57 2021 +0200
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.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 01 Apr 2021 13:00:03 +0200 |
parents | e3dbf2e58c6a |
children | 28b8ede0d2b9 |
line wrap: on
line diff
--- 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;