emacs-devel
[Top][All Lists]
Advanced

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

Re: search-default-mode char-fold-to-regexp and Greek Extended block cha


From: Basil L. Contovounesios
Subject: Re: search-default-mode char-fold-to-regexp and Greek Extended block characters
Date: Thu, 25 Jul 2019 01:18:16 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)

Juri Linkov <address@hidden> writes:

>>     Juri> Thanks!  Could you please look why tests fail to validate matching 
>> of
>>     Juri> n-level decomposition.  The character with 3 level decomposition in
>>     Juri> char-fold--test-without-customization is currently commented out as
>>     Juri> FIXME.  After uncommenting this test fails, and I don't understand 
>> why.
>>
>> That test ends up doing
>>
>> (string-match "\\`\\(?:ι[̀́̄̆̈̓̔͂]\\|[ΐίιϊἰ-ἷὶίιῐ-ΐῖῗ𝛊𝜄𝜾𝝸𝞲]\\)\\'" "Ϊ́")
>>
>> because it does (upcase "ΐ") => Ϊ́
>>
>> That character is GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA, and
>> as far as I can tell there is no CAPITAL variant of that letter, so
>> upcase canʼt return it, which means it returns GREEK CAPITAL LETTER
>> IOTA plus the diacriticals, which is obviously not going to
>> match.
>
> This is an interesting case like (upcase "ß") => "SS" that required
> adding (?ß "ss") to pass the tests.

It is probably this way because all caps are not usually (if ever)
accented in Greek, so the only time upper-case letters take accents is
at the start of capitalised words, where dialytika can never appear, as
dialytika only make sense on the second of two consecutive vowels.

> So I guess we need to add (?ι "ΐ") for the tests to pass:

[...]

> But this is only for char-fold--test-with-customization.  OTOH, for
> char-fold--test-without-customization we need also to change the default
> value in char-fold.el like:

[...]

Can you please explain why iota with dialytika and tonos needs to be
special-cased in these places?

Thanks,

-- 
Basil



reply via email to

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