diff options
author | Karl Williamson <public@khwilliamson.com> | 2010-09-20 18:57:24 -0600 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2010-09-22 22:54:23 -0700 |
commit | 9de15fec376a8ff90a38fad0ff322c72c2995765 (patch) | |
tree | 95729b4e82e14d795b481df7902da07be8c9ab67 /op.c | |
parent | 4c2c679ff9fc18054795b9b7b28e37453e57d146 (diff) | |
download | perl-9de15fec376a8ff90a38fad0ff322c72c2995765.tar.gz |
Add /d, /l, /u (infixed) regex modifiers
This patch adds recognition of these modifiers, with appropriate action
for d and l. u does nothing useful yet. This allows for the
interpolation of a regex into another one without losing the character
set semantics that it was compiled with, as for the first time, the
semantics is now specified in the stringification as one of these
modifiers.
To this end, it allocates an unused bit in the structures. The off-
sets change so as to not disturb other bits.
Diffstat (limited to 'op.c')
-rw-r--r-- | op.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -3649,8 +3649,12 @@ Perl_newPMOP(pTHX_ I32 type, I32 flags) if (PL_hints & HINT_RE_TAINT) pmop->op_pmflags |= PMf_RETAINT; - if (PL_hints & HINT_LOCALE) + if (PL_hints & HINT_LOCALE) { pmop->op_pmflags |= PMf_LOCALE; + } + else if ((! (PL_hints & HINT_BYTES)) && (PL_hints & HINT_UNI_8_BIT)) { + pmop->op_pmflags |= RXf_PMf_UNICODE; + } #ifdef USE_ITHREADS |