patch 8.2.2093: Vim9: script test sometimes fails
Problem: Vim9: script test sometimes fails.
Solution: Do not find a script variable by its typval if the name was
cleared.
diff --git a/src/vim9script.c b/src/vim9script.c
index 3780356..fa455ab 100644
--- a/src/vim9script.c
+++ b/src/vim9script.c
@@ -741,7 +741,9 @@
{
svar_T *sv = ((svar_T *)si->sn_var_vals.ga_data) + idx;
- if (sv->sv_tv == dest)
+ // If "sv_name" is NULL the variable was hidden when leaving a block,
+ // don't check "sv_tv" then, it might be used for another variable now.
+ if (sv->sv_name != NULL && sv->sv_tv == dest)
return sv;
}
iemsg("check_script_var_type(): not found");