summaryrefslogtreecommitdiffstats
path: root/INSTALL
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2015-12-17 06:16:02 -0800
committerKaz Kylheku <kaz@kylheku.com>2015-12-17 15:53:05 -0800
commit169c03e5ba18ed980683f38ca9d8451987cc0610 (patch)
tree7023715728b56ab7a62fa3aec41d634ba588c646 /INSTALL
parentf8c5f7d4950a6fb660c533625ef5004f998432b1 (diff)
downloadtxr-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