From a4d671b27b30352476e81efacd8c15de349382c1 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Thu, 14 Nov 2013 14:34:17 -0800 Subject: TAILPROG: bugfix in handling code blocks with more than one expression in the body. --- tail-recursion.lisp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tail-recursion.lisp b/tail-recursion.lisp index 8381345..9bdf0b3 100644 --- a/tail-recursion.lisp +++ b/tail-recursion.lisp @@ -163,7 +163,7 @@ (dolist (pfunc pseudo-funcs) (destructuring-bind (name vars &rest forms) pfunc (push `(label ,name ,@vars) argtags-forms) - (push `(return ,@forms) argtags-forms) + (push `(return (progn ,@forms)) argtags-forms) (push `(,name (&rest args) `(goto ,',name ,@args)) macrolet-elems))) `(macrolet ,(reverse macrolet-elems) (let ,let-bindings -- cgit v1.2.3