Eliot Miranda uploaded a new version of Collections to project The Trunk: http://source.squeak.org/trunk/Collections-eem.881.mcz
==================== Summary ====================
Name: Collections-eem.881 Author: eem Time: 11 March 2020, 7:01:23.310819 pm UUID: e9cf9901-53d5-4b5c-ab37-88beb605d007 Ancestors: Collections-eem.882
Include the Array become primitives in the ModificationForbidden framework.
=============== Diff against Collections-eem.882 ===============
Item was changed: ----- Method: Symbol class>>intern: (in category 'instance creation') ----- intern: aStringOrSymbol
| originalNewSymbols | originalNewSymbols := NewSymbols. ^(self lookup: aStringOrSymbol) ifNil:[ + | aClass aSymbol newNewSymbols | - | aSymbol newNewSymbols | aStringOrSymbol isSymbol ifTrue:[ aSymbol := aStringOrSymbol. ] ifFalse:[ + aClass := aStringOrSymbol isOctetString ifTrue:[ByteSymbol] ifFalse:[WideSymbol]. + aSymbol := aClass new: aStringOrSymbol size. - aSymbol := (aStringOrSymbol isOctetString ifTrue:[ByteSymbol] ifFalse:[WideSymbol]) - new: aStringOrSymbol size. aSymbol string: aStringOrSymbol. - aSymbol beReadOnlyObject. ]. newNewSymbols := originalNewSymbols copyWith: aSymbol. originalNewSymbols == NewSymbols ifTrue: [ NewSymbols := newNewSymbols. newNewSymbols size > 1000 ifTrue: [ self condenseNewSymbols ]. aSymbol ] ifFalse: [ "Some other process has modified the symbols. Try again." self intern: aStringOrSymbol ] ]!
Item was changed: + (PackageInfo named: 'Collections') postscript: 'Character initializeClassificationTable. + HashedCollection rehashAll.'! - (PackageInfo named: 'Collections') postscript: '"below, add code to be run after the loading of this package" - - "Make all Symbols read-only at the VM level" - Symbol allSubInstancesDo: [:s| s beReadOnlyObject]'!
packages@lists.squeakfoundation.org