I am not at all sure that this is The Right Thing, but I found that
the fix-acl code that makes the clim-mop package didn't work for me,
because it assumed that the right thing was to export all the external
symbols from the CLOS package from CLIM-MOP. But some of the symbols
we want seem to actually be in the COMMON-LISP package, instead.
Anyway, here's a proposed fix. Please let me know if I've committed
some solecism or other:
Index: fix-acl.lisp
===================================================================
RCS file: /project/mcclim/cvsroot/mcclim/Lisp-Dep/fix-acl.lisp,v
retrieving revision 1.9
diff -u -F^(def -r1.9 fix-acl.lisp
--- fix-acl.lisp 21 Mar 2003 15:15:09 -0000 1.9
+++ fix-acl.lisp 27 Jan 2005 21:56:35 -0000
@@ -5,15 +5,49 @@
;;; Needed to keep ACL from issuing warnings about toplevel (shadow ...) forms
(setq comp:*cltl1-compile-file-toplevel-compatibility-p* nil)
-(require :loop)
+(eval-when (:compile-toplevel :load-toplevel :execute)
+ (require :loop)
+ (require :mop))
(defpackage :clim-mop
- (:use :clos))
-
+ (:use :clos :common-lisp)
+ (:export
+ #:validate-superclass
+ #:class-finalized-p
+ #:finalize-inheritance
+ #:class-prototype
+ #:class-name
+ #:class-precedence-list
+ #:class-direct-superclasses
+ #:class-direct-subclasses
+ #:class-direct-slots
+ "CLASS-SLOTS"
+ "SLOT-DEFINITION-NAME"
+ "SLOT-DEFINITION-TYPE"
+ "SLOT-DEFINITION-INITARGS"
+ "SLOT-DEFINITION-INITFUNCTION"
+ "SLOT-DEFINITION-INITFORM"
+ "SLOT-DEFINITION-READERS"
+ "SLOT-DEFINITION-WRITERS"
+ "SLOT-DEFINITION-ALLOCATION"
+ #:ensure-class
+ #:funcallable-standard-class
+ #:method-specializers
+ #:method-qualifiers
+ #:method-lambda-list
+ #:method-generic-function
+ #:generic-function-methods
+ #:generic-function-name
+ "GENERIC-FUNCTION-LAMBDA-LIST"
+ "GENERIC-FUNCTION-ARGUMENT-PRECEDENCE-ORDER"
+ #:eql-specializer
+ #:eql-specializer-object
+ #:intern-eql-specializer
+ #:compute-applicable-methods-using-classes))
-(eval-when (:compile-toplevel :load-toplevel :execute)
- (do-external-symbols (sym :clos)
- (export sym :clim-mop)))
+;;;(eval-when (:compile-toplevel :load-toplevel :execute)
+;;; (do-external-symbols (sym :clos)
+;;; (export sym :clim-mop)))
(eval-when (:compile-toplevel :load-toplevel :execute)
(export '(clim-lisp-patch::defclass)