From 577bd85d55f30019c890ec80fd44d91108ec35c9 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Mon, 10 Jan 2022 18:42:52 +0000 Subject: [PATCH] patch 8.2.4054: Vim9 script test fails Problem: Vim9 script test fails. Solution: Add missing change. --- src/version.c | 2 ++ src/vim9compile.c | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/version.c b/src/version.c index 6ab7271c9b..7d080c40b0 100644 --- a/src/version.c +++ b/src/version.c @@ -750,6 +750,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 4054, /**/ 4053, /**/ diff --git a/src/vim9compile.c b/src/vim9compile.c index 993bb1c68d..963c052006 100644 --- a/src/vim9compile.c +++ b/src/vim9compile.c @@ -541,7 +541,19 @@ get_script_item_idx(int sid, char_u *name, int check_writable, cctx_T *cctx) ht = &SCRIPT_VARS(sid); di = find_var_in_ht(ht, 0, name, TRUE); if (di == NULL) + { + if (si->sn_autoload_prefix != NULL) + { + hashitem_T *hi; + + // A variable exported from an autoload script is in the global + // variables, we can find it in the all_vars table. + hi = hash_find(&si->sn_all_vars.dv_hashtab, name); + if (!HASHITEM_EMPTY(hi)) + return HI2SAV(hi)->sav_var_vals_idx; + } return -2; + } // Now find the svar_T index in sn_var_vals. for (idx = 0; idx < si->sn_var_vals.ga_len; ++idx)