X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcompiler%2Fdeftype.lisp;h=752f878a75890ebdadea6328a3faf2e912fe35ba;hb=eb5265ab22a2b1cae18bbdf43c871dba9b5927ea;hp=e41c6fc659c07edc1dc8794d4d31d019c54c9f62;hpb=09957fcf57b49ed5ae5f05d62ad12d7ddbfd8e1d;p=sbcl.git diff --git a/src/compiler/deftype.lisp b/src/compiler/deftype.lisp index e41c6fc..752f878 100644 --- a/src/compiler/deftype.lisp +++ b/src/compiler/deftype.lisp @@ -14,12 +14,12 @@ "Define a new type, with syntax like DEFMACRO." (unless (symbolp name) (error "type name not a symbol: ~S" name)) - (let ((whole (gensym "WHOLE-"))) + (with-unique-names (whole) (multiple-value-bind (body local-decs doc) (parse-defmacro arglist whole body name 'deftype :default-default ''*) `(eval-when (:compile-toplevel :load-toplevel :execute) (%compiler-deftype ',name (lambda (,whole) ,@local-decs - (block ,name ,body)) + ,body) ,@(when doc `(,doc)))))))