summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Src/lex.c8
2 files changed, 11 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 8cf2ff621..390e0f017 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-12-13 Peter Stephenson <pws@csr.com>
+
+ * 23051: Src/lex.c: using ${(Q)...} on an expression with
+ RCQUOTE handling failed when DEBUG was defined.
+
2006-12-12 Peter Stephenson <pws@csr.com>
* users/11079: Doc/Zsh/expn.yo: point out that 1(2##) may not
diff --git a/Src/lex.c b/Src/lex.c
index 57b752309..a568e25c4 100644
--- a/Src/lex.c
+++ b/Src/lex.c
@@ -1536,9 +1536,13 @@ parse_subst_string(char *s)
return 1;
}
#ifdef DEBUG
- if (c != STRING || olen != l || errflag) {
+ /*
+ * Historical note: we used to check here for olen == l, but
+ * that's not necessarily the case if we stripped an RCQUOTE.
+ */
+ if (c != STRING || errflag) {
fprintf(stderr, "Oops. Bug in parse_subst_string: %s\n",
- olen < l ? "len < l" : errflag ? "errflag" : "c != STRING");
+ errflag ? "errflag" : "c != STRING");
fflush(stderr);
untokenize(s);
return 1;