diff options
Diffstat (limited to 'src/interp/g-util.boot')
-rw-r--r-- | src/interp/g-util.boot | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/interp/g-util.boot b/src/interp/g-util.boot index f4f8ba00..437c0427 100644 --- a/src/interp/g-util.boot +++ b/src/interp/g-util.boot @@ -82,11 +82,12 @@ splitAssignments u == main(u,nil) where ++ (if at all) before any call to simplifyVMForm. spliceSeqArgs l == atomic? l => l - l is [['%seq,:stmts],:.] => + s := first l + s is ['%seq,:.] => + stmts := spliceSeqArgs s.args stmts = nil => spliceSeqArgs rest l lastNode(stmts).rest := spliceSeqArgs rest l stmts - s := first l s is ['%LET,x,y] and (stmts := splitAssignments y) => lastNode(stmts).rest := [['%LET,x,second y],:spliceSeqArgs rest l] stmts |