[squeak-dev] Re: The Trunk: Collections-dtl.276.mcz

Andreas Raab andreas.raab at gmx.de
Sun Jan 10 18:19:24 UTC 2010


David T. Lewis wrote:
> On Sun, Jan 10, 2010 at 03:09:10AM +0100, Levente Uzonyi wrote:
>> Why aren't these methods in the 311Deprecated package?
> 
> Good question, and I'm not sure which is better in this case. I think
> the choice should be driven by whether we view these as deprecated,
> implying that they would be removed perhaps a year or so from now, or
> if they are intended as compatability methods that might stay in the
> image for a longer period of time.

I agree. The reason why I put findElementOrNil: back right away was that 
it's being used by DynamicBindings of which a multitude of versions 
exists in many places on the web. It's virtually impossible to fix all 
the existing versions.

> I'm pretty sure that the folks doing e.g. Seaside are going to feel
> the same way, so we need to be careful to provide compatibility
> methods where appropriate, but not go overboard with it and clutter
> up the image with junk. So, to return to the original question,
> I'm not sure if these methods should be moved to 311Deprecated,
> but if the intent is to keep them for say five years for compatibility,
> then no they should not be moved.

+1 on all of it. We should get rid of these methods whenever we can but 
we also need to take into account the existence of external packages. In 
the case of findElementOrNil: I first found (and fixed) a usage in 
Tweak, then I found (and fixed) a usage in DynamicBindings on 
http://source.squeak.org/ss but then I ran into one usage via 
DynamicBindings in a package loaded three indirections deep via 
Metacello. That's what pushed it over the edge for me - clearly there's 
more than one version out there and it's hard to predict which one 
people will attempt to load.

Cheers,
   - Andreas



More information about the Squeak-dev mailing list