[squeak-dev] The Trunk: Environments-fbs.21.mcz

Frank Shearar frank.shearar at gmail.com
Tue Apr 2 13:59:39 UTC 2013


On 2 April 2013 14:56,  <commits at source.squeak.org> wrote:
> Frank Shearar uploaded a new version of Environments to project The Trunk:
> http://source.squeak.org/trunk/Environments-fbs.21.mcz
>
> ==================== Summary ====================
>
> Name: Environments-fbs.21
> Author: fbs
> Time: 2 April 2013, 2:56:27.995 pm
> UUID: a2afb389-193a-44a7-8664-559a4177936c
> Ancestors: Environments-cwp.20
>
> When a class removes itself from the system, we need to forget about the class... including our reference to it in our list of bindings.
>
> =============== Diff against Environments-cwp.20 ===============
>
> Item was changed:
>   ----- Method: Environment>>forgetClass:logged: (in category 'classes and traits') -----
>   forgetClass: aClass logged: aBool
>         aBool ifTrue:
>                 [SystemChangeNotifier uniqueInstance
>                         classRemoved: aClass fromCategory: aClass category].
>         self organization removeElement: aClass name.
>         Smalltalk removeFromStartUpList: aClass.
>         Smalltalk removeFromShutDownList: aClass.
>         contents removeKey: aClass name ifAbsent: [].
> +       bindings removeKey: aClass name ifAbsent: [].!
> -       !

This, I think, it the necessary fix. It looks right, I can now unload
XML-Parser and see that there are no bindings hanging around (so
"PointerFinder on: XMLWriter" correctly says "ain't no such class").
But... Colin, what do you think?

frank


More information about the Squeak-dev mailing list