summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10
-rw-r--r--parser.y2
2 files changed, 11 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 84b68cfc..a6c26d3c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2014-02-22 Kaz Kylheku <kaz@kylheku.com>
+
+ * parser.y: Bugfix, I think. :) We do not need to call the expander
+ for a Lisp expression in a quasistring, and doing so leads to a
+ potentially incorrect double expansion because the whole thing
+ will be expanded again, either by the TXR Lisp quasi operator's
+ expander (if this is a quasiliteral in Lisp) or in the TXR
+ pattern language, by expand_meta, which hunts down down @ expressions
+ and expands them.
+
2014-02-21 Kaz Kylheku <kaz@kylheku.com>
Implementing special variables with local overriding.
diff --git a/parser.y b/parser.y
index 4c402965..1aec65d5 100644
--- a/parser.y
+++ b/parser.y
@@ -903,7 +903,7 @@ quasi_item : litchars { $$ = lit_char_helper($1); }
| o_var { $$ = $1; }
| METANUM { $$ = cons(var_s, cons($1, nil));
rl($$, num(lineno)); }
- | list { $$ = rlcp(cons(expr_s, expand($1)), $1); }
+ | list { $$ = rlcp(cons(expr_s, $1), $1); }
;
litchars : LITCHAR { $$ = cons(chr($1), nil); }