summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
Diffstat (limited to 'share')
-rw-r--r--share/txr/stdlib/yield.tl5
1 files changed, 3 insertions, 2 deletions
diff --git a/share/txr/stdlib/yield.tl b/share/txr/stdlib/yield.tl
index 0a623a2b..ef0518e6 100644
--- a/share/txr/stdlib/yield.tl
+++ b/share/txr/stdlib/yield.tl
@@ -51,8 +51,9 @@
(let ((cont-sym (gensym)))
^(sys:yield-impl ',name
(lambda (,cont-sym)
- (return-from ,name (new (sys:yld-item
- ,form (cdr ,cont-sym)))))
+ (sys:abscond-from ,name
+ (new (sys:yld-item
+ ,form (cdr ,cont-sym)))))
',ctx-form)))
(defmacro yield (form)