[Glass] case insensitive search broken for Unicode7?

Dale Henrichs dale.henrichs at gemtalksystems.com
Sat Mar 22 12:42:54 PDT 2014


Mariano,

I've added your examples to the 3.2 bug report ... Clearly we dropped the
ball on the Unicode _findString:... for 3.1 (and so far in 3.2) so I
appreciate your patience on this issue ...

With 3.2 we are endeavoring to improve our Unicode support (for example
we're adding indexing support for Unicode strings in 3.2), but as we've
been mostly living in a US Ascii land, we've still got gaps in our test
coverage...

Dale



Dale


On Sat, Mar 22, 2014 at 9:45 AM, Mariano Martinez Peck <
marianopeck at gmail.com> wrote:

> Dale, the problem is deeper than the #includesSubstring:
>
> The first test of this thread is an example:
>
> ('Newmont' asUnicodeString _findString: 'newm' startingAt: 1 ignoreCase:
> true) > 0
>
> that should answer true, as well as:
>
> ((Unicode7 withAll: 'Newmont') _findString: 'newm' startingAt: 1
> ignoreCase: true) > 0
>
> And not only Unice7 but all Unicode classes.
>
> In my case, what I did is to take all Unicode classes and override
> # _findString:startingAt:ignoreCase:  to this:
>
> Unicode7 >> _findString: subString startingAt: startIndex ignoreCase:
> aBoolean
>
> ^ super _findString: subString startingAt: startIndex ignoreCase: aBoolean
>
> simple...avoid using the icu collector.
>
> Thanks,
>
>
>
> On Sat, Mar 22, 2014 at 1:33 PM, Dale Henrichs <
> dale.henrichs at gemtalksystems.com> wrote:
>
>> Gerhard,
>>
>> Well, those two expressions are still failing in 3.2 so I'll submit a bug
>> and it should be fixed when 3.2 is released ... "real soon now".
>>
>> Thanks!
>>
>> Dale
>>
>>
>> On Sat, Mar 22, 2014 at 7:56 AM, Gerhard Obermann <obi068 at gmail.com>wrote:
>>
>>> This should work at least:
>>>
>>> (Unicode7 withAll: String new) includesString: 'abc'
>>> (Unicode7 withAll: '') includesString: 'abc'
>>>
>>> Gerhard
>>>
>>>
>>> On Tue, Mar 18, 2014 at 4:54 PM, Dale Henrichs <
>>> dale.henrichs at gemtalksystems.com> wrote:
>>>
>>>> Mariano,
>>>>
>>>> In the shower, after writing the above message, I realized that I am
>>>> not an expert in the specific area where you are having problems ... the
>>>> revamping that I was referring occurred in the area related to mixed
>>>> comparison of Strings and Unicode and not specifically in the area of "case
>>>> insensitive search", although I'm pretty sure that we've done extensive
>>>> work in other areas of unicide support ...
>>>>
>>>> I am still buried so I don't really have the time to research this
>>>> area, but if you supply me with some test cases I can run them against 3.2
>>>> and determine whether we've addressed your problems in 3.2 ...
>>>>
>>>> I'm from the land of "it doesn't work until I see it work" so your test
>>>> cases are important in case they happen to fall into the cracks in the
>>>> implementation... also it's possible that the GLASS layer is getting in the
>>>> way as well (as I said, I do not have the time to actually look into this)
>>>> ...
>>>>
>>>> If you give me test cases, I will run them against 3.2 and let you know
>>>> what I find out ...
>>>>
>>>> Dale
>>>>
>>>>
>>>> On Tue, Mar 18, 2014 at 8:21 AM, Dale Henrichs <
>>>> dale.henrichs at gemtalksystems.com> wrote:
>>>>
>>>>> Mariano,
>>>>>
>>>>> I'm afraid that there is no simple answer ...for 3.2 we ended up
>>>>> making pretty significant changes at both the primitive level and the
>>>>> Smalltalk level and the things we did (mainly at the primitive level ... as
>>>>> Marten has observed) to solve the problem are not easily backported to
>>>>> 3.1.x.
>>>>>
>>>>> It's looking like we will be releasing 3.2 "real soon now" so you
>>>>> might not have to wait long for relief.
>>>>>
>>>>> Dale
>>>>>
>>>>>
>>>>> On Mon, Mar 17, 2014 at 1:41 PM, Mariano Martinez Peck <
>>>>> marianopeck at gmail.com> wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Tue, Mar 11, 2014 at 3:41 PM, Mariano Martinez Peck <
>>>>>> marianopeck at gmail.com> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> Can anyone confirm a workaround that works from the deepest point so
>>>>>>> that nothing is broken? Because I am finding new problems which seem
>>>>>>> related...so if we can find a workaround from the seed of the problem we
>>>>>>> likely fix all.
>>>>>>>
>>>>>>>
>>>>>> Please?
>>>>>>
>>>>>> Thanks!
>>>>>>
>>>>>>
>>>>>>
>>>>>>> Thanks,
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Mar 5, 2014 at 4:31 PM, Mariano Martinez Peck <
>>>>>>> marianopeck at gmail.com> wrote:
>>>>>>>
>>>>>>>> Thanks James.
>>>>>>>> The side effects of this issue is huge, isn't it? I have been
>>>>>>>> debugging issues and problems related to this. Because it's not only
>>>>>>>> #matches: but #includesSubstring:caseSensitive: (when send with false) and
>>>>>>>> many more. I should stop my production system because some load of data etc
>>>>>>>> depends in this type of message and does X or Y depending on the answer of
>>>>>>>> such a message :(
>>>>>>>>
>>>>>>>> thanks in advance,
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wed, Mar 5, 2014 at 4:25 PM, James Foster <
>>>>>>>> james.foster at gemtalksystems.com> wrote:
>>>>>>>>
>>>>>>>>> On Wed, Mar 5, 2014 at 3:51 PM, James Foster <
>>>>>>>>> james.foster at gemtalksystems.com> wrote:
>>>>>>>>>
>>>>>>>>>> On Wed, Mar 5, 2014 at 1:47 PM, James Foster <
>>>>>>>>>> james.foster at gemtalksystems.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> I added 'asUppercase' to both the receiver and the argument in
>>>>>>>>>>> my code (with a note to remove it later).
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> But the problem is that lots of methods will be broken....because
>>>>>>>>>> it is all senders of all senders of all senders.. of _findString: subString
>>>>>>>>>> startingAt: startIndex ignoreCase: aBoolean  of Unicode7.
>>>>>>>>>>
>>>>>>>>>> What about this instead:
>>>>>>>>>>
>>>>>>>>>> Unicode7 >> _findString: subString startingAt: startIndex
>>>>>>>>>> ignoreCase: aBoolean
>>>>>>>>>>
>>>>>>>>>>   ^ super _findString: subString startingAt: startIndex
>>>>>>>>>> ignoreCase: aBoolean
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> I am not aware of any suggested changes to the base classes to
>>>>>>>>>> fix this but I've indicated on the internal bug tracking system that
>>>>>>>>>> publishing a workaround would be appreciated.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>> Thanks James. Indeed, a workaround is deeply appreciated. Please
>>>>>>>>> let me know if someone pushes one in the bug tacker. Is it public? Because
>>>>>>>>> I don't see anything in
>>>>>>>>> http://gemtalksystems.com/index.php/community/gss-support/resources/bug-notes/
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> That is where the bug-note would appear when/if it is written.
>>>>>>>>>
>>>>>>>>> James
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Mariano
>>>>>>>> http://marianopeck.wordpress.com
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Mariano
>>>>>>> http://marianopeck.wordpress.com
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Mariano
>>>>>> http://marianopeck.wordpress.com
>>>>>>
>>>>>> _______________________________________________
>>>>>> Glass mailing list
>>>>>> Glass at lists.gemtalksystems.com
>>>>>> http://lists.gemtalksystems.com/mailman/listinfo/glass
>>>>>>
>>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> Glass mailing list
>>>> Glass at lists.gemtalksystems.com
>>>> http://lists.gemtalksystems.com/mailman/listinfo/glass
>>>>
>>>>
>>>
>>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/private/glass/attachments/20140322/e270b856/attachment.html>


More information about the Glass mailing list