[mcclim-devel] patch to fix-acl.lisp

Robert P. Goldman rpgoldman at sift.info
Thu Jan 27 21:59:13 UTC 2005


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)




More information about the mcclim-devel mailing list