(re_compile_fastmap): For anychar, set all fastmap
authorKarl Heuer <kwzh@gnu.org>
Thu, 10 Dec 1998 03:09:12 +0000 (03:09 +0000)
committerKarl Heuer <kwzh@gnu.org>
Thu, 10 Dec 1998 03:09:12 +0000 (03:09 +0000)
elements for all possible unibyte chars (except newline).

regex.c

diff --git a/regex.c b/regex.c
index 0dcdede..a700c88 100644 (file)
--- a/regex.c
+++ b/regex.c
@@ -3381,21 +3381,13 @@ re_compile_fastmap (bufp)
          {
            int fastmap_newline = fastmap['\n'];
 
-           /* `.' matches anything (but if bufp->multibyte is
-              nonzero, matches `\000' .. `\127' and possible multibyte
-              character) ...  */
+           /* `.' matches anything, except perhaps newline.
+              Even in a multibyte buffer, it should match any
+              conceivable byte value for the fastmap.  */
            if (bufp->multibyte)
-             {
-               simple_char_max = 0x80;
-
-               for (j = 0x80; j < 0xA0; j++)
-                 if (BASE_LEADING_CODE_P (j))
-                   fastmap[j] = 1;
-               match_any_multibyte_characters = true;
-             }
-           else
-             simple_char_max = (1 << BYTEWIDTH);
+             match_any_multibyte_characters = true;
 
+           simple_char_max = (1 << BYTEWIDTH);
            for (j = 0; j < simple_char_max; j++)
              fastmap[j] = 1;