r4232: Auto commit for Debian build
[kmrcl.git] / equal.lisp
index 8049ed1045f5ccd21cdc1c7aa74e2a0a5ddcaeee..0d6ea59cebeeca44fc3b190bcd5666c875baf9a1 100644 (file)
@@ -7,7 +7,7 @@
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Apr 2000
 ;;;;
-;;;; $Id: equal.lisp,v 1.2 2002/11/25 07:45:36 kevin Exp $
+;;;; $Id: equal.lisp,v 1.4 2003/03/25 04:26:47 kevin Exp $
 ;;;;
 ;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;;
   #+(or allegro lispworks scl)
   (mapcar #'clos:slot-definition-name
          (clos:class-slots (find-class c-name)))
-  #+sbcl (mapcar #'sb-pcl::slot-definition-name
-                (sb-pcl:class-slots (sb-pcl:find-class c-name)))
+  #+sbcl (if (find-package 'sb-mop)
+            (mapcar #'sb-mop::slot-definition-name
+                    (sb-mop:class-slots (find-class c-name)))
+            (mapcar #'sb-pcl::slot-definition-name
+                    (sb-pcl:class-slots (sb-pcl:find-class c-name))))
   #+cmu (mapcar #'pcl::slot-definition-name
                 (pcl:class-slots (pcl:find-class c-name)))
   #+mcl
-  (let* ((class (find-class class-name nil)))
+  (let* ((class (find-class c-name nil)))
     (when (typep class 'standard-class)
-      (map 'list #'car (ccl::%class-instance-slotds class))))
+      (nconc (mapcar #'car (ccl:class-instance-slots class))
+             (mapcar #'car (ccl:class-class-slots class)))))
   #-(or allegro lispworks cmu mcl sbcl scl)
   (error "class-slot-names is not defined on this platform")
   )
   #+allegro (class-slot-names s-name)
   #+lispworks (structure:structure-class-slot-names
               (find-class s-name))
-  #+sbcl (mapcar #'sb-pcl::slot-definition-name
-                (sb-pcl:class-slots (sb-pcl:find-class s-name)))
+  #+sbcl (if (find-package 'sb-mop)
+            (mapcar #'sb-mop::slot-definition-name
+                    (sb-mop:class-slots (find-class s-name)))
+            (mapcar #'sb-pcl::slot-definition-name
+                    (sb-pcl:class-slots (sb-pcl:find-class s-name)))
   #+cmu (mapcar #'pcl::slot-definition-name
                 (pcl:class-slots (pcl:find-class s-name)))
   #+scl (mapcar #'kernel:dsd-name