[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#13084: boyer_moore crashes with certain characters in the case table
From: |
Juri Linkov |
Subject: |
bug#13084: boyer_moore crashes with certain characters in the case table |
Date: |
Wed, 12 Dec 2012 11:27:50 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (x86_64-pc-linux-gnu) |
>> Does this mean there are no more obstacles to filling a translation table
>> for ignoring equivalence with all character mappings according to the
>> `decomposition' property? This would be the first step in this direction.
>
> I'm not sure I understand what you are asking. Please show more details.
There is confusion with the word `equivalence'. Currently there
exists the case equivalence table in the case table (`case_eqv_table').
Implementing a diacritic search in bug#13041 requires adding a new
similar table. I don't know what would be a good name:
`decomposition_eqv_table' or `normalization_eqv_table' or something better.
I'm unfamiliar with the details of `search_buffer', but in principle
using two tables in the macro `TRANSLATE' could implement a diacritic
search where at the first step the character will be translated using
`decomposition_eqv_table', and after that the resulting character
will be translated using `case_eqv_table'.
So the dataflow to get the canonical character will be Á -> A -> a.
If `case-fold-search' is nil, then Á -> A. If a new variable
`decomposition-search' (or `normalized-search') is nil then Á -> á.
bug#13084: boyer_moore crashes with certain characters in the case table, Kenichi Handa, 2012/12/13