The Trunk: System-cmm.689.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: System-cmm.689.mcz

commits-2
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.'!


Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: System-cmm.689.mcz

Chris Muller-3
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,  <[hidden email]> 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.'!
>
>

Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: System-cmm.689.mcz

Chris Muller-3
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 <[hidden email]> 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,  <[hidden email]> 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.'!
>>
>>

Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: System-cmm.689.mcz

Eliot Miranda-2


On Fri, Nov 14, 2014 at 8:54 AM, Chris Muller <[hidden email]> wrote:
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?

Argh!  You can check the history, but if you did this we need to delete the package asap.  It will break non-Spur images.

 

When I update my Spur image, it is not pulling this in -- I guess
because there is no .spur version of it?

What's your update URL?
 
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?

I would prefer that yoiu integrate the changes into trunk and publish from trunk.  That's because the process (until we release) is for me to autoedit trunk versions to produce the Spur versions.  No, this isn't satisfactory but it works and will allow us to transition properly when we release.


I think I wrote this all up in an email a few weeks ago.

 


On Wed, Nov 12, 2014 at 3:40 PM, Chris Muller <[hidden email]> 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,  <[hidden email]> 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.'!
>>
>>




--
best,
Eliot


Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: System-cmm.689.mcz

David T. Lewis
On Fri, Nov 14, 2014 at 09:08:39AM -0800, Eliot Miranda wrote:

> On Fri, Nov 14, 2014 at 8:54 AM, Chris Muller <[hidden email]> wrote:
>
> > 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?
> >
>
> Argh!  You can check the history, but if you did this we need to delete the
> package asap.  It will break non-Spur images.
>

No worries, it looks fine to me.

Dave


Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: System-cmm.689.mcz

Eliot Miranda-2
In reply to this post by commits-2
Hi Chris,

   I think the postscript also needs to do a Locale resetKnownLocals because at least in a recently updated tests image of mine the Locale KnownLocales dictionary contained a duplicate and caused an error in DictionaryTest>>testIntegrityOfDictionaries

On Wed, Nov 12, 2014 at 1:26 PM, <[hidden email]> 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.'!





--
best,
Eliot