X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=equal.lisp;h=0e98719577bd41c18427b07b6a43669fae715c99;hb=95e781f9c555f193a471b652c3c30af80d58ac4a;hp=24a60ea89a58204549cb587b5cb897d5fc94b34c;hpb=11ce9a03e7603b105c3a2d9868b6abe4bc4a9b87;p=kmrcl.git diff --git a/equal.lisp b/equal.lisp index 24a60ea..0e98719 100644 --- a/equal.lisp +++ b/equal.lisp @@ -7,7 +7,7 @@ ;;;; Programmer: Kevin M. Rosenberg ;;;; Date Started: Apr 2000 ;;;; -;;;; $Id: equal.lisp,v 1.5 2003/03/25 04:43:17 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 ;;;; @@ -87,16 +87,21 @@ (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 @@ -113,11 +118,10 @@ #+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 @@ -131,6 +135,11 @@ (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