# HG changeset patch # User jwe # Date 750539609 0 # Node ID d46c6323a19016610abf2f0165e65fcae4f1d374 # Parent 3a09d46139f10de567fd2585011ce4454f9844fb [project @ 1993-10-13 19:13:29 by jwe] (lookup_identifier): Don't bind global variables immediately in loops or conditionals, even at the top level. diff -r 3a09d46139f1 -r d46c6323a190 src/lex.l --- a/src/lex.l Tue Oct 12 07:46:53 1993 +0000 +++ b/src/lex.l Wed Oct 13 19:13:29 1993 +0000 @@ -1020,7 +1020,8 @@ return lsr; symbol_record *gsr = global_sym_tab->lookup (name, 0, 0); - if (curr_sym_tab == top_level_sym_tab && gsr != (symbol_record *) NULL) + if (curr_sym_tab == top_level_sym_tab && gsr != (symbol_record *) NULL + && ! (looping || iffing)) return gsr; return curr_sym_tab->lookup (name, 1, 0);