diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2014-12-03 18:12:44 -0800 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2014-12-03 18:12:44 -0800 |
commit | 9ae92a0dbc19c3cbbbf774a1d4f7eb82095a0e2a (patch) | |
tree | a6332f8e3307c6e252fd00901c702fa0e433b9bb | |
parent | 383a2affe43e580accd1fe739ce88dfa52af24aa (diff) | |
download | mu-9ae92a0dbc19c3cbbbf774a1d4f7eb82095a0e2a.tar.gz |
392
-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))))) |