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