mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-07-31 07:23:52 +02:00
commit bash-20120914 snapshot
This commit is contained in:
@@ -3675,6 +3675,17 @@ eof_error:
|
||||
}
|
||||
else if MBTEST((tflags & LEX_CKCOMMENT) && ch == '#' && (lex_rwlen == 0 || ((tflags & LEX_INWORD) && lex_wlen == 0)))
|
||||
; /* don't modify LEX_RESWDOK if we're starting a comment */
|
||||
/* Allow `do' followed by space, tab, or newline to preserve the
|
||||
RESWDOK flag, but reset the reserved word length counter so we
|
||||
can read another one. */
|
||||
else if MBTEST(((tflags & LEX_INCASE) == 0) &&
|
||||
(isblank(ch) || ch == '\n') &&
|
||||
lex_rwlen == 2 &&
|
||||
STREQN (ret + retind - 2, "do", 2))
|
||||
{
|
||||
/*itrace("parse_comsub:%d: lex_incase == 1 found `%c', found \"do\"", line_number, ch);*/
|
||||
lex_rwlen = 0;
|
||||
}
|
||||
else if MBTEST((tflags & LEX_INCASE) && ch != '\n')
|
||||
/* If we can read a reserved word and we're in case, we're at the
|
||||
point where we can read a new pattern list or an esac. We
|
||||
@@ -3690,6 +3701,15 @@ eof_error:
|
||||
tflags &= ~LEX_RESWDOK;
|
||||
/*itrace("parse_comsub:%d: found `%c', lex_reswordok -> 0", line_number, ch);*/
|
||||
}
|
||||
#if 0
|
||||
/* If we find a space or tab but have read something and it's not
|
||||
`do', turn off the reserved-word-ok flag */
|
||||
else if MBTEST(isblank (ch) && lex_rwlen > 0)
|
||||
{
|
||||
tflags &= ~LEX_RESWDOK;
|
||||
/*itrace("parse_comsub:%d: found `%c', lex_reswordok -> 0", line_number, ch);*/
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Might be the start of a here-doc delimiter */
|
||||
|
||||
Reference in New Issue
Block a user