diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2016-10-19 06:35:55 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2016-10-19 06:35:55 -0700 |
commit | 66ae458067d7b9e8490df376bfe3281de68ef768 (patch) | |
tree | 79022130e2afadc493e894ce812daa55486e9fd9 /tests/012/struct.expected | |
parent | fbd5d992000a15b75edd94013badacf03189d0bd (diff) | |
download | txr-66ae458067d7b9e8490df376bfe3281de68ef768.tar.gz txr-66ae458067d7b9e8490df376bfe3281de68ef768.tar.bz2 txr-66ae458067d7b9e8490df376bfe3281de68ef768.zip |
Cycle detection in sys:cp-origin.
Tree-walking code in the place expander runs into
trouble if the expression contains cycles.
Test case: (defparm a '(#1=(a . #1#))).
* share/txr/stdlib/place.tl (sys:cp-origin): Take list
of symbols as a single argument instead of trailing
arguments. Support an optional argument that gives
serves as a cycle-detecting stack. Bail if a cycle
is detected.
(call-udpate-expander, call-clobber-expander,
call-delete-expander): Update sys:cp-origin
calls to follow interface change.
Diffstat (limited to 'tests/012/struct.expected')
0 files changed, 0 insertions, 0 deletions