Skip to content
  1. Feb 02, 2010
  2. Jan 20, 2010
  3. Dec 04, 2009
  4. Nov 21, 2009
  5. Nov 14, 2009
  6. Jun 06, 2009
  7. Apr 12, 2009
  8. Feb 07, 2009
  9. Jan 01, 2009
  10. Dec 13, 2008
  11. Nov 29, 2008
  12. Jun 01, 2008
  13. Nov 26, 2007
    • Pascal Costanza's avatar
      Added a garbage collector for layer caches. · 6274f673
      Pascal Costanza authored
      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.
      
      darcs-hash:3fa63d976bbdcff0ad9a75afc1fa0db696ec8139
      6274f673
  14. Nov 16, 2007
  15. Nov 12, 2007
  16. Apr 21, 2007
  17. Dec 28, 2006
  18. Aug 26, 2006
  19. Aug 21, 2006
  20. Mar 20, 2006
  21. Mar 18, 2006
    • Pascal Costanza's avatar
      Slots in singleton classes and in layers can now be reinitialized. · 59170bfa
      Pascal Costanza authored
      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.
      
      darcs-hash:b2fb89374af06a505cd2aa36964ae632b9ab3520
      59170bfa
  22. Mar 10, 2006
  23. Mar 02, 2006
  24. Mar 01, 2006
  25. Dec 20, 2005
    • Pascal Costanza's avatar
      Added a new namespace for layers. · 7bbc058b
      Pascal Costanza authored
      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.)
      
      darcs-hash:8d44351700472fed4f93f563cf8ebc48107a8d2c
      7bbc058b
    • Pascal Costanza's avatar
      Switched to symbols in the asdf definition. · 891aa162
      Pascal Costanza authored
      darcs-hash:415903ce35153f8f3afc2535524a92d952176716
      891aa162
  26. Aug 22, 2005