It's interesting that I have never seen this error. And the Jenkins job is able to unload it too... https://ci.inria.fr/pharo-contribution/view/Pharo-Kernel-3.0/job/PharoKernel... -- Pavel 2013/11/30 Stéphane Ducasse <stephane.ducasse@inria.fr>
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.