about summary refs log tree commit diff stats
path: root/mu.arc
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2014-12-03 18:19:40 -0800
committerKartik K. Agaram <vc@akkartik.com>2014-12-03 18:19:40 -0800
commit3eb21f0e9d6c1fcc7e6201efa499759b68d82702 (patch)
tree7060afa8632f4755eb756cc52a77515f3b9c2a22 /mu.arc
parent9ae92a0dbc19c3cbbbf774a1d4f7eb82095a0e2a (diff)
downloadmu-3eb21f0e9d6c1fcc7e6201efa499759b68d82702.tar.gz
393 - 'defer' should now support all kinds of exits
Diffstat (limited to 'mu.arc')
-rw-r--r--mu.arc5
1 files changed, 4 insertions, 1 deletions
diff --git a/mu.arc b/mu.arc
index c59a1010..9fbb642b 100644
--- a/mu.arc
+++ b/mu.arc
@@ -924,9 +924,12 @@
               nil  ; skip
             (is instr.0 'reply)
               (do
+                (when cdr.instr  ; return values
+                  (= instr.0 'prepare-reply)
+                  (yield instr))
                 (each instr (as cons deferred)
                   (yield instr))
-                (yield instr))
+                (yield '(reply)))
             :else
               (yield instr)))
       (each instr (as cons deferred)