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/structs.h b/src/structs.h
index a477dc7..581b22e 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -1626,6 +1626,23 @@
typedef struct svar_S svar_T;
#if defined(FEAT_EVAL) || defined(PROTO)
+/*
+ * Info used by a ":for" loop.
+ */
+typedef struct
+{
+ int fi_semicolon; // TRUE if ending in '; var]'
+ int fi_varcount; // nr of variables in the list
+ int fi_break_count; // nr of line breaks encountered
+ listwatch_T fi_lw; // keep an eye on the item used.
+ list_T *fi_list; // list being used
+ int fi_bi; // index of blob
+ blob_T *fi_blob; // blob being used
+ char_u *fi_string; // copy of string being used
+ int fi_byte_idx; // byte index in fi_string
+ int fi_cs_flags; // cs_flags or'ed together
+} forinfo_T;
+
typedef struct funccall_S funccall_T;
// values used for "uf_def_status"