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 /lib.h | |
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 'lib.h')
0 files changed, 0 insertions, 0 deletions