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 ,@modes) () + ;; We're kind and put the active modes into the class name. + (eval `(defclass ,(gensym (format nil "~A~{-~A~}" (string modual) modes)) + (,modual ,@modes) + ((%enabled-modes :reader enabled-modes + :initform ',modes)) (:metaclass modual-class)))))
(defun find-class-implementing-modes (modual modes)