summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--share/txr/stdlib/optimize.tl21
1 files changed, 9 insertions, 12 deletions
diff --git a/share/txr/stdlib/optimize.tl b/share/txr/stdlib/optimize.tl
index b1008d0a..cf8a42b0 100644
--- a/share/txr/stdlib/optimize.tl
+++ b/share/txr/stdlib/optimize.tl
@@ -479,18 +479,15 @@
(set bl.links nil)
(set bl.rlinks nil))
bb.(link-graph)
- (let* ((visited (hash :eq-based))
- (reachable (build
- (labels ((visit (bl)
- (when (test-set [visited bl])
- (add bl)
- (when bl.next
- (visit bl.next))
- [mapcar visit bl.links])))
- (for ((bl bb.root)) (bl) ((set bl bl.next))
- (add bl)
- (visit bl))
- (visit bb.root)))))
+ (let* ((visited (hash :eq-based)))
+ (labels ((visit (bl)
+ (when (test-set [visited bl])
+ (when bl.next
+ (visit bl.next))
+ [mapcar visit bl.links])))
+ (for ((bl bb.root)) (bl) ((set bl bl.next))
+ (visit bl))
+ (visit bb.root))
(set bb.list [keep-if visited bb.list])
(each ((bl bb.list))
bb.(elim-next-jump bl)))