On 2 May 2018, at 14:09, Marcus Denker <marcus.denker@inria.fr> wrote:



On 26 Apr 2018, at 09:28, Guillermo Polito <guillermopolito@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 did a PR:

https://github.com/pharo-project/pharo/pull/1281


Marcus