1.0.28.38: undefined warning and compilation unit summary tweaking
[sbcl.git] / src / compiler / compiler-deftype.lisp
index c030974..6427570 100644 (file)
@@ -22,7 +22,8 @@
        (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 (classoid-layout (find-classoid name))))
+     (undeclare-structure (find-classoid name) t)
+     ;; FIXME: shouldn't this happen only at eval-time?
      (setf (classoid-cell-classoid (find-classoid-cell name :create t)) nil)
      (setf (info :type :compiler-layout name) nil)
      (setf (info :type :kind name) :defined))
@@ -42,7 +43,7 @@
      (setf (info :type :kind name) :defined)))
   (setf (info :type :expander name) expander
         (info :type :lambda-list name) lambda-list)
-  (when source-location
+  (sb!c:with-source-location (source-location)
     (setf (info :type :source-location name) source-location))
   (when doc
     (setf (fdocumentation name 'type) doc))