patch 9.1.1014: Vim9: variable not found in transitive import

Problem:  Vim9: variable not found in transitive import
Solution: Allow nested import (Hirohito Higashi)

fixe: #16379
closes: #16440

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Hirohito Higashi
2025-01-14 17:21:42 +01:00
committed by Christian Brabandt
parent 045564d0a7
commit 57f0119358
7 changed files with 97 additions and 11 deletions

View File

@ -1,4 +1,4 @@
*vim9.txt* For Vim version 9.1. Last change: 2024 Dec 23
*vim9.txt* For Vim version 9.1. Last change: 2025 Jan 14
VIM REFERENCE MANUAL by Bram Moolenaar
@ -2051,13 +2051,14 @@ prefixing the function with |<SID>| you should use|<ScriptCmd>|. For example:
>
noremap ,a <ScriptCmd>:call s:that.OtherFunc()<CR>
<
*:import-cycle*
The `import` commands are executed when encountered. If script A imports
script B, and B (directly or indirectly) imports A, this will be skipped over.
At this point items in A after "import B" will not have been processed and
defined yet. Therefore cyclic imports can exist and not result in an error
directly, but may result in an error for items in A after "import B" not being
defined. This does not apply to autoload imports, see the next section.
*:import-cycle* *E1045*
The `import` commands are executed when encountered. It can be nested up to
'maxfuncdepth' levels deep. If script A imports script B, and B (directly or
indirectly) imports A, this will be skipped over. At this point items in A
after "import B" will not have been processed and defined yet. Therefore
cyclic imports can exist and not result in an error directly, but may result
in an error for items in A after "import B" not being defined. This does not
apply to autoload imports, see the next section.
Importing an autoload script ~