[squeak-dev] The Trunk: Multilingual-nice.248.mcz

Eliot Miranda eliot.miranda at gmail.com
Mon Dec 9 15:45:33 UTC 2019


Hi Nicolas, Marcel,

    does this fix Marcel’s issue with ümlauts or is that a real vm issue?

_,,,^..^,,,_ (phone)

> On Dec 9, 2019, at 6:07 AM, commits at source.squeak.org wrote:
> 
> Nicolas Cellier uploaded a new version of Multilingual to project The Trunk:
> http://source.squeak.org/trunk/Multilingual-nice.248.mcz
> 
> ==================== Summary ====================
> 
> Name: Multilingual-nice.248
> Author: nice
> Time: 9 December 2019, 3:07:24.38758 pm
> UUID: e5023db8-378f-4141-bfb2-ae3f377da27c
> Ancestors: Multilingual-mt.247
> 
> Fix input interpreter on Windows VM which was incorrectly set to MacRomanInputInterpreter in Latin1Environment...
> 
> It should be UTF32InputInterpreter which is what Open Smalltalk VM did always used since birth.
> 
> While at it, nuke unused Current class var.
> 
> You can check current keyborad interpreter with:
> 
>    ActiveHand keyboardInterpreter.
> 
> You can reset it with:
> 
>    LanguageEnvironment clearDefault.
>    HandMorph clearInterpreters.
>    ActiveHand keyboardInterpreter.
> 
> If you don't do it manually, it should be reset at next image startup.
> 
> Note:
> Since modern images only run on Open Smalltalk VM and since Open Smalltalk VM always use utf-32, we might better nuke win32VMUsesUnicode alltogether - it will always be true.
> But since it is feature freeze, and since I cannot test the other environments, I leave this change for post-release.
> 
> =============== Diff against Multilingual-mt.247 ===============
> 
> Item was changed:
>  Object subclass: #LanguageEnvironment
>      instanceVariableNames: 'id'
> +    classVariableNames: 'ClipboardInterpreterClass FileNameConverterClass InputInterpreterClass KnownEnvironments SystemConverterClass'
> -    classVariableNames: 'ClipboardInterpreterClass Current FileNameConverterClass InputInterpreterClass KnownEnvironments SystemConverterClass'
>      poolDictionaries: ''
>      category: 'Multilingual-Languages'!
> 
>  !LanguageEnvironment commentStamp: 'bf 8/16/2009 16:52' prior: 0!
>  The name multilingualized Squeak suggests that you can use multiple language at one time.  This is true, of course, but the system still how to manage the primary language; that provides the interpretation of data going out or coming in from outside world. It also provides how to render strings, as there rendering rule could be different in one language to another, even if the code points in a string is the same.
> 
>    Originally, LanguageEnvironment and its subclasses only has class side methods.  After merged with Diego's Babel work, it now has instance side methods.  Since this historical reason, the class side and instance side are not related well.
> 
>    When we talk about the interface with the outside of the Squeak world, there are three different "channels"; the keyboard input, clipboard output and input, and filename. On a not-to-uncommon system such as a Unix system localized to Japan, all of these three can have (and does h
> ave) different encodings. So we need to manage them separately. Note that the encoding in a file can be anything. While it is nice to provide a suggested guess for this 'default system file content encoding', it is not critical.
>  
>   Rendering support is limited basic L-to-R rendering so far. But you can provide different line-wrap rule, at least.
>  !
> 
> Item was changed:
>  ----- Method: LanguageEnvironment class>>win32VMUsesUnicode (in category 'private') -----
>  win32VMUsesUnicode
>      | buildDate ind date vmHead |
>      vmHead := Smalltalk vmVersion.
>      vmHead ifNil: [^ false].
> +    (vmHead beginsWith: 'Open Smalltalk')
> +        ifTrue: [ ^ true ].
>      buildDate := Smalltalk buildDate.
>      buildDate ifNil: [^ false].
>      ind := buildDate indexOfSubCollection: 'on'.
>      date := Date readFromString: (buildDate copyFrom: ind+3 to: buildDate size).
>      (vmHead beginsWith: 'Croquet') ifTrue: [
>          ^ date >= (Date readFromString: '1 Feb 2007')
>      ].
>      (vmHead beginsWith: 'Squeak') ifTrue: [
>          ^ date >= (Date readFromString: '5 June 2007')
>      ].
>      ^ false.
> 
>  "LanguageEnvironment win32VMUsesUnicode"!
> 
> 


More information about the Squeak-dev mailing list