Pavel I tried your scripts (see below) UnReloader unloadNautilusRefactoring UnReloader switchToOldBrowser. UnReloader unloadNautilus2 and I get unloadNautilus2 | deletePackages | 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 asClass cleanUp. #NautilusUI asClass 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'). KMRepository reset. KMPragmaKeymapBuilder release. Smalltalk resetTools. 5 timesRepeat:[Smalltalk garbageCollect.]. Smalltalk fixObsoleteReferences. SystemNavigation default obsoleteClasses. Undeclared. On Nov 30, 2013, at 9:06 AM, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
did not work either :( Really I wonder if we will succeed to have a modular system one day. If we do not exercise it it will never happen. Stef
unloadNautilus
#Nautilus asClass cleanUp. KMRepository reset. KMPragmaKeymapBuilder release. #NautilusUI asClass allSubInstances do: [ :inst | SystemAnnouncer uniqueInstance unsubscribe: inst]. Smalltalk garbageCollect. Smalltalk garbageCollect. Smalltalk garbageCollect. {Nautilus. PackageTreeNautilus} do: #resetGroups. Smalltalk garbageCollect. Smalltalk garbageCollect. Smalltalk garbageCollect. Smalltalk garbageCollect. Smalltalk garbageCollect. (MCWorkingCopy forPackage: (MCPackage named: 'NautilusCommon')) unload. (MCWorkingCopy forPackage: (MCPackage named: 'Nautilus')) unload. (MCWorkingCopy forPackage: (MCPackage named: 'GroupManager')) unload.