Mon Aug 22 04:57:09 CDT 2005 pc@p-cos.net * Initial revision. Sat Sep 10 05:34:05 CDT 2005 pc@p-cos.net * Removed spurious &allow-other-keys declarations. Sat Sep 10 06:04:50 CDT 2005 pc@p-cos.net * cl:defmethod reverted to defmethod. I have changed one method definition to cl:defmethod because the LispWorks version of closer-mop redefines the defmethod macro. In that one case that led to a lack of recognizing additional keyword arguments. Closer-mop now includes a workaround for this, so that the workaround in ContextL is not necessary anymore. Sat Sep 10 09:46:35 CDT 2005 pc@p-cos.net * Added define-layered-method, removed naming convention for layered methods. Until now, methods for layered functions had to be defined like this: (defmethod -function-name- ((layer some-layer) args ...) ...) People found this confusing and inconsistent with the other defining macros, i.e. define-layered-class and define-layered-function. Furthermore, they didn't like the naming convention that layered functions are named like function-name, and their methods are named like -function-name- (i.e. with preceding and succeeding dashes). So this has been replaced, and now the methods for layered functions are defined like that: (define-layered-method :in-layer some-layer (args ...) ...) Note that the :in-layer declaration has to come before the qualifiers, if any. Thanks to Bjoern Lindberg and Thomas F. Burdick for the concrete suggestions. Among other things, the new approach also has the advantage that the implementation of layered functions doesn't shine through. Sat Sep 10 16:39:15 CDT 2005 pc@p-cos.net * Added the possibility to ensure inactive layers + a number of bugfixes. It's now possible to say with-inactive-layers, and the functional equivalents to with-active-layers have also been adapted to enable inactivation of layers. During the process, a number of bugs have been revealed, especially wrt the previous removal of &allow-other-keys and problems related to finalize-inheritance in Allegro Common Lisp. Sun Sep 11 07:47:06 CDT 2005 pc@p-cos.net * Added checks for layer inheritance. Inheritance between layers is not officially supported yet, but I have already added checks for ensuring active and inactive that would result in incorrect layer orderings. Sun Sep 11 07:49:39 CDT 2005 pc@p-cos.net tagged 0.1 Sun Sep 11 16:27:23 CDT 2005 pc@p-cos.net * Added safe-special-symbol-progv and special-symbol-progv, plus a few optimization tweaks in cx-layer. Wed Sep 14 18:24:09 CDT 2005 pc@p-cos.net * Further performance tweaks and a workaround for a bug in OpenMCL. Mon Sep 19 10:50:04 CDT 2005 pc@p-cos.net * Automatically generated writers need a different argument-precedence-order than the default. Wed Oct 19 13:00:43 CDT 2005 pc@p-cos.net * Fixed typo in cx-layered-class.lisp Wed Oct 26 10:33:15 CDT 2005 pc@p-cos.net * Fixed a bug in the compiler macros in cx-layer. Sun Oct 30 08:28:33 CST 2005 pc@p-cos.net * Resurrected better error handling for rebinding non-special places from AspectL. Sun Oct 30 08:29:23 CST 2005 pc@p-cos.net * Changing non-special places to special places now also works in Allegro. Wed Nov 30 14:26:37 CST 2005 pc@p-cos.net * Added a comment for an otherwise confusing method definition. Wed Nov 30 15:47:08 CST 2005 pc@p-cos.net * Improved parsing of layered methods. The :method option in define-layered-function is now parsed correctly, similar to how define-layered-method is parsed and processed. Furthermore, one can now give a name to the otherwise gensymmed layer parameter for a layered method. This is useful when one wants to call call-next-method with changed parameters. In that case, the layer parameter must be passed explicitly. (That's not optimal, but the best workaround I can think of.) Example: (define-layered-method some-function :in-layer (layer some-layer) (&rest some-parameters) (apply #'call-next-method layer ... changed parameters ... some-parameters)) Tue Dec 20 04:48:06 CST 2005 pc@p-cos.net * Fix in updating non-special slots. Tue Dec 20 10:20:53 CST 2005 pc@p-cos.net * Switched to symbols in the asdf definition. Tue Dec 20 13:53:04 CST 2005 pc@p-cos.net * Added a new namespace for layers. Before this change, layers were simply classes with the same name as given in the deflayer form. This potentially leads to name conflicts between classes and layers. Since Common Lisp favors multiple namespaces, I have changed this, so now layers reside in their own namespace. (They are still internally implemented as classes.) Wed Dec 28 15:58:09 CST 2005 pc@p-cos.net * Replaced a reduce idiom with a better understandable loop idiom. Tue Jan 3 05:30:36 CST 2006 pc@p-cos.net * Removed a spurious #:. Thu Jan 19 14:33:02 CST 2006 pc@p-cos.net tagged 0.2