diff options
author | Kenichi Handa <handa@m17n.org> | 2002-05-13 00:06:01 +0000 |
---|---|---|
committer | Kenichi Handa <handa@m17n.org> | 2002-05-13 00:06:01 +0000 |
commit | d2ac725b65f01ccc03c025eb9673403c4754c1c9 (patch) | |
tree | 0d88d16d05505487063f22424f8fe70d1a115a3b /src/search.c | |
parent | 4d8ff34d5ca44e0ee1cb8655e1710c17fed9ec0e (diff) | |
download | emacs-d2ac725b65f01ccc03c025eb9673403c4754c1c9.tar.gz |
(search_buffer): Give up boyer moore search if inverse
translation change charset_base.
Diffstat (limited to 'src/search.c')
-rw-r--r-- | src/search.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/search.c b/src/search.c index d4d97726375..643a57d59ca 100644 --- a/src/search.c +++ b/src/search.c @@ -1229,7 +1229,11 @@ search_buffer (string, pos, pos_byte, lim, lim_byte, n, /* Keep track of which character set row contains the characters that need translation. */ int charset_base_code = c & ~CHAR_FIELD3_MASK; - if (charset_base == -1) + int inverse_charset_base = inverse & ~CHAR_FIELD3_MASK; + + if (charset_base_code != inverse_charset_base) + boyer_moore_ok = 0; + else if (charset_base == -1) charset_base = charset_base_code; else if (charset_base != charset_base_code) /* If two different rows appear, needing translation, |