Mon Aug 22 11:57:09 CEST 2005 pc@p-cos.net * Initial revision. Sat Sep 10 12:34:05 CEST 2005 pc@p-cos.net * Removed spurious &allow-other-keys declarations. Sat Sep 10 13:04:50 CEST 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 16:46:35 CEST 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 23:39:15 CEST 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 14:47:06 CEST 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 14:49:39 CEST 2005 pc@p-cos.net tagged 0.1 Sun Sep 11 23:27:23 CEST 2005 pc@p-cos.net * Added safe-special-symbol-progv and special-symbol-progv, plus a few optimization tweaks in cx-layer. Thu Sep 15 01:24:09 CEST 2005 pc@p-cos.net * Further performance tweaks and a workaround for a bug in OpenMCL. Mon Sep 19 17:50:04 CEST 2005 pc@p-cos.net * Automatically generated writers need a different argument-precedence-order than the default. Wed Oct 19 20:00:43 CEST 2005 pc@p-cos.net * Fixed typo in cx-layered-class.lisp Wed Oct 26 17:33:15 CEST 2005 pc@p-cos.net * Fixed a bug in the compiler macros in cx-layer. Sun Oct 30 15:28:33 CET 2005 pc@p-cos.net * Resurrected better error handling for rebinding non-special places from AspectL. Sun Oct 30 15:29:23 CET 2005 pc@p-cos.net * Changing non-special places to special places now also works in Allegro. Wed Nov 30 21:26:37 CET 2005 pc@p-cos.net * Added a comment for an otherwise confusing method definition. Wed Nov 30 22:47:08 CET 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 11:48:06 CET 2005 pc@p-cos.net * Fix in updating non-special slots. Tue Dec 20 17:20:53 CET 2005 pc@p-cos.net * Switched to symbols in the asdf definition. Tue Dec 20 20:53:04 CET 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 22:58:09 CET 2005 pc@p-cos.net * Replaced a reduce idiom with a better understandable loop idiom. Tue Jan 3 12:30:36 CET 2006 pc@p-cos.net * Removed a spurious #:. Thu Jan 19 21:33:02 CET 2006 pc@p-cos.net tagged 0.2 Fri Jan 27 15:34:25 CET 2006 pc@p-cos.net * Removed :method-class option from ensure-layered-method in CMUCL and SBCL. Since the implementation of ensure-method in CMUCL's and SBCL's Closer to MOP implementation has changed, ContextL's ensure-layered-method cannot accept the :method-class option anymore. This restriction can hopefully be removed again in the future. Fri Jan 27 15:37:07 CET 2006 pc@p-cos.net * Switched from slot-xxx-using-class to slot-xxx in a shared-initialize definition. CLisp seems to have problems with calling slot-xxx-using-class functions within shared-initialize under some circumstances, so I switched to calling the plain slot-xxx functions instead. Fri Jan 27 23:42:16 CET 2006 pc@p-cos.net * Replaced a few loops with calls to the new Closer to MOP utility function required-args. Fri Feb 3 13:10:40 CET 2006 pc@p-cos.net tagged 0.21 Fri Feb 24 22:47:23 CET 2006 pc@p-cos.net * Update code because MCL is disappearing from OpenMCL's features list Wed Mar 1 21:10:34 CET 2006 pc@p-cos.net * Updated the version number and copyright information in the system definition. Thu Mar 2 16:41:00 CET 2006 pc@p-cos.net * Add the metaclass singleton-class. Thu Mar 2 16:43:47 CET 2006 pc@p-cos.net * A layer is now a subclass of special-class and singleton-class. Thu Mar 2 16:47:15 CET 2006 pc@p-cos.net * Reordered ensure-inactive-layer-context to allow for inlining. Thu Mar 2 16:48:52 CET 2006 pc@p-cos.net * Minor edits. Thu Mar 2 16:49:39 CET 2006 pc@p-cos.net * Added a few calls to load-time-value. Thu Mar 2 16:50:11 CET 2006 pc@p-cos.net * Moved function name predicates to cx-util.lisp. Thu Mar 2 16:50:44 CET 2006 pc@p-cos.net * Refactored shifting of special slots so that it works for slots with :allocation :class as well. Fri Mar 3 17:10:20 CET 2006 pc@p-cos.net * Added clearer separation between layers and layer-classes. Layers and layer classes were somewhat mixed up until recently. (See also comments about singleton classes.) They are now more cleanly separated. Note that previous uses of find-layer have to be replaced by calls to find-layer-class. The function find-layer has now a slightly different meaning - it returns the prototye instance for a layer, not its class anymore. Fri Mar 3 17:14:17 CET 2006 pc@p-cos.net * Cleaned up implementation of singleton classes. Accessors that automagically access slots in a class prototype when slots in the related class are attempted to be accessed are now removed again. These automagic accessors could have easily led to confusing base level and meta level code. Singleton classes can now also have initargs. Fri Mar 3 17:16:56 CET 2006 pc@p-cos.net * Reimplemented shared-initialize for special classes. Reimplementation of shared-initialize for special classes was necessary because otherwise slots with :allocation :class would have behaved erroneously when they are assigned to via initargs. (At least that was the case in one CL implementation, probably due to some optimization in the CLOS implementation that is now removed with the plain shared-initialize implementation.) Sun Mar 5 13:30:37 CET 2006 pc@p-cos.net * Added with-special-initargs / with-special-initargs* to special classes. Thanks to Drew Crampsie for the main idea. Sun Mar 5 13:31:50 CET 2006 pc@p-cos.net * Added :initarg processing in with-active-layers / with-active-layers*. Thanks to Nick Bourner for the main idea. Sun Mar 5 14:26:24 CET 2006 pc@p-cos.net * Removed function-name-p in cx-util and changed the function name test in cx-layered-function accordingly. Sun Mar 5 14:56:46 CET 2006 pc@p-cos.net * Removed a spurious gensym in cx-layered-function. Sun Mar 5 15:16:24 CET 2006 pc@p-cos.net * Added calls to finalize-inheritance in find-layer, so that it also works in Allegro Common Lisp. Sun Mar 5 15:17:15 CET 2006 pc@p-cos.net * Added a test suite for special slots and with-special-initargs. Sun Mar 5 17:13:36 CET 2006 pc@p-cos.net * Turned many uses of *active-context* into a reference to a lexically scoped parameter active-context. This is a first step towards providing a MOP for layer activation/deactivation. Mon Mar 6 22:10:23 CET 2006 pc@p-cos.net * Renamed layer-object and layer-class to standard-layer-object and standard-layer-class, as another preparatory step towards providing a MOP for layer activation/deactivation. Mon Mar 6 22:12:26 CET 2006 pc@p-cos.net * Added a utility script for batch processing of the test cases. Tue Mar 7 21:48:26 CET 2006 pc@p-cos.net * Added a function call-next-layered-method as a more convenient way to perform a call-next-method with changed arguments. Wed Mar 8 14:52:26 CET 2006 pc@p-cos.net * Exported singleton classes. Fri Mar 10 00:40:19 CET 2006 pc@p-cos.net * Added two optional parameters to find-singleton. Fri Mar 10 01:40:04 CET 2006 pc@p-cos.net * Added functions to remove layers and layered functions. Fri Mar 10 01:40:42 CET 2006 pc@p-cos.net * Added an optional environment parameter to find-layer-class. Fri Mar 10 17:07:11 CET 2006 pc@p-cos.net * Added activate-layer-using-class and deactivate-layer-using-class for metacircular layer activation/deactivation. Fri Mar 10 17:09:59 CET 2006 pc@p-cos.net * Added a test case for metacircular layer activation. Fri Mar 10 17:10:20 CET 2006 pc@p-cos.net * Added two benchmarks. Sat Mar 18 22:05:39 CET 2006 pc@p-cos.net * Slots in singleton classes and in layers can now be reinitialized. This is achieved by the :reinitialize option for a slot, like this: (defclass some-class () ((some-slot :initform 'foo :reinitialize t)) (:metaclass singleton-class)) (deflayer some-layer () ((some-slot :initform 'bar :reinitialize t))) The default value for the :reinitialize option is nil. If it is nil, then the slot will only be initialized when the class/layer is initialized. When the class/layer already exists before the new defclass/deflayer form is processed, the slot keeps its old value, as is the case for slots with :allocation :class in plain CLOS. If the :reinitialize option is true, however, then the respective slot will always be re/initialized with the value given with the :initform, no matter what. If no :initform is given, the slot is made unbound, again no matter what. In other words, a slot with :reinitialize nil behaves similar to a defvar form while a slot with :reinitialize t behaves similar to a defparameter form. Currently, CMUCL and MCL have a bug wrt reinitialization of slots with :allocation :class, which leads to subsequent bug in ContextL. This has the consequence that special slots (with the option :special set to true) in singleton classes, in layers and in special classes for slots with :allocation :class do not work correctly anymore when the respective class/layer is reinitialized. As soon as the bugs in CMUCL and MCL are fixed, I can also fix the related bug in ContextL. Mon Mar 20 07:43:41 CET 2006 pc@p-cos.net * New version of reinitializable singleton/layer slots. The previous one had a buggy corner case. Mon May 1 10:30:59 CEST 2006 pc@p-cos.net * Added support for ecl. Mon May 1 10:31:42 CEST 2006 pc@p-cos.net * Switched to another idiom for disabling initarg checks for partial classes. Mon May 1 10:32:15 CEST 2006 pc@p-cos.net * Restricted MOP-friendly initialization of special slots to CL implementations that actually need it. Thu Jul 20 12:55:17 CEST 2006 pc@p-cos.net * Replaced calls to finalize-inheritance with calls to ensure-finalized. Mon Aug 21 22:39:29 CEST 2006 pc@p-cos.net * Removed a spurious in-package declaration in the .asd file. Sat Aug 26 15:11:23 CEST 2006 pc@p-cos.net * In SBCL, ensure-layered-method now can take the :method-class argument again. Sat Aug 26 15:13:49 CEST 2006 pc@p-cos.net tagged 0.3 Sat Aug 26 15:14:14 CEST 2006 pc@p-cos.net * Updated version number in the .asd file. Mon Sep 11 02:47:39 CEST 2006 attila.lendvai@gmail.com * Added a block to define-layered-method's body, so return-from works as expected Sat Sep 30 17:30:14 CEST 2006 pc@p-cos.net * Fixed minor bug in block names for layered methods. Sat Oct 28 13:38:21 CEST 2006 pc@p-cos.net * Fixed a bug in some (loop var on list ...) idioms. Thanks to Attila Lendvai. Thu Nov 9 16:48:25 CET 2006 pc@p-cos.net * Removed the inline declaration for call-next-layered-method in LispWorks because this confuses LispWorks. Thu Nov 30 21:30:10 CET 2006 pc@p-cos.net * Checked against SBCL 1.0. Modified call to ensure-method for SBCL. See related patch for Closer to MOP. The current version of ensure-method for SBCL doesn't understand the :method-class parameter (like most other CL implementations, btw). Sat Dec 16 17:47:39 CET 2006 pc@p-cos.net * Fixed some subtypep bugs in metaclass initialization. Sat Dec 16 17:52:04 CET 2006 pc@p-cos.net * Added a script to run the figure editor example. Sat Dec 16 17:53:21 CET 2006 pc@p-cos.net * Added a new version of the figure editor example. Wed Dec 27 15:24:55 CET 2006 pc@p-cos.net * Reinstated the former ensure-method implementation for SBCL. Wed Dec 27 15:25:20 CET 2006 pc@p-cos.net * Added a script for the second figure editor example. Thu Dec 28 01:31:49 CET 2006 pc@p-cos.net * Added the figure editor examples to the automated test suite. Thu Dec 28 16:24:50 CET 2006 pc@p-cos.net tagged 0.31 Thu Dec 28 16:25:04 CET 2006 pc@p-cos.net * Updated version number in the .asd file. Sat Apr 7 12:00:40 CEST 2007 pc@p-cos.net * Fixed bugs in the implementation of special classes / special slots, especially wrt class reinitialization. Sat Apr 21 21:48:38 CEST 2007 pc@p-cos.net * Incremented version number to 0.32. Sat Apr 21 21:50:45 CEST 2007 pc@p-cos.net tagged 0.32 Sat Apr 21 22:01:27 CEST 2007 pc@p-cos.net * Several minor and major changes. This version of ContextL (0.4) incorporates several minor and major changes as a preparation towards a 1.0 release. Here is a list of the changes: --- Changes in the visible API --- + The functions activate-layer and activate-layer-using-class have been renamed to adjoin-layer and adjoin-layer-using-class, and deactivate-layer and deactivate-layer-using-class have been renamed to remove-layer and remove-layer-using-class. The new names reflect better what these functions actually do. + Removed the functions funcall-with-layers and apply-with-layers. Use the functions funcall-with-layer-context and apply-with-layer-context instead. + The deflayer macro doesn't take a :layer-class option anymore, but instead a :metaclass option. (I have tried to abstract from the internal representation as CLOS classes, but that turns out to be useless for the time being.) --- Additions to the visible API --- + Added the functions funcall-with-layer-context and apply-with-layer-context. + Added the function current-layer-context. This captures the set of currently active layers, which can later be reinstalled with funcall-with-layer-context and apply-with-layer-context. + Added the metaclasses layered-function and layered-method. However, they should better not be used directly. For programmatically creating layered functions and methods, better use the functions ensure-layered-function and ensure-layered-method. + Added the readers layered-function-definer, layered-function-argument-precedence-order, layered-function-lambda-list. + Added the readers layered-method-lambda-list, layered-method-specializers, layered-method-layer. + Added the readers partial-class-defining-classes, partial-class-defining-metaclass and the class partial-object, which is the default superclass for partial classes. + Added the readers slot-definition-layered-readers and slot-definition-layered-writers. + You can now specify an :in-layer option in slot specifiers. This means that a slot within a define-layered-class form can be declared to be in a different layer than the respective class itself. This allows, for example, to group slots of different layers in the same define-layered-class form. + Layers and layered functions can now also have uninterned symbols as names. This enables a form of anonymous layers and anonymous layered functions when gensym is used to create names for them. + Added the function ensure-layer for programmatically creating layers. --- Internal changes, which are not necessarily visible --- + If someone tries to define default initargs for singleton classes or layers, ContextL emits a warning. The error handling is improved for the case when the :allocation for a singleton or layer-specific slot is set to something else than :class. + Some of the :in-layer keyword parameters to internal functions have previously taken lists of layers for technical reasons. This is not the case anymore. + Changed the handling of the :defining-metaclass option for partial classes. + Layered direct slot definition metaobjects don't take :layered-reader, :layered-writer and :layered-accessor initargs anymore, but rather :layered-readers and :layered-writers, which is closer to how the CLOS MOP works as well. + Added methods for print-object for the major classes and metaclasses, such that, for example, debug output now prints more nicely. Sat Apr 21 22:47:13 CEST 2007 pc@p-cos.net * Incremented the version number to 0.40. Sat Apr 21 22:47:42 CEST 2007 pc@p-cos.net tagged 0.40 Mon Apr 30 15:51:57 CEST 2007 pc@p-cos.net * Fixed a typo. Sat May 26 17:50:18 CEST 2007 pc@p-cos.net * Added an initform to layer-name in standard-layer-class to avoid entering the debugger when printing instances. (due to Attila Lendvai) Mon Sep 10 15:26:17 CEST 2007 pc@p-cos.net * Added :in as an alternative for :in-layer. Wed Sep 26 19:47:14 CEST 2007 pc@p-cos.net * Added support for Allegro 8.1 in the test suite. Mon Nov 12 17:46:55 CET 2007 pc@p-cos.net * ContextL news depends on portable-threads of the GBBopen project. Mon Nov 12 17:48:20 CET 2007 pc@p-cos.net * Added a missing ignore declaration. Mon Nov 12 17:48:45 CET 2007 pc@p-cos.net * Caching of layer contexts should now be thread-safe. Mon Nov 12 17:49:28 CET 2007 pc@p-cos.net * Added (setf current-layer-context). Mon Nov 12 17:49:52 CET 2007 pc@p-cos.net * Added a rationale why read operatoions on special slots should be thread-safe outside of object initializations. Mon Nov 12 17:51:14 CET 2007 pc@p-cos.net * Enclosing uninterned symbols should now be thread-safe. Fri Nov 16 12:33:34 CET 2007 pc@p-cos.net * Removed explicit loading of the GBBopen system definitions. Sat Nov 17 20:14:17 CET 2007 pc@p-cos.net * Added new introspective function active-layers. Sat Nov 17 20:16:02 CET 2007 pc@p-cos.net * Added slightly more flexible error handling when find-layer and find-layer-class don't find a layer for a given name. Mon Nov 26 01:00:14 CET 2007 pc@p-cos.net * Added a garbage collector for layer caches. Whenever a layer definition is reinitialized (for example by calling reinitialize-instance or by evaluating a deflayer form for an already existing layer), all its entries in the layer activation caches are removed. This guarantees that adjoin-layer-using-class and remove-layer-using-class are called again when such a layer is activated or deactivated, even if those two generic functions have previously returned t as second values for that layer. Since layer-makunbound is implemented in terms of (setf find-class) and (setf class-name), which triggers a call to reinitialize-instance according to the CLOS MOP specification, this means that layer-makunbound causes the respective layer to be removed from the caches as well. Likewise, if adjoin-layer-using-class and remove-layer-using-class are specialized on a particular layer metaclass, all entries for layers of that layer metaclass are also removed from the layer activation caches. This happens also when methods for these generic functions are redefined. Mon Nov 26 01:10:51 CET 2007 pc@p-cos.net * Reorganized the source code to support garbage collection of layer activation caches. Mon Nov 26 01:12:54 CET 2007 pc@p-cos.net * Added a workaround for LispWorks, where :default-initargs for generic function metaclasses apparently don't always work. Mon Nov 26 01:14:04 CET 2007 pc@p-cos.net * ensure-active-layer and ensure-inactive-layer now return nothing. Mon Nov 26 01:14:28 CET 2007 pc@p-cos.net * A specializer for a method may not be a class, so print the specializer metaobject instead of the class name. Mon Nov 26 01:15:07 CET 2007 pc@p-cos.net * Removed support in the test suite for old versions of Allegro Common Lisp. Mon Nov 26 01:15:48 CET 2007 pc@p-cos.net * Added more scripts for running the test suite in different CL implementations. Mon Nov 26 01:16:41 CET 2007 pc@p-cos.net * Force recompilation of ContextL in the first test file. Wed Nov 28 00:22:11 CET 2007 pc@p-cos.net * Removed the fix for (sometimes) incorrect method metaobject classes. This was caused by an underlying bug in Closer to MOP which is now fixed over there. Sat Dec 1 01:20:44 CET 2007 pc@p-cos.net * Simplified mapping of layer-related names to internal names, which should also make things easier to read when debugging ContextL programs. Sat Dec 1 18:05:02 CET 2007 pc@p-cos.net * Some minor code simplifications. Wed Dec 12 12:01:16 CET 2007 attila.lendvai@gmail.com * fix: (define-layered-method foo () "This shouldn't be a docstring!") Sun Dec 16 22:54:18 CET 2007 pc@p-cos.net * Made locks more coarse-grained, and made adjoin-layer and remove-layer more efficient. Mon Dec 17 22:22:04 CET 2007 pc@p-cos.net * Another variation of making ContextL thread-safe. This time it should actually work ;), and it is again more fine-grained, that is, more efficient than the previous version. Sat Apr 5 15:47:46 CEST 2008 pc@p-cos.net * Added conditionalization for Clozure Common Lisp. Sat May 10 01:17:30 CEST 2008 pc@p-cos.net * Adapted a test case so that it runs in CCL. Sun Jun 1 21:56:22 CEST 2008 pc@p-cos.net * Updated version number and copyright information in the system definitions. Sun Jun 1 21:56:53 CEST 2008 pc@p-cos.net tagged 0.50 Wed Jun 4 01:06:01 CEST 2008 pc@p-cos.net * Fixed a minor bug for mapping external to internal names. This is a minor bug, because it is only related to mapping external names that are uninterned symbols, which should be very rare. Sat Sep 20 16:35:15 CEST 2008 pc@p-cos.net * Added support for CCL 1.2 in the test suite. Thu Oct 2 15:48:06 CEST 2008 pc@p-cos.net * ensure-layered-method now accepts function designators instead of function names (due to Drew Crampsie). Thu Nov 6 13:31:39 CET 2008 pc@p-cos.net * Replaced some calls to subtypep with calls to subclassp. Sat Nov 29 20:02:25 CET 2008 pc@p-cos.net * Fixed a typo in a comment. Sat Nov 29 20:05:02 CET 2008 pc@p-cos.net * Updated version number in the system definition. Sat Nov 29 20:05:59 CET 2008 pc@p-cos.net tagged 0.51 Sat Dec 13 18:17:02 CET 2008 pc@p-cos.net * Renamed alternative system definitions, to make tthe package work nicer with asd-install. Sat Dec 13 19:07:58 CET 2008 pc@p-cos.net * Added default-initargs to some metaclasses to make them compatible with new SBCL release. Sat Dec 13 19:09:10 CET 2008 pc@p-cos.net * Fixed a minor backquote inelegance. Sat Dec 13 19:09:47 CET 2008 pc@p-cos.net * Updated version number to 0.52. Sat Dec 13 19:10:27 CET 2008 pc@p-cos.net tagged 0.52 Thu Jan 1 16:19:31 CET 2009 pc@p-cos.net * Changed mapping to internal names to avoid a use of a "stop the world" synchronization primitive. Sat Feb 7 13:58:32 CET 2009 pc@p-cos.net * Switched to a uniform model for optional features. Sat Feb 7 14:13:52 CET 2009 pc@p-cos.net * Added support for first-class dynamic environments. Sat Feb 7 14:17:39 CET 2009 pc@p-cos.net * Added a slight optimization for layered function calling. Sat Feb 7 14:18:28 CET 2009 pc@p-cos.net * Made the internal interface for ensuring unique internal names slightly more general. Sat Feb 7 14:19:10 CET 2009 pc@p-cos.net * Added a Clozure-specific test suite. Sat Mar 14 21:42:12 CET 2009 pc@p-cos.net * Improved the return value of defdynamic. Mon Mar 23 16:35:32 CET 2009 pc@p-cos.net * Ensured that reinstalling a dynamic environment also updates the dynamic wind stack (due to Theam Yong Chew). Mon Mar 23 16:36:43 CET 2009 pc@p-cos.net * Ensured that dynamic-let and friends can be used without a prior defdynamic (due to Theam Yong Chew). Sun Apr 12 18:04:53 CEST 2009 pc@p-cos.net * Removed dependencies on portable-threads and trivial-garbage, plus minor multi-threading improvements. Sun Apr 12 18:06:53 CEST 2009 pc@p-cos.net * Removed a function that is not needed when dynamic environments are disabled. Mon Apr 13 11:50:14 CEST 2009 pc@p-cos.net * Added cx-threads.lisp. Tue Apr 14 09:34:02 CEST 2009 pc@p-cos.net * Improved *features*. Thu Apr 16 00:47:49 CEST 2009 pc@p-cos.net * Fixed a bug in the new thread support (due to Attila Lendvai), plus a minor improvement. Sat May 23 17:14:31 CEST 2009 pc@p-cos.net * Improved extensibility of ContextL metaclasses. Sat May 23 17:15:48 CEST 2009 pc@p-cos.net * Suppressed a spurious warning in Allegro Common Lisp (due to Willem Broekema). Sun Jun 7 00:47:08 CEST 2009 pc@p-cos.net * Fixed a missing dependency (due to Attila Lendvai). Sat Sep 12 00:28:28 CEST 2009 pc@p-cos.net * Removed unnecessary redefinition warnings for layered classes in Allegro and LispWorks (due to Tobias Rittweiler, with help from Duane Rettig and Martin Simmons). Sat Sep 12 00:29:50 CEST 2009 pc@p-cos.net * Removed a useless inline declaration. Mon Nov 2 16:16:06 CET 2009 pc@p-cos.net * Improved recognition of function names (due to Attila Lendvai). Wed Nov 11 15:50:15 CET 2009 pc@p-cos.net * Ensure that named and anonymous layers can be used interchangeably. Sat Nov 14 21:28:07 CET 2009 pc@p-cos.net * Ensure that SCL doesn't load ContextL. Sun Nov 15 00:51:41 CET 2009 pc@p-cos.net * Fixed and simplified conditionalization for Clozure Common Lisp (to fix clashes with MCL, and to remove mentions of OpenMCL). Sun Nov 15 00:54:19 CET 2009 pc@p-cos.net * Resurrected and updated support for MCL, now at MCL 5.2.1. Sun Nov 15 00:55:06 CET 2009 pc@p-cos.net * Removed spurious duplicate method definition. Tue Nov 17 18:11:23 CET 2009 pc@p-cos.net * In Clozure, ensure-method now supports the :method-class option. Sat Nov 21 20:39:50 CET 2009 pc@p-cos.net * Provide dynamic-wind in a separate system definition. Provide support for that part of ContextL for SCL. Mon Nov 30 15:00:57 CET 2009 pc@p-cos.net * Moved a package dependency to the main package declaration for LispWorks. Mon Nov 30 15:03:25 CET 2009 pc@p-cos.net * Generic function metaobject classes are now supported in Allegro. Mon Nov 30 15:04:53 CET 2009 pc@p-cos.net * Added support for ECL (with lots of thanks to Alexander Gravilov). Fri Dec 4 17:16:11 CET 2009 pc@p-cos.net * Recorded new version. Fri Dec 4 17:16:31 CET 2009 pc@p-cos.net tagged 0.6 Mon Dec 14 13:30:45 CET 2009 pc@p-cos.net * Warn, not error, when there are too many documentation strings in a method body. Wed Jan 20 12:35:52 CET 2010 pc@p-cos.net * Added support for LispWorks 6.0. Wed Jan 20 14:13:50 CET 2010 pc@p-cos.net * Recorded new version number. Wed Jan 20 14:14:14 CET 2010 pc@p-cos.net tagged 0.61