changeset 27051:f17bdc9cda64 v8.2.4054

patch 8.2.4054: Vim9 script test fails Commit: https://github.com/vim/vim/commit/577bd85d55f30019c890ec80fd44d91108ec35c9 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Jan 10 18:42:52 2022 +0000 patch 8.2.4054: Vim9 script test fails Problem: Vim9 script test fails. Solution: Add missing change.
author Bram Moolenaar <Bram@vim.org>
date Mon, 10 Jan 2022 19:45:03 +0100
parents 361ef941e80d
children 3e28829de2c3
files src/version.c src/vim9compile.c
diffstat 2 files changed, 14 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    4054,
+/**/
     4053,
 /**/
     4052,
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -541,7 +541,19 @@ get_script_item_idx(int sid, char_u *nam
     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)