summaryrefslogtreecommitdiffstats
path: root/src/scriptfile.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/scriptfile.c')
-rw-r--r--src/scriptfile.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/scriptfile.c b/src/scriptfile.c
index a8e67b98ad..4f3e94ec4e 100644
--- a/src/scriptfile.c
+++ b/src/scriptfile.c
@@ -1348,8 +1348,8 @@ do_source(
}
}
- // old imports are no longer valid
- free_imports(sid);
+ // old imports and script variables are no longer valid
+ free_imports_and_script_vars(sid);
// in Vim9 script functions are marked deleted
if (is_vim9)
@@ -1375,6 +1375,7 @@ do_source(
// Allocate the local script variables to use for this script.
new_script_vars(script_items.ga_len);
ga_init2(&si->sn_var_vals, sizeof(svar_T), 10);
+ hash_init(&si->sn_all_vars.dv_hashtab);
ga_init2(&si->sn_imports, sizeof(imported_T), 10);
ga_init2(&si->sn_type_list, sizeof(type_T), 10);
# ifdef FEAT_PROFILE
@@ -1592,7 +1593,7 @@ free_scriptnames(void)
vim_free(si->sn_vars);
vim_free(si->sn_name);
- free_imports(i);
+ free_imports_and_script_vars(i);
free_string_option(si->sn_save_cpo);
# ifdef FEAT_PROFILE
ga_clear(&si->sn_prl_ga);