X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Fregex.c;h=c5cdf344da00da82fe82cbb5ca4e968c451dc160;hb=f8c889244f022ae695ea8dc67267499286921903;hp=d7618d11878ea26582365d61dc3fb6a63235fe7e;hpb=77dcef404dc78635f6ffa8f71a803d2bc7cc8921;p=chise%2Fxemacs-chise.git- diff --git a/src/regex.c b/src/regex.c index d7618d1..c5cdf34 100644 --- a/src/regex.c +++ b/src/regex.c @@ -3318,8 +3318,12 @@ compile_extended_range (CONST char **p_ptr, CONST char *pend, char *translate, ranges entirely within the first 256 chars. */ if ((range_start >= 0x100 || range_end >= 0x100) - && CHAR_LEADING_BYTE (range_start) != - CHAR_LEADING_BYTE (range_end)) +#ifdef UTF2000 + && CHAR_CHARSET_ID (range_start) != CHAR_CHARSET_ID (range_end) +#else + && CHAR_LEADING_BYTE (range_start) != CHAR_LEADING_BYTE (range_end) +#endif + ) return REG_ERANGESPAN; /* As advertised, translations only work over the 0 - 0x7F range. @@ -3605,11 +3609,13 @@ re_compile_fastmap (struct re_pattern_buffer *bufp) fastmap[j] = 1; for (j = 0x80; j < 0xA0; j++) { +#ifndef UTF2000 if (LEADING_BYTE_PREFIX_P(j)) /* too complicated to calculate this right */ fastmap[j] = 1; else { +#endif int multi_p; Lisp_Object cset; @@ -3621,7 +3627,9 @@ re_compile_fastmap (struct re_pattern_buffer *bufp) == Sword || multi_p) fastmap[j] = 1; } +#ifndef UTF2000 } +#endif } #else /* ! MULE */ for (j = 0; j < (1 << BYTEWIDTH); j++) @@ -3646,11 +3654,13 @@ re_compile_fastmap (struct re_pattern_buffer *bufp) fastmap[j] = 1; for (j = 0x80; j < 0xA0; j++) { +#ifndef UTF2000 if (LEADING_BYTE_PREFIX_P(j)) /* too complicated to calculate this right */ fastmap[j] = 1; else { +#endif int multi_p; Lisp_Object cset; @@ -3662,7 +3672,9 @@ re_compile_fastmap (struct re_pattern_buffer *bufp) != Sword || multi_p) fastmap[j] = 1; } +#ifndef UTF2000 } +#endif } #else /* ! MULE */ for (j = 0; j < (1 << BYTEWIDTH); j++)