diff options
Diffstat (limited to 'mu.arc')
-rw-r--r-- | mu.arc | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/mu.arc b/mu.arc index 5deb83aa..c59a1010 100644 --- a/mu.arc +++ b/mu.arc @@ -918,13 +918,17 @@ (enq qinstr deferred)))))) (accum yield (each instr instrs - (when (and acons.instr - (is instr.0 'reply)) - (each instr (as cons deferred) - (yield instr))) - (unless (and acons.instr - (in instr.0 'defer)) ; keep sync'd with case clauses above - (yield instr))) + (if atom.instr ; label + (yield instr) + (is instr.0 'defer) + nil ; skip + (is instr.0 'reply) + (do + (each instr (as cons deferred) + (yield instr)) + (yield instr)) + :else + (yield instr))) (each instr (as cons deferred) (yield instr))))) |