From 9650129c86b2d2e7d4eebe7dbd63a117c21dcea9 Mon Sep 17 00:00:00 2001 From: Gustavo Massaccesi Date: Mon, 1 Dec 2014 15:20:37 -0300 Subject: [PATCH] repair decompiler to properly reflect the `beg0` bytecode form A single expression in `beg0` is never in tail position, unlike a single expression within `begin0`. --- compiler-lib/compiler/decompile.rkt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/compiler-lib/compiler/decompile.rkt b/compiler-lib/compiler/decompile.rkt index 5acfe47c06..470979bf45 100644 --- a/compiler-lib/compiler/decompile.rkt +++ b/compiler-lib/compiler/decompile.rkt @@ -425,8 +425,11 @@ `(begin ,@(for/list ([expr (in-list exprs)]) (decompile-expr expr globs stack closed)))] [(struct beg0 (exprs)) - `(begin0 ,@(for/list ([expr (in-list exprs)]) - (decompile-expr expr globs stack closed)))] + (if (> (length exprs) 1) + `(begin0 ,@(for/list ([expr (in-list exprs)]) + (decompile-expr expr globs stack closed))) + `(begin0 ,(decompile-expr (car exprs) globs stack closed) + (void)))] [(struct with-cont-mark (key val body)) `(with-continuation-mark ,(decompile-expr key globs stack closed)