diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2017-02-04 08:08:51 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2017-02-04 08:08:51 -0800 |
commit | d3acb1e10243875a1c836068679e902146f6740e (patch) | |
tree | c1b332dbfe116a90ea0748e82f97eaa33026f1bc /unwind.c | |
parent | 15b0c9ffb9f0fdb9429ed3f0ef33f63aef398f91 (diff) | |
download | txr-d3acb1e10243875a1c836068679e902146f6740e.tar.gz txr-d3acb1e10243875a1c836068679e902146f6740e.tar.bz2 txr-d3acb1e10243875a1c836068679e902146f6740e.zip |
Replace sys:cp-origin with smarter function.
sys:cp-origin blindly propagates macro origin into a
tree structure, and has to perform a complicated circularity
check to avoid introducing cycles
We replace it with a new function which looks only for
invocations of the local setter, getter or deleter macros
within the tree structure and sets the macro origin only
into those forms.
* share/txr/stdlib/place.tl (sys:cp-origin): Function removed.
(sys:propagate-ancestor): New function.
(call-update-expander, call-clobber-expander,
call-delete-expander): Use new function.
Diffstat (limited to 'unwind.c')
0 files changed, 0 insertions, 0 deletions