patch <<'__', after => qr(with the POSIX routines of the same names); #ifdef RE_FIELDS # define PERL_EXT # define PERL_EXT_RE_BUILD # ifdef PERL_EXT_RE_DEBUG # undef PERL_EXT_RE_DEBUG # endif #endif __ patch <<'__', before => qr(Allow for side effects in s); #ifdef RE_FIELDS # include "rx_lend.h" #endif __ patch <<'__', after => qr(r->data = 0), 0; #ifdef RE_FIELDS rx_regcomp_start(aTHX _aREXC); #endif __ patch <<'__', before => qr((RExC_seen|PL_regseen)\Q |= REG_SEEN_LOOKBEHIND); #ifdef RE_FIELDS if (isALPHA(*RExC_parse)) { char *name = RExC_parse; while (isALNUM(*RExC_parse)) RExC_parse++; if (*RExC_parse == '\0') { RExC_parse = name; vFAIL("Sequence (?... not terminated"); } if (*RExC_parse != '>') { RExC_parse = name; vFAIL("Illegal character in (?"); } if (!SIZE_ONLY) rx_regcomp_parse(aTHX_ aREXC_ name, RExC_parse-name); nextchar(aREXC); while (*RExC_parse && isSPACE(*RExC_parse)) RExC_parse++; paren = 1; goto plain_parens; } #endif __ patch <<'__', before => qr(parno = (PL_reg|RExC_)npar); #ifdef RE_FIELDS plain_parens: #endif __ patch <<'__', before => qr(\Qif (!r || (--r->refcnt > 0))); #ifdef RE_FIELDS rx_regfree(aTHX_ r); #endif __ 1;