[squeak-dev] The Inbox: System-fbs.523.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Apr 12 11:32:50 UTC 2013


Frank Shearar uploaded a new version of System to project The Inbox:
http://source.squeak.org/inbox/System-fbs.523.mcz

==================== Summary ====================

Name: System-fbs.523
Author: fbs
Time: 12 April 2013, 12:31:41.197 pm
UUID: 1108f479-b229-443c-95ff-bac883d49444
Ancestors: System-bf.522

There's more to removing a package than meets the eye: once you've removed the package, you need to remove various references to entities in the package. Removing the code might also empty method categories (which should therefore be deleted). Monticello state needs clearing. And so on.

SmalltalkImage >> #unloadPackages: takes a collection of package names (hence strings) and performs this cleanup after removing the packages from the image.

=============== Diff against System-bf.522 ===============

Item was added:
+ ----- Method: SmalltalkImage>>unloadPackages: (in category 'shrinking') -----
+ unloadPackages: somePackageNames
+ 	"Go unloading"
+ 	somePackageNames do: [:pkgName| 
+ 			(MCPackage named: pkgName) unload.
+ 			MCMcmUpdater disableUpdatesOfPackage: pkgName.
+ 			].
+ 
+ 	"Post-unload cleanup"
+ 	MCWorkingCopy flushObsoletePackageInfos.
+ 	SystemOrganization removeEmptyCategories.
+ 	globals undeclared removeUnreferencedKeys.
+ 	MCFileBasedRepository flushAllCaches.
+ 	MCDefinition clearInstances.
+ 	Behavior flushObsoleteSubclasses.
+ 	Smalltalk flushClassNameCache.
+ 	AppRegistry removeObsolete.
+ 	FileServices removeObsolete.
+ 	Preferences removeObsolete.
+ 	TheWorldMenu removeObsolete.
+ 	Smalltalk garbageCollect.
+ 	Symbol compactSymbolTable.
+ 	TheWorldMainDockingBar updateInstances.!



More information about the Squeak-dev mailing list