Subject: bug#11309: 24.1.50; Case problems with [:upper:] and Cyrillic, Greek

From: Eli Zaretskii <[email-masked]>
Date: Tue, 08 Dec 2020 19:05:53 +0200

> From: Mattias Engdegård <[email-masked]>
> Date: Tue, 8 Dec 2020 17:57:32 +0100
> Cc: [email-masked], [email-masked], [email-masked]
> 
> This is not about the Lisp (upcase x) function but the C upcase(x) function, which uses the upcase table directly.
> They affect the uppercasep and lowercasep functions which are used in the regexp engine. Thus we get uppercasep(ß)=lowercasep(ß)=false which is wrong.

Why is it wrong, and what practical problems does this cause?

> The logic of 'lowercasep' may need to be changed because its use of upcase and downcase which return their argument if the respective table has no entry for it. Let's see what can be done.

I don't want us to change the logic of such basic functions for the
benefit of a single obscure character.  Let's first see what problems
with this character we have in practice, and then discuss what is the
best way of solving those problems.

TIA