Modified README.bs2000
[p5sagit/p5-mst-13.2.git] / op.h
diff --git a/op.h b/op.h
index 55b85a5..b1b11a5 100644 (file)
--- a/op.h
+++ b/op.h
@@ -1,6 +1,6 @@
 /*    op.h
  *
- *    Copyright (c) 1991-2000, Larry Wall
+ *    Copyright (c) 1991-2001, Larry Wall
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
@@ -139,9 +139,6 @@ Deprecated.  Use C<GIMME_V> instead.
 /* Private for OP_REPEAT */
 #define OPpREPEAT_DOLIST       64      /* List replication. */
 
-/* Private for OP_LEAVELOOP */
-#define OPpLOOP_CONTINUE       64      /* a continue block is present */
-
 /* Private for OP_RV2?V, OP_?ELEM */
 #define OPpDEREF               (32|64) /* Want ref to something: */
 #define OPpDEREF_AV            32      /*   Want ref to AV. */
@@ -159,7 +156,9 @@ Deprecated.  Use C<GIMME_V> instead.
   /* OP_?ELEM only */
 #define OPpLVAL_DEFER          16      /* Defer creation of array/hash elem */
   /* OP_RV2?V, OP_GVSV only */
-#define OPpOUR_INTRO           16      /* Defer creation of array/hash elem */
+#define OPpOUR_INTRO           16      /* Variable was in an our() */
+  /* OP_RV2[AH]V, OP_PAD[AH]V, OP_[AH]ELEM */
+#define OPpMAYBE_LVSUB         8       /* We might be an lvalue to return */
   /* for OP_RV2?V, lower bits carry hints (currently only HINT_STRICT_REFS) */
 
 /* Private for OPs with TARGLEX */
@@ -230,14 +229,12 @@ struct listop {
     BASEOP
     OP *       op_first;
     OP *       op_last;
-    U32                op_children;
 };
 
 struct pmop {
     BASEOP
     OP *       op_first;
     OP *       op_last;
-    U32                op_children;
     OP *       op_pmreplroot;
     OP *       op_pmreplstart;
     PMOP *     op_pmnext;              /* list of all scanpats */
@@ -250,6 +247,9 @@ struct pmop {
 #define PMdf_USED      0x01            /* pm has been used once already */
 #define PMdf_TAINTED   0x02            /* pm compiled from tainted pattern */
 #define PMdf_UTF8      0x04            /* pm compiled from utf8 data */
+#define PMdf_DYN_UTF8  0x08
+
+#define PMdf_CMP_UTF8  (PMdf_UTF8|PMdf_DYN_UTF8)
 
 #define PMf_RETAINT    0x0001          /* taint $1 etc. if target tainted */
 #define PMf_ONCE       0x0002          /* use pattern only once per reset */
@@ -290,7 +290,6 @@ struct loop {
     BASEOP
     OP *       op_first;
     OP *       op_last;
-    U32                op_children;
     OP *       op_redoop;
     OP *       op_nextop;
     OP *       op_lastop;