[squeak-dev] The Trunk: Environments-cwp.49.mcz

Balázs Kósi rebmekop at gmail.com
Mon Mar 31 07:21:13 UTC 2014


Hi Colin,

This breaks renaming of classes. Try:

Object subclass: #Bar instanceVariableNames: '' classVariableNames: ''
poolDictionaries: '' category: 'Foo'.
Bar rename: #Baz.

and then the binding for Baz will point to nil.
​
The problem stems from the change of Environment>>hideBinding: because

self undeclare: aBinding key from: bindings

makes the binding #Bar => Baz to become a binding pointing to nil, and when
we get back to Environment>>renameClass:from:to:
it uses that same binding object and just changes the binding key to the
new name, so at the end we have a binding #Baz => nil.

Balazs
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20140331/225bb95a/attachment.htm


More information about the Squeak-dev mailing list