#define BYTEWIDTH 8 /* In bits. */
-#define STREQ(s1, s2) ((strcmp (s1, s2) == 0))
+#define STREQ(s1, s2) (strcmp (s1, s2) == 0)
#undef MAX
#undef MIN
/* If we get here, we found another repeat character. */
if (!(syntax & RE_NO_MINIMAL_MATCHING))
{
- /* `*?' and `+?' and `??' are okay (and mean match
- minimally), but other sequences (such as `*??' and
- `+++') are rejected (reserved for future use). */
+ /* "*?" and "+?" and "??" are okay (and mean match
+ minimally), but other sequences (such as "*??" and
+ "+++") are rejected (reserved for future use). */
if (minimal || c != '?')
FREE_STACK_RETURN (REG_BADRPT);
minimal = true;
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.
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;
== Sword || multi_p)
fastmap[j] = 1;
}
+#ifndef UTF2000
}
+#endif
}
#else /* ! MULE */
for (j = 0; j < (1 << BYTEWIDTH); j++)
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;
!= Sword || multi_p)
fastmap[j] = 1;
}
+#ifndef UTF2000
}
+#endif
}
#else /* ! MULE */
for (j = 0; j < (1 << BYTEWIDTH); j++)