1.0.16.29: workaround for bug 419
[sbcl.git] / src / compiler / compiler-deftype.lisp
index 2a1ddce..c4a92a5 100644 (file)
@@ -14,6 +14,8 @@
 (/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*
@@ -21,7 +23,7 @@
     (:instance
      (warn "The class ~S is being redefined to be a DEFTYPE." name)
      (undefine-structure (layout-info (classoid-layout (find-classoid name))))
-     (setf (classoid-cell-classoid (find-classoid-cell name)) nil)
+     (setf (classoid-cell-classoid (find-classoid-cell name :create t)) nil)
      (setf (info :type :compiler-layout name) nil)
      (setf (info :type :kind name) :defined))
     (:defined