Chris Muller uploaded a new version of Environments to project The Trunk:
http://source.squeak.org/trunk/Environments-cmm.51.mcz==================== Summary ====================
Name: Environments-cmm.51
Author: cmm
Time: 2 May 2014, 2:56:46.177 pm
UUID: d6b12525-7eb7-4978-9368-fb484f30043b
Ancestors: Environments-cwp.50
- Environment preamble, repair your 'Instances' dictionary, make Environments consistently named with Symbols.
- EnvironmentInfo, ensure incoming Strings for your name are coerced to Symbols.
=============== Diff against Environments-cwp.50 ===============
Item was added:
+ (PackageInfo named: 'Environments') preamble: '"Fix ''Instances'' entry for Smalltalk Environment."
+ | dict |
+ dict := (Environment classPool at: ''Instances'').
+ dict keys
+ do: [ : eachName | (eachName isSymbol not ) ifTrue: [ dict at: eachName asSymbol put: (dict removeKey: eachName) ] ].
+
+ "Let Environment names be, consistently, Symbols."
+ Environment allInstances do:
+ [ : each |
+ each info
+ instVarNamed: ''name''
+ put: (each name asSymbol) ]'!
Item was changed:
----- Method: Environment class>>named: (in category 'instance creation') -----
named: aSymbol
+ | symbol |
+ symbol := aSymbol asSymbol.
^ Instances
+ at: symbol
+ ifAbsentPut: [ self withName: symbol ]!
- at: aSymbol
- ifAbsentPut: [self withName: aSymbol]!
Item was changed:
+ ----- Method: EnvironmentInfo class>>name: (in category 'create') -----
- ----- Method: EnvironmentInfo class>>name: (in category 'as yet unclassified') -----
name: aString
^ self
name: aString
organization: (SystemOrganizer defaultList: Array new)
packages: PackageOrganizer new.
!
Item was changed:
+ ----- Method: EnvironmentInfo class>>name:organization:packages: (in category 'create') -----
- ----- Method: EnvironmentInfo class>>name:organization:packages: (in category 'as yet unclassified') -----
name: aString organization: aSystemOrganizer packages: aPackageOrganizer
^ self basicNew
initializeWithName: aString
organization: aSystemOrganizer
packages: aPackageOrganizer!
Item was changed:
+ ----- Method: EnvironmentInfo>>initializeWithName:organization:packages: (in category 'initializing') -----
- ----- Method: EnvironmentInfo>>initializeWithName:organization:packages: (in category 'as yet unclassified') -----
initializeWithName: aString organization: aSystemOrganizer packages: aPackageOrganizer
self initialize.
+ name := aString asSymbol.
- name := aString.
organization := aSystemOrganizer.
+ packages := aPackageOrganizer.!
- packages := aPackageOrganizer.
- !