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.
EstebanOn 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