summaryrefslogtreecommitdiff
path: root/regexp.h
diff options
context:
space:
mode:
authorYves Orton <demerphq@gmail.com>2007-01-12 03:31:12 +0100
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2007-01-15 16:26:17 +0000
commitcde0cee5716418bb58782f073048ee9685ed2368 (patch)
treec2a691ebb8348e48a5171a60b617299632146e12 /regexp.h
parent780a5241a93925d81e932db73df46ee749b203b9 (diff)
downloadperl-cde0cee5716418bb58782f073048ee9685ed2368.tar.gz
Add support for /k modfier for matching along with ${^PREMATCH}, ${^MATCH}, ${^POSTMATCH}
Message-ID: <9b18b3110701111731x29b1c63i57b1698f769b3bbc@mail.gmail.com> (with tweaks) p4raw-id: //depot/perl@29831
Diffstat (limited to 'regexp.h')
-rw-r--r--regexp.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/regexp.h b/regexp.h
index c28c78e07a..4045fbd84b 100644
--- a/regexp.h
+++ b/regexp.h
@@ -144,11 +144,18 @@ typedef struct regexp_engine {
#define RXf_PMf_SINGLELINE 0x00002000 /* /s */
#define RXf_PMf_FOLD 0x00004000 /* /i */
#define RXf_PMf_EXTENDED 0x00008000 /* /x */
+#define RXf_PMf_KEEPCOPY 0x00010000 /* /k */
/* these flags are transfered from the PMOP->op_pmflags member during compilation */
-#define RXf_PMf_COMPILETIME (RXf_PMf_MULTILINE|RXf_PMf_SINGLELINE|RXf_PMf_LOCALE|RXf_PMf_FOLD|RXf_PMf_EXTENDED)
+#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)
+
+#define CASE_STD_PMMOD_FLAGS_PARSE_SET(pmfl) \
+ case 'i': *(pmfl) |= RXf_PMf_FOLD; break; \
+ case 'm': *(pmfl) |= RXf_PMf_MULTILINE; break; \
+ case 's': *(pmfl) |= RXf_PMf_SINGLELINE; break; \
+ case 'x': *(pmfl) |= RXf_PMf_EXTENDED; break
/* What we have seen */
-/* one bit here */
#define RXf_LOOKBEHIND_SEEN 0x00020000
#define RXf_EVAL_SEEN 0x00040000
#define RXf_CANY_SEEN 0x00080000
@@ -448,6 +455,7 @@ struct re_save_state {
#define SAVESTACK_ALLOC_FOR_RE_SAVE_STATE \
(1 + ((sizeof(struct re_save_state) - 1) / sizeof(*PL_savestack)))
+
/*
* Local variables:
* c-indentation-style: bsd