[BUG][FIX] Smalltalk condenseChanges broken in 3.7beta

Boris Gaertner Boris.Gaertner at gmx.net
Fri Apr 23 13:04:16 UTC 2004


<Alexander at Lazarevic.de> wrote:

> Doing a
> 
> Smalltalk condenseChanges.
> ChangeList browseRecentLog.
> 
> yields an error in the latest Squeak image.
> 
Hi Alex,

thank you a lot for finding this! This is really a serious bug.

It is not difficult to identify and to explain the bug, but it
is a bit more difficult to find a fix that is in line with the
intentions of the KCP (kernel cleanup project) team.

ChangeList brrwoseRecentLog  needs a postion in
the changes files that was, for a log time, stored in the
class variable LastQuitLogPosition of  SystemDictionary.
Now that file position is stored in class variable
LastQuitLogPosition of class SmalltalkImage. However,
the class variable LastQuitLogPosition of SystemDictionary
is still not removed and
SystemDictionary>>condenseChanges updates that
variables but not those in SmalltalkImage.
Attached is a change that updates the class
variable in SmalltalkImage but not that in
SystemDictionary. The class variables
LastImageName and LastQuitLogPosition of
SystemDictionary are not used any longer and
will soon be removed (I hope so, because currently
they cause nothing but problems).

Note that with the current protocol of SmalltalkImage,
you need the instance  SmalltalkImage current  to send
the message  lastQuitLogPosition:  which, in turn,
assigns a value to a class variable:


 SmalltalkImage current lastQuitLogPosition: f position.


This looks strange and it is strange; class variables are normally
accessed by the class protocol. Perhaps SmalltalkImage is a bit
overdesigned? Currently it is used as a signleton and I do not
think that this will be changed.

Greetings, Boris
-------------- next part --------------
A non-text attachment was scrubbed...
Name: condenseChangesFix-bg.cs
Type: application/octet-stream
Size: 1354 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20040423/39b1e4fd/condenseChangesFix-bg.obj


More information about the Squeak-dev mailing list