diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2014-06-20 07:49:04 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2014-06-20 07:49:04 -0700 |
commit | 5b0ee1a4dcdad30c4554a9aaa17600ae3e8073d7 (patch) | |
tree | 8bd7d2af63b3985673c54ce6d18a2f91795333a9 /ChangeLog | |
parent | 61a72064b0269ff3443fff3bfbe098de458605ca (diff) | |
download | txr-5b0ee1a4dcdad30c4554a9aaa17600ae3e8073d7.tar.gz txr-5b0ee1a4dcdad30c4554a9aaa17600ae3e8073d7.tar.bz2 txr-5b0ee1a4dcdad30c4554a9aaa17600ae3e8073d7.zip |
Bugfix: macros not being expanded in expansions embedded in
quasilierals: i.e. the forms X and Y in `@{X}`
and `@{X Y}`, where X and Y can be Lisp symbol macros or compound
forms that is a macro call.
* eval.c (expand_quasi): Handle the var forms in a quasi.
* parser.y (n_exprs_opt, q_var): New grammar nonterminals.
q_var is a clone of o_var, but with different construction behavior.
It fixes the bug that o_var applies expand_meta to embedded
Lisp forms, which is not appropriate for TXR Lisp quasiliterals.
(quasi_item): Derive q_var rather than o_var.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -1,5 +1,20 @@ 2014-06-20 Kaz Kylheku <kaz@kylheku.com> + Bugfix: macros not being expanded in expansions embedded in + quasilierals: i.e. the forms X and Y in `@{X}` + and `@{X Y}`, where X and Y can be Lisp symbol macros or compound + forms that is a macro call. + + * eval.c (expand_quasi): Handle the var forms in a quasi. + + * parser.y (n_exprs_opt, q_var): New grammar nonterminals. + q_var is a clone of o_var, but with different construction behavior. + It fixes the bug that o_var applies expand_meta to embedded + Lisp forms, which is not appropriate for TXR Lisp quasiliterals. + (quasi_item): Derive q_var rather than o_var. + +2014-06-20 Kaz Kylheku <kaz@kylheku.com> + Optimization: add missing tail updates to some list collecting loops. |