summaryrefslogtreecommitdiffstats
path: root/stream.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2016-10-19 06:35:55 -0700
committerKaz Kylheku <kaz@kylheku.com>2016-10-19 06:35:55 -0700
commit66ae458067d7b9e8490df376bfe3281de68ef768 (patch)
tree79022130e2afadc493e894ce812daa55486e9fd9 /stream.h
parentfbd5d992000a15b75edd94013badacf03189d0bd (diff)
downloadtxr-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 'stream.h')
0 files changed, 0 insertions, 0 deletions