On 24 Apr 2014, at 3:19 , Henrik Johansen <henrik.s.johansen@veloxit.no> wrote:
On 24 Apr 2014, at 2:24 , Marcus Denker <marcus.denker@inria.fr> wrote:
On 24 Apr 2014, at 14:21, Sean P. DeNigris <sean@clipperadams.com> wrote:
GitHub wrote
Log Message: ----------- 30830
Which issues did this include?
https://pharo.fogbugz.com/f/cases/13028/
I integrated it with a .cs as it did not work as a slice.
I will rever 830, 831 and 832 (which is just that + reload of dirty + the postscript for the change).
But then we need to fix the issue of 13028â¦
Marcus
Maybe itâs just me, but isnât it entirely wrong to fix subclasses being kept unmodified when a Shared Variable is added using change propagation? To me, it seems that mechanism is intended only to be used when a class change actually affects its subclassâ definition (iow, when Fields are modified...).
I mean, it *should* be possible to setup the new class being migrated to with proper subclasses instvar, though I canât exactly see where that is through all the layers of indirectionâ¦
Cheers, Henry
What is the purpose of self subclasses: nil in Class >> superclass:methodDictionary:format:? Is there any case it might be needed except when format changes, and old subclasses are invalid? (and will it ever crash even then until change is propagated and the old instances becomeâd into subclasses of proper format?) If not, it might be a decent change to simply change that method to: Class >> superclass: aClass methodDictionary: mDict format: fmt "Basic initialization of the receiver" self format = fmt ifFalse:[self subclasses: nil. ]. super superclass: aClass methodDictionary: mDict format: fmt. so only cases where format changes are actually responsible for re-registering properly updated subclasses. (which excludes addition of shared vars/pool variables) Cheers, Henry