[squeak-dev] Re: The Trunk: Collections-dtl.276.mcz
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.
More information about the Squeak-dev