diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2013-11-14 14:34:17 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2013-11-14 14:34:17 -0800 |
commit | a4d671b27b30352476e81efacd8c15de349382c1 (patch) | |
tree | fce303b047d6db802e7a6d186da1cc9145bc1726 /tail-recursion.lisp | |
parent | 8d0fd244e013683b049d86b6599de369bbad592f (diff) | |
download | lisp-snippets-a4d671b27b30352476e81efacd8c15de349382c1.tar.gz lisp-snippets-a4d671b27b30352476e81efacd8c15de349382c1.tar.bz2 lisp-snippets-a4d671b27b30352476e81efacd8c15de349382c1.zip |
TAILPROG: bugfix in handling code blocks with more than one
expression in the body.
Diffstat (limited to 'tail-recursion.lisp')
-rw-r--r-- | tail-recursion.lisp | 2 |
1 files changed, 1 insertions, 1 deletions
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 |