X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fcompiler-deftype.lisp;h=322b06be4619ceb26118c5af08b4386574ffd246;hb=942e45e3bb73fd55786e4a0ab4590324063c0c89;hp=20b08b5e0d46b73875aebd43add82d4037da4848;hpb=63cef087068afc157283c0a05ae1f16b962303aa;p=sbcl.git diff --git a/src/compiler/compiler-deftype.lisp b/src/compiler/compiler-deftype.lisp index 20b08b5..322b06b 100644 --- a/src/compiler/compiler-deftype.lisp +++ b/src/compiler/compiler-deftype.lisp @@ -14,14 +14,16 @@ (/show0 "compiler-deftype.lisp 14") (defun %compiler-deftype (name expander &optional doc) + (with-single-package-locked-error + (:symbol name "defining ~A as a type specifier")) (ecase (info :type :kind name) (:primitive (when *type-system-initialized* (error "illegal to redefine standard type: ~S" name))) (:instance (warn "The class ~S is being redefined to be a DEFTYPE." name) - (undefine-structure (layout-info (class-layout (sb!xc:find-class name)))) - (setf (class-cell-class (find-class-cell name)) nil) + (undefine-structure (layout-info (classoid-layout (find-classoid name)))) + (setf (classoid-cell-classoid (find-classoid-cell name)) nil) (setf (info :type :compiler-layout name) nil) (setf (info :type :kind name) :defined)) (:defined