[BUG] SystemDictionary(Object)>>doesNotUnderstand: #allCallsOn:

Boris Gaertner Boris.Gaertner at gmx.net
Mon Mar 14 08:20:29 UTC 2005


"Robert Hawley" <rhawley at plymouth.ac.uk> wrote:


> - I got a "Press me" button from Supplies, opened a viewer, added a
> variable by clicking on the menu at the top, removed the variable by
> using the menu next to it, then message not understood appeared.

> - I have reviewed other bug reports and looked up the existing calls of
> allCallsOn:.  As this method is defined for the  Behavior and
> SystemNavigation classes, having a call to the Smalltalk
> SystemDictionary is possibly what is wrong.
Exactly. 
> My Squeak debugging
> expertise is currently limited - that's as far as I'v got.
You found the bug - can you hope for more :-) ?

In Squeak 3.8 and Squeak 3.9 this is fixed, the change set
that contains the fix is '6046-503fixes'.
For a quick fix in 3.7, please replace the two expressions

   (SmalltalkDictionary allCallsOn: <expr>)

with

   ( self systemNavigation allCallsOn: <expr>)

A word of history explains what happened here: 

In earlier versions of Squeak all the stuff that is now in SystemNavigation
was in SystemDictionary. Recently SystemDictionary was split and 
some protocol was moved to the new class SystemNavigation. This
change required also a revision of all senders of the moved methods
and the method Player>>removedSlotNamed: was not updated


Hope this helps,
Boris




More information about the Squeak-dev mailing list