GNU bug report logs -
#16731
24.3.50; Latin small letter sharp s is not considered lower-case
Previous Next
Reported by: Jorgen Schaefer <forcer <at> forcix.cx>
Date: Wed, 12 Feb 2014 17:31:02 UTC
Severity: normal
Merged with 10576
Found in version 24.3.50
Fixed in version 28.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
Message #52 received at 16731 <at> debbugs.gnu.org (full text, mbox):
Am 13.02.2014 18:39, schrieb Eli Zaretskii:
>> From: Stefan Monnier <monnier <at> iro.umontreal.ca>
>> Cc: andreas.roehler <at> easy-emacs.de, 16731 <at> debbugs.gnu.org
>> Date: Thu, 13 Feb 2014 12:10:49 -0500
>>
>>> /* True if C is upper case. */
>>> -INLINE bool uppercasep (int c) { return downcase (c) != c; }
>>> +INLINE bool uppercasep (int c)
>>> +{
>>> + Lisp_Object val;
>>> +
>>> + if (downcase (c) != c)
>>> + return true;
>>> +
>>> + if (NILP (Vunicode_category_table))
>>> + return false;
>>> +
>>> + val = CHAR_TABLE_REF (Vunicode_category_table, c);
>>> + return INTEGERP (val) && XINT (val) == UNICODE_CATEGORY_Lu;
>>> +}
>>
>> Doesn't sound too bad. But it does beg the question: why check
>> (downcase (c) != c) at all, then?
>
> Because it's faster, and for most characters will do the job.
>
Maybe I'm missing the point: all change needed is not to store "ß" into the uppercase-table.
Why not store nil there instead?
This bug report was last modified 3 years and 311 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.