bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: Mattias Engdegård
Subject: bug#11309: 24.1.50; Case problems with [:upper:] and Cyrillic, Greek
Date: Mon, 7 Dec 2020 23:14:45 +0100

Not surprising in the least given the broken logic:

          ((class_bits & BIT_UPPER) &&
           (ISUPPER (c) || (corig != c &&
                            c == downcase (corig) && ISLOWER (c)))) ||
          ((class_bits & BIT_LOWER) &&
           (ISLOWER (c) || (corig != c &&
                            c == upcase (corig) && ISUPPER(c)))) ||

where corig is the character being matched and c is corig after canonicalising, 
which appears to mean downcasing in practice.
This means that the second case (BIT_LOWER means [:lower:]) works more or less 
as intended (by accident) but the [:upper:] case is less lucky and doesn't, as 
observed.

ASCII characters aren't affected by this bug since they are handled by a 
separate bitmap.

This has probably never worked properly.






reply via email to

[Prev in Thread] Current Thread [Next in Thread]