diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2014-02-22 00:29:48 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2014-02-22 00:29:48 -0800 |
commit | 9462f8c7b3d57ccaaa73fd0e891f8a82b41c4b84 (patch) | |
tree | e2f43046d00ef476369be6caf97fcd7ec14af5fd | |
parent | 438152be2bda0288e5d5e8c5b013077ac9512d86 (diff) | |
download | txr-9462f8c7b3d57ccaaa73fd0e891f8a82b41c4b84.tar.gz txr-9462f8c7b3d57ccaaa73fd0e891f8a82b41c4b84.tar.bz2 txr-9462f8c7b3d57ccaaa73fd0e891f8a82b41c4b84.zip |
* 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.
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | parser.y | 2 |
2 files changed, 11 insertions, 1 deletions
@@ -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. @@ -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); } |