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

From: Mattias Engdegård <[email-masked]>
Date: Tue, 8 Dec 2020 17:57:32 +0100

8 dec. 2020 kl. 17.02 skrev Eli Zaretskii <[email-masked]>:

> AFAIR characters that don't have an upper-case
> form map to themselves when downcased.  E.g.
> 
>  (upcase ?1) => ?1

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.

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.