0.8.0.2:
[sbcl.git] / src / pcl / early-low.lisp
index 4c470cc..abca534 100644 (file)
@@ -25,6 +25,8 @@
 ;;;; specification.
 
 (in-package "SB-PCL")
+
+(/show "starting early-low.lisp")
 \f
 ;;; FIXME: The PCL package is internal and is used by code in potential
 ;;; bottlenecks. Access to it might be faster through #.(find-package "SB-PCL")
 ;;; could be made less viciously brittle when SB-FLUID.)
 ;;; (Or perhaps just define a macro
 ;;;   (DEFMACRO PKG (NAME)
-;;;     #!-SB-FLUID (FIND-PACKAGE NAME)
-;;;     #!+SB-FLUID `(FIND-PACKAGE ,NAME))
+;;;     #-SB-FLUID (FIND-PACKAGE NAME)
+;;;     #+SB-FLUID `(FIND-PACKAGE ,NAME))
 ;;; and use that to replace all three variables.)
 (defvar *pcl-package*               (find-package "SB-PCL"))
-(defvar *slot-accessor-name-package* (find-package "SB-SLOT-ACCESSOR-NAME"))
 
 ;;; This excludes structure types created with the :TYPE option to
 ;;; DEFSTRUCT. It also doesn't try to deal with types created by
 ;;; it needs a more mnemonic name. -- WHN 19991204
 (defun structure-type-p (type)
   (and (symbolp type)
-       (let ((class  (cl:find-class type nil)))
-        (and class
-             (typep (sb-kernel:layout-info (sb-kernel:class-layout class))
-                    'sb-kernel:defstruct-description)))))
+       (not (condition-type-p type))
+       (let ((classoid (find-classoid type nil)))
+        (and classoid
+             (typep (layout-info
+                     (classoid-layout classoid))
+                    'defstruct-description)))))
+
+(defun condition-type-p (type)
+  (and (symbolp type)
+       (condition-classoid-p (find-classoid type nil))))
+\f
+(/show "finished with early-low.lisp")