[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: emacs-27 60c84ad: ; * etc/TODO: Fix last change.
From: |
Robert Pluim |
Subject: |
Re: emacs-27 60c84ad: ; * etc/TODO: Fix last change. |
Date: |
Mon, 02 Mar 2020 16:06:17 +0100 |
>>>>> On Mon, 02 Mar 2020 16:36:11 +0200, Eli Zaretskii <address@hidden> said:
>> Date: Mon, 02 Mar 2020 16:24:30 +0200
>> From: Eli Zaretskii <address@hidden>
>> Cc: address@hidden
>>
>> You could run regexp-opt in a separate emacs invocation, then write
>> the results to a file, and load that, I guess.
Eli> On second thought: why do you need regexp-opt in this case? None of
Eli> the other composition rules we have (search lisp/language/*.el for
Eli> composition-function-table) use that, so why is Emoji different?
The ones in lisp/language/*.el were presumably written by hand, unlike
the Emoji ones.
Hereʼs an example of the patterns we want to match for U+1F3C3 (there
are longer ones):
"\N{U+1F3C3}\N{U+200D}\N{U+2640}\N{U+FE0F}"
"\N{U+1F3C3}\N{U+200D}\N{U+2642}\N{U+FE0F}"
"\N{U+1F3C3}\N{U+1F3FB}\N{U+200D}\N{U+2640}\N{U+FE0F}"
"\N{U+1F3C3}\N{U+1F3FB}\N{U+200D}\N{U+2642}\N{U+FE0F}"
"\N{U+1F3C3}\N{U+1F3FC}\N{U+200D}\N{U+2640}\N{U+FE0F}"
"\N{U+1F3C3}\N{U+1F3FC}\N{U+200D}\N{U+2642}\N{U+FE0F}"
"\N{U+1F3C3}\N{U+1F3FD}\N{U+200D}\N{U+2640}\N{U+FE0F}"
"\N{U+1F3C3}\N{U+1F3FD}\N{U+200D}\N{U+2642}\N{U+FE0F}"
"\N{U+1F3C3}\N{U+1F3FE}\N{U+200D}\N{U+2640}\N{U+FE0F}"
"\N{U+1F3C3}\N{U+1F3FE}\N{U+200D}\N{U+2642}\N{U+FE0F}"
"\N{U+1F3C3}\N{U+1F3FF}\N{U+200D}\N{U+2640}\N{U+FE0F}"
"\N{U+1F3C3}\N{U+1F3FF}\N{U+200D}\N{U+2642}\N{U+FE0F}"
Now we could add 12 rules here, one for each pattern, or 1 rule with
all the patterns as alternatives, or we could run regexp-opt and add
one optimized pattern.
Or we could take a leaf out of FE0F's book, and just do:
"\N{U+1F3C3}...?\N{U+FE0F}"
but I thought that since this runs inside redisplay, we should strive
to make the patterns as specific as possible.
Robert
- Re: emacs-27 60c84ad: ; * etc/TODO: Fix last change., Robert Pluim, 2020/03/02
- Re: emacs-27 60c84ad: ; * etc/TODO: Fix last change., Eli Zaretskii, 2020/03/02
- Re: emacs-27 60c84ad: ; * etc/TODO: Fix last change., Robert Pluim, 2020/03/02
- Re: emacs-27 60c84ad: ; * etc/TODO: Fix last change., Eli Zaretskii, 2020/03/02
- Re: emacs-27 60c84ad: ; * etc/TODO: Fix last change., Eli Zaretskii, 2020/03/02
- Re: emacs-27 60c84ad: ; * etc/TODO: Fix last change.,
Robert Pluim <=
- Re: emacs-27 60c84ad: ; * etc/TODO: Fix last change., Eli Zaretskii, 2020/03/02
- Re: emacs-27 60c84ad: ; * etc/TODO: Fix last change., Robert Pluim, 2020/03/02
- Re: emacs-27 60c84ad: ; * etc/TODO: Fix last change., Eli Zaretskii, 2020/03/02
- Re: emacs-27 60c84ad: ; * etc/TODO: Fix last change., Robert Pluim, 2020/03/02
- Re: emacs-27 60c84ad: ; * etc/TODO: Fix last change., Eli Zaretskii, 2020/03/02
- Re: emacs-27 60c84ad: ; * etc/TODO: Fix last change., Stefan Monnier, 2020/03/02
- Re: emacs-27 60c84ad: ; * etc/TODO: Fix last change., Robert Pluim, 2020/03/02
- Re: emacs-27 60c84ad: ; * etc/TODO: Fix last change., Eli Zaretskii, 2020/03/02
- Re: emacs-27 60c84ad: ; * etc/TODO: Fix last change., Robert Pluim, 2020/03/02
- Re: emacs-27 60c84ad: ; * etc/TODO: Fix last change., Robert Pluim, 2020/03/03