[mcclim-cvs] CVS mcclim/ESA

thenriksen thenriksen at common-lisp.net
Tue Jan 29 14:36:00 UTC 2008


Update of /project/mcclim/cvsroot/mcclim/ESA
In directory clnet:/tmp/cvs-serv18213/ESA

Modified Files:
	utils.lisp 
Log Message:
Changed the way the list of active modes are stored.

Requires recompilation of all modes definitions.


--- /project/mcclim/cvsroot/mcclim/ESA/utils.lisp	2008/01/11 02:44:14	1.9
+++ /project/mcclim/cvsroot/mcclim/ESA/utils.lisp	2008/01/29 14:36:00	1.10
@@ -446,9 +446,8 @@
 (defgeneric enabled-modes (modual)
   (:documentation "Return a list of the names of the modes
 directly enabled for `modual'.")
-  (:method-combination append)
-  (:method append ((modual t))
-     '()))
+  (:method ((modual t))
+    '()))
 
 (defgeneric mode-enabled-p (modual mode-name)
   (:documentation "Return true if `mode-name' is enabled for
@@ -516,7 +515,11 @@
   ;; Avert thine eyes, thy of gentle spirit.
   (if (null modes)
       (find-class modual)
-      (eval `(defclass ,(gensym) (,modual , at modes) ()
+      ;; We're kind and put the active modes into the class name.
+      (eval `(defclass ,(gensym (format nil "~A~{-~A~}" (string modual) modes))
+                 (,modual , at modes)
+               ((%enabled-modes :reader enabled-modes
+                                :initform ',modes))
                (:metaclass modual-class)))))
 
 (defun find-class-implementing-modes (modual modes)




More information about the Mcclim-cvs mailing list