Re: charset.c problem with non-en_US locales

Andrew Cagney
2003-04-23T19:45:39Z

>> From: Elena Zannoni <ezannoni@redhat.com>
>> Date: Tue, 22 Apr 2003 16:04:03 -0400
>>
>> When the locale is set to Turkish (or any other non-Latin), the
>> tolower/toupper functions don't work as they would in English. The
>> lowercase version of 'I' is not 'i', for instance but some other
>> chracter ('i' w/o the dot).
>
>
> Right, that's one peculiarity of the Turkish language.
>
>
>> So, I think the whole case-insensitive approach for the names of the
>> charsets and the translation tables should probably be removed.
>
>
> I'm not sure.
>
>
>> What was the reason behind it? Was it that the user could type
>> upper/lower case charset names at the command line?
>
>
> Yes, that's the reason.
>
>
>> This patch works, but I am not confident that this it's enough.
>
>
> How about having our own clang_tolower function, which modifies only
> 7-bit ASCII characters in its argument? Wouldn't this be a better
> solution than requesting the user to type in a certain letter-case?

Hmm,

(gdb) set charset <tab>

doesn't work. If that was fixed (using GDB's enum cli method), the
command would become case sensitive. Since GDB's CLI is case sensative
in general that would make sense.

The alternative would be to add a case-insensitive version of the enum

Andrew