ifNotNilDo: (was Re: [squeak-dev] SqueakMap in 4.1)

Eliot Miranda eliot.miranda at gmail.com
Mon Apr 12 18:47:02 UTC 2010

Hi Bert,

On Mon, Apr 12, 2010 at 2:18 AM, Bert Freudenberg <bert at freudenbergs.de>wrote:

> On 12.04.2010, at 00:27, Göran Krampe wrote:
> >
> > I have tried to maintain SM outside of the image earlier - but since the
> code sits in the image I understand that people start hacking on it. :) The
> effect is that there have been some changes to SMBase in trunk that only
> work in *later images*. For example, changing ifNotNilDo: to ifNotNil:. That
> does NOT work in Squeak 3.8 for example.
> >
> > So now I have backed out a few of these fixes so that the code still
> works in 3.8. For the moment - since I don't want to "disturb" the trunk way
> of things too much - just keep in mind that if you fix stuff in SMBase, the
> code is CURRENTLY meant to work in 3.8 and higher!
> I ran into exactly the same problem this weekend. Wanted to work on
> packetizing the Etoys image, using Karl's script as a start. But I got stuck
> when filing in recent Monticello versions gave a *syntax* error because
> ifNotNilDo: was replaced by ifNotNil:.

Why not upgrade the compiler with Vassili's ifNotNil: enhancement?  I
believe versions of his changes go back to 3.8.  He has a change set for 3.8
or thereabouts on his web site.  All systems with my closure compiler
support ifNotNil: with an argument.  So there are lots of sources for the
enhancement.  I could get this done for you tomorrow night if you're leery
of doing it yourself.


> I agree with you that some packages should be kept compatible with older
> image versions. In particular those packages that are necessary to upgrade
> older code bases.
> Does anyone have a snippet to find in a package all ifNotNil: sends that
> have a 1-argument block?
> - Bert -
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20100412/ba309796/attachment.htm

More information about the Squeak-dev mailing list