;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Apr 2000
;;;;
-;;;; $Id: equal.lisp,v 1.4 2003/03/25 04:26:47 kevin Exp $
+;;;; $Id: equal.lisp,v 1.12 2003/03/25 13:41:54 kevin Exp $
;;;;
;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;;
(return-from test nil)))
(return-from test t)))
+#+sbcl
+(eval-when (:compile-toplevel :load-toplevel :execute)
+ (if (find-package 'sb-mop)
+ (pushnew :sb-mop cl:*features*)
+ (pushnew :sb-pcl cl:*features*)))
+
(defun class-slot-names (c-name)
"Given a CLASS-NAME, returns a list of the slots in the class."
#+(or allegro lispworks scl)
(mapcar #'clos:slot-definition-name
(clos:class-slots (find-class c-name)))
- #+sbcl (if (find-package 'sb-mop)
- (mapcar #'sb-mop::slot-definition-name
+ #+sbcl-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))))
+ #+sbcl-pcl (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
#+allegro (class-slot-names s-name)
#+lispworks (structure:structure-class-slot-names
(find-class s-name))
- #+sbcl (if (find-package 'sb-mop)
- (mapcar #'sb-mop::slot-definition-name
+ #+sbcl-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)))
+ #+sbcl-pcl (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
(error "structure-slot-names is not defined on this platform")
)
+#+sbcl
+(eval-when (:compile-toplevel :load-toplevel :execute)
+ (if (find-package 'sb-mop)
+ (setq cl:*features* (delete :sb-mop cl:*features*))
+ (setq cl:*features* (delete :sb-pcl cl:*features*))))
(defun function-to-string (obj)
"Returns the lambda code for a function. Relies on