diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2015-12-17 06:16:02 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2015-12-17 15:53:05 -0800 |
commit | 169c03e5ba18ed980683f38ca9d8451987cc0610 (patch) | |
tree | 7023715728b56ab7a62fa3aec41d634ba588c646 /INSTALL | |
parent | f8c5f7d4950a6fb660c533625ef5004f998432b1 (diff) | |
download | txr-169c03e5ba18ed980683f38ca9d8451987cc0610.tar.gz txr-169c03e5ba18ed980683f38ca9d8451987cc0610.tar.bz2 txr-169c03e5ba18ed980683f38ca9d8451987cc0610.zip |
Set macro ancestry info in place expansions.
* eval.c (set_origin): New static function.
(eval_init): Register set_origin as sys:set-macro-ancestor.
* share/txr/stdlib/place.tl (sys:pl-expand): Set macro
ancestry when expanding a place macro.
(sys:cp-origin): New function.
(call-update-expander, call-clobber-expander,
call-delete-expander): Use sys:cp-origin to walk through
expanded code and attach the place form as the macro
ancestor of all the getter, setter or deleter calls,
effectively to say that those calls are expansions of
the place, which is approximately the case.
Diffstat (limited to 'INSTALL')
0 files changed, 0 insertions, 0 deletions