# HG changeset patch # User Karl Heuer # Date 913259352 0 # Node ID 7c27b6d24ba6edcc5cf8d289ca6501083d8a9425 # Parent 7bd68b2bab3ae8e35458df9595d90cb01266583a (re_compile_fastmap): For anychar, set all fastmap elements for all possible unibyte chars (except newline). diff --git a/regex.c b/regex.c --- a/regex.c +++ b/regex.c @@ -3381,21 +3381,13 @@ { 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;