;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Apr 2000
;;;;
-;;;; $Id: equal.lisp,v 1.12 2003/03/25 13:41:54 kevin Exp $
+;;;; $Id: equal.lisp,v 1.13 2003/04/29 04:56:58 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-mop (mapcar #'sb-mop::slot-definition-name
- (sb-mop:class-slots (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)))
+ #+(or allegro cmu lispworks sbcl scl)
+ (mapcar #'kmr-mop:slot-definition-name
+ (kmr-mop:class-slots (kmr-mop:find-class c-name)))
#+mcl
(let* ((class (find-class c-name nil)))
(when (typep class 'standard-class)
#+allegro (class-slot-names s-name)
#+lispworks (structure:structure-class-slot-names
(find-class s-name))
- #+sbcl-mop (mapcar #'sb-mop::slot-definition-name
- (sb-mop:class-slots (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)))
+ #+(or sbcl cmu) (mapcar #'kmr-mop:slot-definition-name
+ (kmr-mop:class-slots (kmr-mop:find-class s-name)))
#+scl (mapcar #'kernel:dsd-name
(kernel:dd-slots
(kernel:layout-info
(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
Allegro implementation-dependent features."
;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Apr 2000
;;;;
-;;;; $Id: kmrcl.asd,v 1.28 2003/04/29 03:55:49 kevin Exp $
+;;;; $Id: kmrcl.asd,v 1.29 2003/04/29 04:56:58 kevin Exp $
;;;;
;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;;
(:file "io" :depends-on ("macros"))
(:file "console" :depends-on ("macros"))
(:file "strings" :depends-on ("macros"))
- (:file "equal" :depends-on ("macros"))
(:file "buff-input" :depends-on ("macros"))
(:file "telnet-server" :depends-on ("macros"))
(:file "random" :depends-on ("macros"))
(:file "math" :depends-on ("macros"))
#+kmr-mop (:file "mop" :depends-on ("macros"))
#+kmr-mop (:file "attrib-class" :depends-on ("seqs" "mop"))
+ (:file "equal" :depends-on ("macros" #+kmr-mop "mop"))
(:file "web-utils" :depends-on ("macros"))
(:file "xml-utils" :depends-on ("macros")))
)
(oos 'load-op 'kmrcl-tests)
(oos 'test-op 'kmrcl-tests))
-#+kmr-mop
-(setq cl:*features* (delete :kmr-mop cl:*features*))
-
;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Apr 2003
;;;;
-;;;; $Id: mop.lisp,v 1.2 2003/04/29 03:50:42 kevin Exp $
+;;;; $Id: mop.lisp,v 1.3 2003/04/29 04:56:58 kevin Exp $
;;;;
;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;;
(in-package #:kmr-mop)
-(eval-when (:compile-toplevel :load-toplevel :execute)
- (shadowing-import
- #+allegro
- '(excl::compute-effective-slot-definition-initargs)
- #+lispworks
- '(clos::compute-effective-slot-definition-initargs)
- #+kmr-sbcl-mop
- '(sb-pcl::compute-effective-slot-definition-initargs)
- #+kmr-sbcl-pcl
- '(sb-pcl:class-of sb-pcl:class-name sb-pcl:class-slots sb-pcl:find-class
- sb-pcl::standard-class
- sb-pcl:slot-definition-name sb-pcl::finalize-inheritance
- sb-pcl::standard-direct-slot-definition
- sb-pcl::standard-effective-slot-definition sb-pcl::validate-superclass
- sb-pcl::direct-slot-definition-class sb-pcl::compute-effective-slot-definition
- sb-pcl::compute-effective-slot-definition-initargs
- sb-pcl::slot-value-using-class
- sb-pcl:class-prototype sb-pcl:generic-function-method-class sb-pcl:intern-eql-specializer
- sb-pcl:make-method-lambda sb-pcl:generic-function-lambda-list
- sb-pcl::compute-slots)
- #+kmr-cmucl-mop
- '(pcl::compute-effective-slot-definition-initargs)
- #+kmr-cmucl-pcl
- '(pcl:class-of pcl:class-name pcl:class-slots pcl:find-class pcl::standard-class
- pcl::slot-definition-name pcl:finalize-inheritance
- pcl::standard-direct-slot-definition pcl::standard-effective-slot-definition
- pcl::validate-superclass pcl:direct-slot-definition-class
- pcl:compute-effective-slot-definition
- pcl::compute-effective-slot-definition-initargs
- pcl::slot-value-using-class
- pcl:class-prototype pcl:generic-function-method-class pcl:intern-eql-specializer
- pcl:make-method-lambda pcl:generic-function-lambda-list
- pcl::compute-slots)
- #+scl
- '(clos::compute-effective-slot-definition-initargs
- clos::class-prototype
- ;; note: make-method-lambda is not fbound
- )
- '#:kmr-mop))
-
+(shadowing-import
+ #+allegro
+ '(excl::compute-effective-slot-definition-initargs)
+ #+lispworks
+ '(clos::compute-effective-slot-definition-initargs)
+ #+kmr-sbcl-mop
+ '(sb-pcl::compute-effective-slot-definition-initargs)
+ #+kmr-sbcl-pcl
+ '(sb-pcl:class-of sb-pcl:class-name sb-pcl:class-slots sb-pcl:find-class
+ sb-pcl::standard-class
+ sb-pcl:slot-definition-name sb-pcl::finalize-inheritance
+ sb-pcl::standard-direct-slot-definition
+ sb-pcl::standard-effective-slot-definition sb-pcl::validate-superclass
+ sb-pcl::direct-slot-definition-class sb-pcl::compute-effective-slot-definition
+ sb-pcl::compute-effective-slot-definition-initargs
+ sb-pcl::slot-value-using-class
+ sb-pcl:class-prototype sb-pcl:generic-function-method-class sb-pcl:intern-eql-specializer
+ sb-pcl:make-method-lambda sb-pcl:generic-function-lambda-list
+ sb-pcl::compute-slots)
+ #+kmr-cmucl-mop
+ '(pcl::compute-effective-slot-definition-initargs)
+ #+kmr-cmucl-pcl
+ '(pcl:class-of pcl:class-name pcl:class-slots pcl:find-class pcl::standard-class
+ pcl::slot-definition-name pcl:finalize-inheritance
+ pcl::standard-direct-slot-definition pcl::standard-effective-slot-definition
+ pcl::validate-superclass pcl:direct-slot-definition-class
+ pcl:compute-effective-slot-definition
+ pcl::compute-effective-slot-definition-initargs
+ pcl::slot-value-using-class
+ pcl:class-prototype pcl:generic-function-method-class pcl:intern-eql-specializer
+ pcl:make-method-lambda pcl:generic-function-lambda-list
+ pcl::compute-slots)
+ #+scl
+ '(clos::compute-effective-slot-definition-initargs
+ clos::class-prototype
+ ;; note: make-method-lambda is not fbound
+ )
+ '#:kmr-mop)
#+sbcl
(eval-when (:compile-toplevel :load-toplevel :execute)