-
Francois-Rene Rideau authored
Change implementation strategy for operation metadata methods bundle-type, gather-operation and gather-type. Upgrading from 3.1.7 or earlier yielded incorrect values for the metadata slots of the bundle operation classes, e.g. (gather-type (make-operation 'monolithic-lib-op))) was stuck to :STATIC-LIBRARY instead of its correct value :OBJECT since 3.2.0. The reason was that we were storing the value for this method in the :initform for the slot gather-type, which started as clever way of defining it as part of the DEFCLASS form for the class itself; however, this usage pattern does not work well with hot code upgrade: if the :initform changes during ASDF upgrade, the slot is already initialized, so its value isn't updated. That would require a method on UPDATE-INSTANCE-FOR-REDEFINED-CLASS, which hopefully should be invoked despite the fact that the shape of the class hasn't changed. A new slot won't be allocated because (a) we ensure that our operation classes are sing...
8e68ac22