diff options
Diffstat (limited to 'share')
-rw-r--r-- | share/txr/stdlib/yield.tl | 5 |
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) |