[squeak-dev] Re: Error: Instances of StrikeFont are not indexable

Nicolas Cellier nicolas.cellier.aka.nice at gmail.com
Mon Jan 31 10:42:09 UTC 2011


2011/1/31 Levente Uzonyi <leves at elte.hu>:
> On Mon, 31 Jan 2011, Levente Uzonyi wrote:
>
>> On Sun, 30 Jan 2011, Chris Muller wrote:
>>
>>> Does anyone know how to fix this?  The suspect we have at this point
>>> is LocaleTest>>#testLocaleChanged, which loads a Japanese file from...
>>> somewhere which I can't tell, except there seems to be a problem with
>>> the ReferenceStream that causes it to try to, when constructing a
>>> StrikeFont, try to set beyond its 19th instance-variable..
>>>
>>> Perhaps the class-structure changed, and/or the 'ja' file needs updating?
>>
>> StrikeFont changed. Nicolas removed the 20th variable (charIndex), because
>> it was unused. See
>> http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-December/156220.html
>>
>>
>
> I uploaded Tests-ul.114 which fixes LocaleTest >> #testIsFontAvailable.
> Since it was an expected failure it wasn't easy to find out that it got
> totally broken.
> To make the test pass you have to add the charIndex variable back to
> StrikeFont, otherwise the sar file won't load.
> The other option is to fix the sar file...
>
>
> Levente
>
>

I would say take the shortest path for a quick 4.2 release : revert the change.
Then, we'll have time to think about how to deal with those obsolete
binary dumps in 4.3.
Shouldn't a binary dump be restored in two pass ?
1) restore of exact structure (at time of dump) in temporary classes
2) mutation to current class sturcture (with ClassBuilder help)

Nicolas



More information about the Squeak-dev mailing list