X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fdeftype.lisp;h=8c266b343232af0d5f1f1308f00a6fd62c713312;hb=3b90774a1ea68bf42579594c872de16fb33f1454;hp=3057faaf5ea0306f09228a3ed635b44a14392db1;hpb=cea4896b2482b7b2b429c1631d774b4cfbc0efba;p=sbcl.git diff --git a/src/compiler/deftype.lisp b/src/compiler/deftype.lisp index 3057faa..8c266b3 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 ''*) + (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)))))))