patch 9.0.0460: loop variable can't be found
Problem: Loop variable can't be found.
Solution: Adjust block_id of the loop variable each round.
diff --git a/src/evalvars.c b/src/evalvars.c
index 7de785b..e4cf409 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -3851,6 +3851,14 @@
}
clear_tv(&di->di_tv);
+
+ if ((flags & ASSIGN_UPDATE_BLOCK_ID)
+ && SCRIPT_ID_VALID(current_sctx.sc_sid))
+ {
+ scriptitem_T *si = SCRIPT_ITEM(current_sctx.sc_sid);
+
+ update_script_var_block_id(name, si->sn_current_block_id);
+ }
}
else
{