--- a/SystemOrganizer.st Thu Nov 16 17:18:18 2000 +0100
+++ b/SystemOrganizer.st Thu Nov 16 17:22:00 2000 +0100
@@ -16,7 +16,7 @@
Object subclass:#SystemOrganizer
instanceVariableNames:'categoryArray nameSpace'
- classVariableNames:'AllCategories'
+ classVariableNames:'AllCategories CachedOrganizerForSmalltalk'
poolDictionaries:''
category:'Kernel-Support'
!
@@ -54,6 +54,12 @@
"create & return a new instance of myself, to organize aNameSpace.
All of this here is mimicri - ST/X keeps the category in the class."
+ (aNameSpace isNil or:[aNameSpace == Smalltalk]) ifTrue:[
+ CachedOrganizerForSmalltalk isNil ifTrue:[
+ CachedOrganizerForSmalltalk := self new nameSpace:aNameSpace.
+ ].
+ ^ CachedOrganizerForSmalltalk
+ ].
^ self new nameSpace:aNameSpace.
"Modified: / 6.2.2000 / 20:25:50 / cg"
@@ -210,6 +216,7 @@
!SystemOrganizer methodsFor:'change and update'!
update:something with:anArgument from:changedObject
+ "/ flush cached categories ...
categoryArray := nil.
"Created: / 6.2.2000 / 20:08:52 / cg"
@@ -221,8 +228,9 @@
nameSpace:aNameSpace
"set the nameSpace - nil is allowed and stands for: any"
- nameSpace := aNameSpace.
- Smalltalk addDependent:self.
+ nameSpace := aNameSpace ? Smalltalk.
+ nameSpace addDependent:self.
+ nameSpace ~~ Smalltalk ifTrue:[Smalltalk addDependent:self].
"
(SystemOrganizer for:nil) organization
@@ -235,5 +243,5 @@
!SystemOrganizer class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic3/SystemOrganizer.st,v 1.8 2000-09-03 14:44:05 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic3/SystemOrganizer.st,v 1.9 2000-11-16 16:22:00 cg Exp $'
! !