#define ANYOF_INVERT 0x04
/* CLASS is never set unless LOCALE is too: has runtime \d, \w, [:posix:], ... */
-/* For now, set it always when LOCALE is set, to save a bit for other uses. */
-#define ANYOF_CLASS ANYOF_LOCALE
+#define ANYOF_CLASS 0x08
#define ANYOF_LARGE ANYOF_CLASS /* Same; name retained for back compat */
-/* EOS used for regstclass only */
-#define ANYOF_EOS 0x10 /* Can match an empty string too */
+/* Can match something outside the bitmap that is expressible only in utf8 */
+#define ANYOF_UTF8 0x10
+
+/* Can match something outside the bitmap that isn't in utf8 */
+#define ANYOF_NONBITMAP_NON_UTF8 0x20
/* Set if the bitmap doesn't fully represent what this node can match */
-#define ANYOF_NONBITMAP 0x20
+#define ANYOF_NONBITMAP (ANYOF_UTF8|ANYOF_NONBITMAP_NON_UTF8)
#define ANYOF_UNICODE ANYOF_NONBITMAP /* old name, for back compat */
-#define ANYOF_UNICODE_ALL 0x40 /* Matches 0x100 - infinity */
+/* Matches every code point 0x100 and above*/
+#define ANYOF_UNICODE_ALL 0x40
+
+/* EOS used for regstclass only */
+#define ANYOF_EOS 0x80 /* Can match an empty string too */
#define ANYOF_FLAGS_ALL 0xff