[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Character group folding in searches
From: |
Juri Linkov |
Subject: |
Re: Character group folding in searches |
Date: |
Sat, 07 Feb 2015 02:07:15 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (x86_64-pc-linux-gnu) |
> My question is:
>
> Do any of these options seem good enough? Which would you all like to explore?
This feature, as I see it, has several levels of complexity:
* 1-to-1 char-folding
?a <=> ?á
This is already supported by char-tables, so there is no problem.
* 1-to-1 char-folding in combination with case-folding
?a <=> ?Á (in this example one of them is in lower case
and another in upper case with acute)
I'm not sure how your patch handles this case. We have to consult the
information about case-folding from the case-table. Otherwise, we would
need two new tables instead of one: where character mappings are
with and without case-folding. In any case we have to take care of
the correct interaction with case-fold-search.
* 1-to-1 char-folding plus a combining character
?a <=> "á"
The simplest solution is just to ignore all combining characters in search.
This should be easy to implement in the search engine by introducing
a new list of ignorable characters to skip during the search.
* multi-character translation such as ligatures, etc.
?ffl <=> "ffl"
This is the hardest case. Maybe the existing translation tables
from ucs-normalize.el could help. Then configuring would be like
(set-char-table-extra-slot case-table 3 (get 'ucs-normalize-nfd-table
'translation-table))
But this requires a significant modification of the search engine to use
the same logic in the search as is used in `translate-region-internal'
to support multi-character translation in the search.
Also it might require adding a new mode such as "lax-decomposition"
that like lax-word mode will match partially, e.g. "f" will match "ffl".
Or maybe better to use some external libraries like
http://userguide.icu-project.org/collation/icu-string-search-service
I agree with your attempts to have something instead of having nothing
(as in an all-or-nothing attitude). So to me it seems that the first
3 items would comprise the useful minimum, and the hardest last case
could be implemented afterwards.
- Re: Character group folding in searches, (continued)
- Re: Character group folding in searches, Stefan Monnier, 2015/02/07
- Re: Character group folding in searches, Eli Zaretskii, 2015/02/07
- Re: Character group folding in searches, Stefan Monnier, 2015/02/08
- Re: Character group folding in searches, Eli Zaretskii, 2015/02/08
- Re: Character group folding in searches, Stefan Monnier, 2015/02/08
- Re: Character group folding in searches, Eli Zaretskii, 2015/02/09
- Re: Character group folding in searches, Stefan Monnier, 2015/02/09
- Re: Character group folding in searches, Eli Zaretskii, 2015/02/09
- Re: Character group folding in searches, Stefan Monnier, 2015/02/09
- Re: Character group folding in searches, Eli Zaretskii, 2015/02/10
Re: Character group folding in searches,
Juri Linkov <=