there was a comment on 1015; change comments to match, no code change

This commit is contained in:
tg
2016-03-01 19:22:31 +00:00
parent c2bdb1b9dd
commit 539714f78a
2 changed files with 15 additions and 46 deletions

32
lex.c
View File

@@ -23,7 +23,7 @@
#include "sh.h"
__RCSID("$MirOS: src/bin/mksh/lex.c,v 1.221 2016/03/01 18:30:04 tg Exp $");
__RCSID("$MirOS: src/bin/mksh/lex.c,v 1.222 2016/03/01 19:22:31 tg Exp $");
/*
* states while lexing word
@@ -526,33 +526,13 @@ yylex(int cf)
*wp++ = COMSUB;
/*
* We need to know whether we are within double
* quotes, since most shells translate \" to "
* within "…`…\"…`…". This is not done in POSIX
* mode (§2.2.3 Double-Quotes: “The backquote
* shall retain its special meaning introducing
* the other form of command substitution (see
* Command Substitution). The portion of the
* quoted string from the initial backquote and
* the characters up to the next backquote that
* is not preceded by a <backslash>, having
* escape characters removed, defines that
* command whose output replaces "`...`" when
* the word is expanded.”; §2.6.3 Command
* Substitution: “Within the backquoted style
* of command substitution, <backslash> shall
* retain its literal meaning, except when
* followed by: '$', '`', or <backslash>. The
* search for the matching backquote shall be
* satisfied by the first unquoted non-escaped
* backquote; during this search, if a
* non-escaped backquote is encountered[…],
* undefined results occur.”).
* quotes in order to translate \" to " within
* "…`…\"…`…" because, unlike for COMSUBs, the
* outer double quoteing changes the backslash
* meaning for the inside. For more details:
* http://austingroupbugs.net/view.php?id=1015
*/
statep->ls_bool = false;
#ifdef austingroupbugs1015_is_still_not_resolved
if (Flag(FPOSIX))
break;
#endif
s2 = statep;
base = state_info.base;
while (/* CONSTCOND */ 1) {