]> code.delx.au - gnu-emacs/commitdiff
(search_buffer): Give up boyer moore search if inverse
authorKenichi Handa <handa@m17n.org>
Mon, 13 May 2002 00:06:01 +0000 (00:06 +0000)
committerKenichi Handa <handa@m17n.org>
Mon, 13 May 2002 00:06:01 +0000 (00:06 +0000)
translation change charset_base.

src/search.c

index d4d977263752bca03f4e8382f49e6987272ea899..643a57d59caa6e900b8d30a42e367bb84faf5104 100644 (file)
@@ -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,