0.9.2.46:
[sbcl.git] / src / compiler / deftype.lisp
index e41c6fc..8c266b3 100644 (file)
   "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 ''*)
+        (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))
-                           ,@(when doc `(,doc)))))))
+         (%compiler-deftype ',name
+                            (lambda (,whole)
+                              ,@local-decs
+                              ,body)
+                            ,@(when doc `(,doc)))))))