Reintroduce #9889 to unbuffer the stderr/stdout on stdio configs.
[p5sagit/p5-mst-13.2.git] / regcomp.h
index c8094e1..b292ba3 100644 (file)
--- a/regcomp.h
+++ b/regcomp.h
@@ -95,16 +95,16 @@ struct regnode_charclass {
     U8  type;
     U16 next_off;
     U32 arg1;
-    char bitmap[ANYOF_BITMAP_SIZE];
+    char bitmap[ANYOF_BITMAP_SIZE];    /* only compile-time */
 };
 
-struct regnode_charclass_class {
-    U8 flags;
+struct regnode_charclass_class {       /* has [[:blah:]] classes */
+    U8 flags;                          /* should have ANYOF_CLASS here */
     U8  type;
     U16 next_off;
     U32 arg1;
-    char bitmap[ANYOF_BITMAP_SIZE];
-    char classflags[ANYOF_CLASSBITMAP_SIZE];
+    char bitmap[ANYOF_BITMAP_SIZE];            /* both compile-time */
+    char classflags[ANYOF_CLASSBITMAP_SIZE];   /* and run-time */
 };
 
 /* XXX fix this description.
@@ -182,7 +182,7 @@ struct regnode_charclass_class {
 
 /* Flags for node->flags of ANYOF */
 
-#define ANYOF_CLASS            0x08
+#define ANYOF_CLASS            0x08    /* has [[:blah:]] classes */
 #define ANYOF_INVERT           0x04
 #define ANYOF_FOLD             0x02
 #define ANYOF_LOCALE           0x01
@@ -192,6 +192,10 @@ struct regnode_charclass_class {
 
 /* There is a character or a range past 0xff */
 #define ANYOF_UNICODE          0x20
+#define ANYOF_UNICODE_ALL      0x40    /* Can match any char past 0xff */
+
+/* size of node is large (includes class pointer) */
+#define ANYOF_LARGE            0x80
 
 /* Are there any runtime flags on in this node? */
 #define ANYOF_RUNTIME(s)       (ANYOF_FLAGS(s) & 0x0f)
@@ -284,10 +288,11 @@ struct regnode_charclass_class {
 
 #define EXTRA_SIZE(guy) ((sizeof(guy)-1)/sizeof(struct regnode))
 
-#define REG_SEEN_ZERO_LEN      1
-#define REG_SEEN_LOOKBEHIND    2
-#define REG_SEEN_GPOS          4
-#define REG_SEEN_EVAL          8
+#define REG_SEEN_ZERO_LEN       1
+#define REG_SEEN_LOOKBEHIND     2
+#define REG_SEEN_GPOS           4
+#define REG_SEEN_EVAL           8
+#define REG_SEEN_SANY          16
 
 START_EXTERN_C