From 92dc493189386e40d241a3aa7f3a59c02a5a204e Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Thu, 11 Jun 1992 02:07:33 +0000 Subject: Formerly read.c.~32~ --- read.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/read.c b/read.c index bc0283b..2c7cc89 100644 --- a/read.c +++ b/read.c @@ -794,11 +794,17 @@ conditional_line (line, filename, lineno) xrealloc (conditionals->ignoring, conditionals->max_ignoring); } - if (conditionals->if_cmds > 1 && - conditionals->ignoring[conditionals->if_cmds - 2]) - /* We are already ignoring, so just push a level - to match the next "else" or "endif", and keep ignoring. */ - conditionals->ignoring[conditionals->if_cmds - 1] = 1; + /* Search through the stack to see if we're already ignoring. */ + for (i = 0; i < conditionals->if_cmds; ++i) + if (conditionals->ignoring[i]) + { + /* We are already ignoring, so just push a level + to match the next "else" or "endif", and keep ignoring. + We don't want to expand variables in the condition. */ + conditionals->ignoring[conditionals->if_cmds - 1] = 1; + return 1; + } + else if (cmdname[notdef ? 3 : 2] == 'd') { /* "Ifdef" or "ifndef". */ -- cgit v1.2.3