summaryrefslogtreecommitdiff
path: root/regexp.h
diff options
context:
space:
mode:
authorKarl Williamson <khw@khw-desktop.(none)>2010-07-19 13:06:19 -0600
committerRafael Garcia-Suarez <rgs@consttype.org>2010-07-29 12:10:18 +0200
commit78fecfc87dc006b17052d2f8cb36c0a881a19ba5 (patch)
tree9e9dd3f3de045c9572728edf0dbc5292b1e6f235 /regexp.h
parentc0f1c1940174a5a59444b0694ac5ca1dd0815009 (diff)
downloadperl-78fecfc87dc006b17052d2f8cb36c0a881a19ba5.tar.gz
regexp.h: Add some comments
Diffstat (limited to 'regexp.h')
-rw-r--r--regexp.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/regexp.h b/regexp.h
index f87031c545..6232356149 100644
--- a/regexp.h
+++ b/regexp.h
@@ -229,7 +229,11 @@ and check for NULL.
/* 0x3F of extflags is used by (RXf_)PMf_COMPILETIME
* If you change these you need to change the equivalent flags in op.h, and
- * vice versa. */
+/* vice versa. These need to be ordered so that the msix are contiguous
+ * starting at bit 0, followed by the p; bit 0 is because of the shift below
+ * being 0; see STD_PAT_MODS and INT_PAT_MODS below for the contiguity cause */
+/* the flags above are transfered from the PMOP->op_pmflags member during
+ * compilation */
#define RXf_PMf_MULTILINE 0x00000001 /* /m */
#define RXf_PMf_SINGLELINE 0x00000002 /* /s */
#define RXf_PMf_FOLD 0x00000004 /* /i */
@@ -271,8 +275,14 @@ and check for NULL.
#define LOOP_PAT_MODS "gc"
#define NONDESTRUCT_PAT_MODS "r"
+/* This string is expected by regcomp.c to be ordered so that the first
+ * character is the flag in bit 0 of extflags; the next character is bit 1,
+ * etc. */
#define STD_PAT_MODS "msix"
+/* This string is expected by XS_re_regexp_pattern() in universal.c to be ordered
+ * so that the first character is the flag in bit 0 of extflags; the next
+ * character is bit 1, etc. */
#define INT_PAT_MODS STD_PAT_MODS KEEPCOPY_PAT_MODS
#define EXT_PAT_MODS ONCE_PAT_MODS KEEPCOPY_PAT_MODS