diff --git a/compiler/ir1tran.lisp b/compiler/ir1tran.lisp index d48daf2940edf5dec3669b9d21d9d98f0a3364d0..d1d2f66d80f120075eec8011fdb47935231ed4fa 100644 --- a/compiler/ir1tran.lisp +++ b/compiler/ir1tran.lisp @@ -5,7 +5,7 @@ ;;; Carnegie Mellon University, and has been placed in the public domain. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/ir1tran.lisp,v 1.137 2003/02/05 19:32:20 emarsden Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/ir1tran.lisp,v 1.138 2003/02/05 23:37:06 gerd Exp $") ;;; ;;; ********************************************************************** ;;; @@ -2844,14 +2844,14 @@ (when (or (atom def) (< (length def) 2)) (compiler-error "Malformed ~S definition spec: ~S." context def)) - (let ((name (check-function-name (first def)))) + (let ((name (check-function-name (first def))) + (block-name (nth-value 1 (valid-function-name-p (first def))))) (names name) - (multiple-value-bind - (body decls) + (multiple-value-bind (body decls) (system:parse-body (cddr def) *lexical-environment* t) (defs `(lambda ,(second def) ,@decls - (block ,(if (consp name) (second name) name) + (block ,block-name . ,body)))))) (values (names) (defs))))