Do you do that on an image where Nautilus was not opened? I remove Nautilus using this script without errors.deletePackages := [:packageNames |SystemNavigation default removeAllButPackages: ((MCWorkingCopy allManagers collect: #packageName) asSortedCollection copyWithoutAll: packageNames).packageNames do: [:pn |(ScriptLoader new workingCopyFromPackageName: pn) unregister.(RPackage named: pn) unregister]].Nautilus cleanUp.NautilusUI allInstances do: [ :inst |SystemAnnouncer uniqueInstance unsubscribe: inst].Smalltalk garbageCollect.deletePackages value: #('NautilusRefactoring' 'NautilusCommon' 'Nautilus''Refactoring-Critics' 'Refactoring-Changes' 'Refactoring-Core''Refactoring-Environment' 'GroupManager' 'Manifest-Core' 'Manifest-CriticBrowser').listUnimplemented value: #Nautilus.KMRepository reset.KMPragmaKeymapBuilder release.Smalltalk resetTools.5 timesRepeat:[Smalltalk garbageCollect.].Smalltalk fixObsoleteReferences.SystemNavigation default obsoleteClasses.Undeclared.-- Pavel2013/11/27 St�phane Ducasse <stephane.ducasse@inria.fr>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