+ /* Always available. */
+ const struct macro_set *macros; /* Macros to expand recursively. */
+ enum segmenter_mode segmenter_mode; /* Mode for tokenization. */
+ int nesting_countdown; /* Remaining nesting levels. */
+ const struct macro_expansion_stack *stack; /* Stack for error reporting. */
+ bool *expand; /* May macro calls be expanded? */
+ struct stringi_map *vars; /* Variables from !DO and !LET. */
+
+ /* Only nonnull if inside a !DO loop. */
+ bool *break_; /* Set to true to break out of loop. */
+
+ /* Only nonnull if expanding a macro (and not, say, a macro argument). */