> On 26 Apr 2018, at 09:28, Guillermo Polito <guillermopol...@gmail.com> wrote:
> 
> Hi,
> 
> It looks you got bit by this issue:
> 
> https://pharo.fogbugz.com/f/cases/21519/RemoveFromSystem-does-not-work-well-with-Undeclareds
> 
> It's not particular to Epicea. There should be a better management of 
> Undeclareds in general in all Pharo.
> 

It can be fixed by moving the binding to undeclared in #removeFromSystem: 

This is done by adding

  Undeclared declare: self name asSymbol from: Smalltalk globals.

before the "forgetClass: self logged:" line.

What we need to do in addition: Only do that when the class is referenced. 
#isUsedClass: does that, but it does integrate over all methods in the system.

(I sometimes wonder if we should not late-bind accesses to globals, that is, 
just compile them as message sends to the environment).

        Marcus


Reply via email to