This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Shorten description.
[perl5.git] / regexp.h
index 3ec8fb4..27f17e7 100644 (file)
--- a/regexp.h
+++ b/regexp.h
@@ -151,9 +151,9 @@ typedef struct regexp_engine {
   paren name. >= 1 is reserved for actual numbered captures, i.e. $1,
   $2 etc.
 */
-#define RXf_PREMATCH  -2 /* $` / ${^PREMATCH}  */
-#define RXf_POSTMATCH -1 /* $' / ${^POSTMATCH} */
-#define RXf_MATCH      0 /* $& / ${^MATCH}     */
+#define RX_BUFF_IDX_PREMATCH  -2 /* $` / ${^PREMATCH}  */
+#define RX_BUFF_IDX_POSTMATCH -1 /* $' / ${^POSTMATCH} */
+#define RX_BUFF_IDX_FULLMATCH      0 /* $& / ${^MATCH}     */
 
 /*
   Flags that are passed to the named_buff and named_buff_iter
@@ -163,23 +163,23 @@ typedef struct regexp_engine {
 */
 
 /* The Tie::Hash::NamedCapture operation this is part of, if any */
-#define RXf_HASH_FETCH     0x0001
-#define RXf_HASH_STORE     0x0002
-#define RXf_HASH_DELETE    0x0004
-#define RXf_HASH_CLEAR     0x0008
-#define RXf_HASH_EXISTS    0x0010
-#define RXf_HASH_SCALAR    0x0020
-#define RXf_HASH_FIRSTKEY  0x0040
-#define RXf_HASH_NEXTKEY   0x0080
+#define RXapif_FETCH     0x0001
+#define RXapif_STORE     0x0002
+#define RXapif_DELETE    0x0004
+#define RXapif_CLEAR     0x0008
+#define RXapif_EXISTS    0x0010
+#define RXapif_SCALAR    0x0020
+#define RXapif_FIRSTKEY  0x0040
+#define RXapif_NEXTKEY   0x0080
 
 /* Whether %+ or %- is being operated on */
-#define RXf_HASH_ONE       0x0100 /* %+ */
-#define RXf_HASH_ALL       0x0200 /* %- */
+#define RXapif_ONE       0x0100 /* %+ */
+#define RXapif_ALL       0x0200 /* %- */
 
 /* Whether this is being called from a re:: function */
-#define RXf_HASH_REGNAME         0x0400
-#define RXf_HASH_REGNAMES        0x0800
-#define RXf_HASH_REGNAMES_COUNT  0x1000 
+#define RXapif_REGNAME         0x0400
+#define RXapif_REGNAMES        0x0800
+#define RXapif_REGNAMES_COUNT  0x1000 
 
 /*
 =head1 REGEXP Functions
@@ -247,7 +247,7 @@ and check for NULL.
 #define RXf_PMf_SINGLELINE     0x00002000 /* /s         */
 #define RXf_PMf_FOLD           0x00004000 /* /i         */
 #define RXf_PMf_EXTENDED       0x00008000 /* /x         */
-#define RXf_PMf_KEEPCOPY       0x00010000 /* /k         */
+#define RXf_PMf_KEEPCOPY       0x00010000 /* /p         */
 /* these flags are transfered from the PMOP->op_pmflags member during compilation */
 #define RXf_PMf_STD_PMMOD      (RXf_PMf_MULTILINE|RXf_PMf_SINGLELINE|RXf_PMf_FOLD|RXf_PMf_EXTENDED)
 #define RXf_PMf_COMPILETIME    (RXf_PMf_MULTILINE|RXf_PMf_SINGLELINE|RXf_PMf_LOCALE|RXf_PMf_FOLD|RXf_PMf_EXTENDED|RXf_PMf_KEEPCOPY)
@@ -307,7 +307,14 @@ and check for NULL.
 #define RXf_USE_INTUIT_NOML    0x01000000
 #define RXf_USE_INTUIT_ML      0x02000000
 #define RXf_INTUIT_TAIL        0x04000000
-/* one bit here */
+
+/*
+  Set in Perl_pmruntime if op_flags & OPf_SPECIAL, i.e. split. Will
+  be used by regex engines to check whether they should set
+  RXf_SKIPWHITE
+*/
+#define RXf_SPLIT           0x08000000
+
 #define RXf_USE_INTUIT         (RXf_USE_INTUIT_NOML|RXf_USE_INTUIT_ML)
 
 /* Copy and tainted info */