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

Nicolas Cellier nicolas.cellier.aka.nice at gmail.com
Mon Dec 9 14:14:41 UTC 2019


Le lun. 9 déc. 2019 à 15:07, <commits at source.squeak.org> a écrit :

> 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 ou   t   s   i   d   e
>  o   f       t   h   e       S   q   u   e   a   k       w   o   r   l   d
>  ,       t   h   e   r   e       a   r   e       t   h   r   e   e       d
>  i   f   f   e   r   e   n   t       "   c   h   a   n   n   e   l   s   "
>  ;       t   h   e       k   e   y   b   o   a   r   d       i   n   p   u
>  t   ,       c   l   i   p   b   o   a   r   d       o   u   t   p   u   t
>      a   n   d       i   n   p   u   t   ,       a   n   d       f   i   l
>  e   n   a   m   e   .           O   n       a       n   o   t   -   t   o
>  -   u   n   c   o   m   m   o   n       s   y   s   t   e   m       s   u
>  c   h       a   s       a       U   n   i   x       s   y   s   t   e   m
>      l   o   c   a   l   i   z   e   d       t   o       J   a   p   a   n
>  ,       a   l   l       o   f       t   h   e   s   e       t   h   r   e
>  e       c   a   n       h   a   v   e       (   a   n   d       d   o   e
>  s       h
>   a   v   e   )       d   i   f   f   e   r   e   n   t       e   n   c
>  o   d   i   n   g   s   .           S   o       w   e       n   e   e   d
>      t   o       m   a   n   a   g   e       t   h   e   m       s   e   p
>  a   r   a   t   e   l   y   .           N   o   t   e       t   h   a   t
>      t   h   e       e   n   c   o   d   i   n   g       i   n       a
>  f   i   l   e       c   a   n       b   e       a   n   y   t   h   i   n
>  g   .           W   h   i   l   e       i   t       i   s       n   i   c
>  e       t   o       p   r   o   v   i   d   e       a       s   u   g   g
>  e   s   t   e   d       g   u   e   s   s       f   o   r       t   h   i
>  s       '   d   e   f   a   u   l   t       s   y   s   t   e   m       f
>  i   l   e       c   o   n   t   e   n   t       e   n   c   o   d   i   n
>  g   '   ,       i   t       i   s       n   o   t       c   r   i   t   i
>  c   a   l   .
>
>              R   e   n   d   e   r   i   n   g       s   u   p   p   o
>  r   t       i   s       l   i   m   i   t   e   d       b   a   s   i   c
>      L   -   t   o   -   R       r   e   n   d   e   r   i   n   g       s
>  o       f   a   r   .           B   u   t       y   o   u       c   a   n
>      p   r   o   v   i   d   e       d   i   f   f   e   r   e   n   t
>  l   i   n   e   -   w   r   a   p       r   u   l   e   ,       a   t
>  l   e   a   s   t   .
>      !
>
> I never noticed before how broken was the comment... It is a mixture of
ASCII and UTF32 re-interpreted as ByteString.
We will have to fix that too.

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"!
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20191209/6dff414c/attachment.html>


More information about the Squeak-dev mailing list