[squeak-dev] The Trunk: System-cmm.689.mcz
Chris Muller
asqueaker at gmail.com
Fri Nov 14 16:54:10 UTC 2014
OH! I saved this as simply System instead of System.spur. AND, I
think I may have been in a Spur image when I did it.. (trying to
remember) -- If I was, does that mean I accidently saved the
Spur-version of System under the wrong branch?
When I update my Spur image, it is not pulling this in -- I guess
because there is no .spur version of it?
Eliot this is my first trunk commit of a branched package from a Spur
image do I need to save it again as .spur or actually you have a
converter don't you? How / when does that get run?
On Wed, Nov 12, 2014 at 3:40 PM, Chris Muller <asqueaker at gmail.com> wrote:
> I finally tracked down why the keys of the #knownEnvironments
> Dictionary were changing when trying to build an image in Spur.
>
> It's because, in my core-extensions package, I override
> UndefinedObject>>#hash to have hard-coded value independent of its
> #identityHash, to be safer with distributed systems which may be using
> nil in a hash calculation -- in case they would be different due to
> accessing with a Spur image, for example.
>
> Such a hash calculation is made for the keys of the #knownEnvironments
> Dictionary when the country's are nil. By the different hash value in
> Spur, the image would lock when trying to load my core-extensions
> package, because it tried to access knownEnvironments as part of the
> load-operation itself.
>
> The least-lazy way to "fix" it was to ensure something is populated in
> the LocaleID's 'country's. Whew!
>
> Anyway, something to be aware of -- anywhere we have true, false or
> nil used in a hash calculation, now has a different hash in Spur vs.
> Cog. Maybe we should think about separating those objects' logical
> "value" hash from their identityHash in trunk..? That could be useful
> when we move to 64-bit someday..
>
> On Wed, Nov 12, 2014 at 3:26 PM, <commits at source.squeak.org> wrote:
>> Chris Muller uploaded a new version of System to project The Trunk:
>> http://source.squeak.org/trunk/System-cmm.689.mcz
>>
>> ==================== Summary ====================
>>
>> Name: System-cmm.689
>> Author: cmm
>> Time: 12 November 2014, 3:19:56.156 pm
>> UUID: a1ffba24-42ff-4391-9387-4e8ee20e6b2a
>> Ancestors: System-ul.688
>>
>> Populate all LocaleID's 'country's.
>>
>> =============== Diff against System-ul.688 ===============
>>
>> Item was added:
>> + ----- Method: LocaleID class>>countryFor: (in category 'accessing') -----
>> + countryFor: iso6391Code
>> + "http://www.loc.gov/standards/iso639-2/php/code_list.php"
>> + ^ iso6391Code
>> + caseOf:
>> + { ['af'] -> ['Afrikaans'].
>> + ['ca'] -> ['Catalan'].
>> + ['cs'] -> [ 'Czech'].
>> + ['da'] -> [ 'Danish'].
>> + ['de'] -> [ 'German'].
>> + ['el'] -> [ 'Greek Modern'].
>> + ['en'] -> [ 'English'].
>> + ['es'] -> [ 'Spanish'].
>> + ['eu'] -> [ 'Basque'].
>> + ['fi'] -> [ 'Finnish'].
>> + ['fo'] -> [ 'Faroese'].
>> + ['fr'] -> [ 'French'].
>> + ['ga'] -> [ 'Irish'].
>> + ['gd'] -> [ 'Gaelic'].
>> + ['hr'] -> [ 'Croatian'].
>> + ['hu'] -> [ 'Hungarian'].
>> + ['is'] -> [ 'Icelandic'].
>> + ['it'] -> [ 'Italian'].
>> + ['ja'] -> [ 'Japanese'].
>> + ['ja-etoys'] -> [ 'Japanese'].
>> + ['ko'] -> [ 'Korean'].
>> + ['nl'] -> [ 'Dutch'].
>> + ['no'] -> [ 'Norwegian'].
>> + ['pt'] -> [ 'Portuguese'].
>> + ['rm'] -> [ 'Romansh'].
>> + ['ro'] -> [ 'Romainian'].
>> + ['sk'] -> [ 'Slovak'].
>> + ['sl'] -> [ 'Slovenian'].
>> + ['sq'] -> [ 'Albanian'].
>> + ['sv'] -> [ 'Swedish'].
>> + ['sw'] -> [ 'Swahili'].
>> + ['zh'] -> [ 'Chinese'] }
>> + otherwise:
>> + [ 'other' ]!
>>
>> Item was changed:
>> ----- Method: LocaleID>>isoLanguage:isoCountry: (in category 'initialize') -----
>> + isoLanguage: langString isoCountry: countryStringOrNil
>> - isoLanguage: langString isoCountry: countryStringOrNil
>> isoLanguage := langString.
>> + isoCountry := countryStringOrNil ifNil: (self class countryFor: langString)!
>> - isoCountry := countryStringOrNil!
>>
>> Item was changed:
>> (PackageInfo named: 'System') postscript: '"Preferences already removed by hand, but whose state still lingers:"
>> + LocaleID allInstances do:
>> + [ : each | each
>> + isoLanguage: each isoLanguage
>> + isoCountry: (each isoCountry ifNil: [ each isoCountry ]) ].
>> + LanguageEnvironment knownEnvironments rehash'!
>> - Preferences removePreference: #upgradeIsMerge.
>> - Preferences removePreference: #colorWhenPrettyPrinting.
>> - Preferences removePreference: #promptForUpdateServer.
>> - Preferences removePreference: #updateSavesFile.
>> - Preferences removePreference: #updateFromServerAtStartup.'!
>>
>>
More information about the Squeak-dev
mailing list
|