Damien Cassou uploaded a new version of Installer-Scripts to project Installer: http://www.squeaksource.com/Installer/Installer-Scripts-damiencassou.19.mcz
==================== Summary ====================
Name: Installer-Scripts-damiencassou.19 Author: damiencassou Time: 30 July 2009, 2:31:03 pm UUID: a075ce7d-fd64-401f-94ba-653d8efdc1be Ancestors: Installer-Scripts-kph.18
- You can't nil-ed out a block variable in a closure-based image.
=============== Diff against Installer-Scripts-kph.18 ===============
Item was changed: ----- Method: InstallerScripts>>scriptUnloadTraits (in category 'as yet unclassified') ----- scriptUnloadTraits
"Phase 1: Disable traits activity and stub out the instance variables that will be removed in Phase 2"
SystemChangeNotifier uniqueInstance noMoreNotificationsFor: ProvidedSelectors current; noMoreNotificationsFor: RequiredSelectors current; noMoreNotificationsFor: LocalSends current. Installer installUrl: 'http://installer.pbwiki.org/f/UnloadTraits-StubOutAcessors.cs'.
"Phase 2: Recompile the image with classes in the old format, ie, without the traitsComposition and localSends instance variables"
[ ClassDescription subclass: #Metaclass instanceVariableNames: 'thisClass' classVariableNames: ' ' poolDictionaries: ' ' category: 'Kernel-Classes'. ClassDescription subclass: #Class instanceVariableNames: 'subclasses name classPool sharedPools environment category' classVariableNames: ' ' poolDictionaries: ' ' category: 'Kernel-Classes'. ] on: Warning do: [:warning | warning resume].
"Phase 3: Remove all traits and all references to the Traits classes from the image, including methods that refer to traits functionality"
+ "Kill all traits" + Smalltalk allTraits do: [:trait | trait removeFromSystem]. - "Kill all traits" "variables are nil-ed out to prevent obsolete refs later" - Smalltalk allTraits do: [:trait | trait removeFromSystem. trait := nil]. "Recompile all methods that were part of a trait" + SystemNavigation default allBehaviorsDo: [:class | class selectorsAndMethodsDo: [:sel :method | class ~~ method methodClass ifTrue: [class recompile: sel]]]. - SystemNavigation default allBehaviorsDo: [:class | class selectorsAndMethodsDo: [:sel :method | class ~~ method methodClass ifTrue: [class recompile: sel]. method := nil]. class := nil]. "Remove references to traits from various places in the code" Installer installUrl: 'http://installer.pbwiki.org/f/UnloadTraits-ClearRefs.cs'.
"Phase 4: Unload the Traits package and install the Traits compatability stubs for Monticello"
Installer unload: 'Traits'. Installer installUrl: 'http://installer.pbwiki.org/f/TraitsStubs.cs'.
!
packages@lists.squeakfoundation.org