<div dir="ltr">A more-proper fix that seems to work, thanks.</div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 20, 2015 at 9:12 AM, <span dir="ltr"><<a href="mailto:commits@source.squeak.org" target="_blank">commits@source.squeak.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Tobias Pape uploaded a new version of Environments to project The Trunk:<br>
<a href="http://source.squeak.org/trunk/Environments-topa.54.mcz" target="_blank">http://source.squeak.org/trunk/Environments-topa.54.mcz</a><br>
<br>
==================== Summary ====================<br>
<br>
Name: Environments-topa.54<br>
Author: topa<br>
Time: 20 January 2015, 4:12:36.674 pm<br>
UUID: b55bd16f-c2c0-4927-b170-4954383dd63f<br>
Ancestors: Environments-cmm.53<br>
<br>
Update literal bindings in compiled methods when renaming a class.<br>
<br>
Restores working behavior of pre-Squeak4.5.<br>
<br>
=============== Diff against Environments-cmm.53 ===============<br>
<br>
Item was changed:<br>
----- Method: Environment>>renameClass:from:to: (in category 'classes and traits') -----<br>
renameClass: aClass from: oldName to: newName<br>
"Rename the class, aClass, to have the title newName."<br>
<br>
| binding category |<br>
category := self organization categoryOfElement: oldName.<br>
self organization classify: newName under: category suppressIfDefault: true.<br>
self organization removeElement: oldName.<br>
<br>
+ binding := self declarationOf: oldName.<br>
- binding := self associationAt: oldName.<br>
declarations removeKey: oldName.<br>
+ self binding: binding removedFrom: self.<br>
+ undeclared removeKey: oldName.<br>
+<br>
+ binding becomeForward: (newName => aClass).<br>
+ declarations add: binding.<br>
+ self binding: binding addedTo: self.<br>
- bindings removeKey: oldName.<br>
- " self binding: binding removedFrom: self."<br>
<br>
- binding key: newName.<br>
- declarations add: binding.<br>
- bindings add: binding.<br>
- " self binding: binding addedTo: self."<br>
-<br>
Smalltalk renamedClass: aClass from: oldName to: newName.<br>
SystemChangeNotifier uniqueInstance<br>
classRenamed: aClass<br>
from: oldName<br>
to: newName<br>
inCategory: category!<br>
<br>
<br>
</blockquote></div><br></div>