<br><br><div class="gmail_quote">On Tue, Apr 2, 2013 at 6:59 AM, Frank Shearar <span dir="ltr">&lt;<a href="mailto:frank.shearar@gmail.com" target="_blank">frank.shearar@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5">On 2 April 2013 14:56,  &lt;<a href="mailto:commits@source.squeak.org">commits@source.squeak.org</a>&gt; wrote:<br>
&gt; Frank Shearar uploaded a new version of Environments to project The Trunk:<br>
&gt; <a href="http://source.squeak.org/trunk/Environments-fbs.21.mcz" target="_blank">http://source.squeak.org/trunk/Environments-fbs.21.mcz</a><br>
&gt;<br>
&gt; ==================== Summary ====================<br>
&gt;<br>
&gt; Name: Environments-fbs.21<br>
&gt; Author: fbs<br>
&gt; Time: 2 April 2013, 2:56:27.995 pm<br>
&gt; UUID: a2afb389-193a-44a7-8664-559a4177936c<br>
&gt; Ancestors: Environments-cwp.20<br>
&gt;<br>
&gt; 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.<br>
&gt;<br>
&gt; =============== Diff against Environments-cwp.20 ===============<br>
&gt;<br>
&gt; Item was changed:<br>
&gt;   ----- Method: Environment&gt;&gt;forgetClass:logged: (in category &#39;classes and traits&#39;) -----<br>
&gt;   forgetClass: aClass logged: aBool<br>
&gt;         aBool ifTrue:<br>
&gt;                 [SystemChangeNotifier uniqueInstance<br>
&gt;                         classRemoved: aClass fromCategory: aClass category].<br>
&gt;         self organization removeElement: aClass name.<br>
&gt;         Smalltalk removeFromStartUpList: aClass.<br>
&gt;         Smalltalk removeFromShutDownList: aClass.<br>
&gt;         contents removeKey: aClass name ifAbsent: [].<br>
&gt; +       bindings removeKey: aClass name ifAbsent: [].!<br>
&gt; -       !<br>
<br>
</div></div>This, I think, it the necessary fix. It looks right, I can now unload<br>
XML-Parser and see that there are no bindings hanging around (so<br>
&quot;PointerFinder on: XMLWriter&quot; correctly says &quot;ain&#39;t no such class&quot;).<br>
But... Colin, what do you think?<br></blockquote><div><br></div><div>Frank, Colin, what about the case of non-classes.  e.g. an Alias is created to a binding in Smalltalk, say #Foo, and then #Foo is removed from Smalltalk.  I guess the aliases to #Foo need to get moved to the relevant undeclared when that happens right?</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class="HOEnZb"><font color="#888888"><br>
frank<br>
<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br>best,<div>Eliot</div>