On Nov 27, 2013, at 4:29 PM, Esteban Lorenzano <estebanlm@gmail.com> wrote:

hi,

I think is nothing to do with PackageTree but with the fact that now groups are shown (and because of that created),
So, probably reseting the groups before unloading would do the trick. 

{Nautilus. PackageTreeNautilus} do: #resetGroups.

just to tell you;
resetGroups is missing in Nautilus
but even then it does not solve my problem.

stef
 
Esteban


On Wed, Nov 27, 2013 at 8:05 AM, St�phane Ducasse <stephane.ducasse@inria.fr> wrote:
Hi esteban

I'm looking for a change due to the TreePackage introduction.
Before I could simply do something like the following to unload Nautilus


        Smalltalk tools remove: #browser.
        Smalltalk tools register: Browser as: #browser.
        (MCWorkingCopy forPackage: (MCPackage named: 'NautilusRefactoring')) unload. "OK"

        #Nautilus asClass cleanUp.
        KMRepository reset.
        KMPragmaKeymapBuilder release.
        #NautilusUI asClass allSubInstances do: [ :inst |
                SystemAnnouncer uniqueInstance unsubscribe: inst].
        Smalltalk garbageCollect.
        (MCWorkingCopy forPackage: (MCPackage named: 'NautilusCommon')) unload.
        (MCWorkingCopy forPackage: (MCPackage named: 'Nautilus')) unload.

And now if does not work anymore. I get some TreePackage around.

Apparently I get a weakMessageSend on classRemoved: and this message refers to an obsoletePackageTreeNautilus class.

buildGroupManagerFor: anInstance

        | holder |
        holder := GroupHolder new.
        (holder
                addADynamicClassGroupSilentlyNamed: 'Most Viewed Classes'
                block: [ anInstance recentClassesElements ]) removable: false.
        (holder
                addADynamicClassGroupSilentlyNamed: 'Last Modified Classes'
                block: [ self lastModifiedClasses ]) removable: false.

        (holder
                addADynamicGroupSilentlyNamed: 'Work'
                block: [ {} ]) removable: true; isFillable: true.

        ^ holder


Do you have any idea? A registration mechanism? from which I forgot to unregister.

Stef