X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=regcomp.c;h=7af090e8829e43bd6162bf04e5d0502b16608d10;hb=3a188f30750b7b6044dc11da3853f0d540738f37;hp=05e77ba857c36a93fd606308f225ad1347475226;hpb=9228e8cadade046a4baa03d1e0ca1ffb6422ddd1;p=p5sagit%2Fp5-mst-13.2.git diff --git a/regcomp.c b/regcomp.c index 05e77ba..7af090e 100644 --- a/regcomp.c +++ b/regcomp.c @@ -1732,7 +1732,7 @@ S_reg(pTHX_ I32 paren, I32 *flagp) *flagp = TRYAGAIN; return NULL; case 'p': - if (PL_regcode == &PL_regdummy) + if (SIZE_ONLY) Perl_warner(aTHX_ WARN_REGEXP, "(?p{}) is deprecated - use (??{})"); /* FALL THROUGH*/ @@ -2296,8 +2296,14 @@ tryagain: nextchar(); ret = reg(1, &flags); if (ret == NULL) { - if (flags & TRYAGAIN) + if (flags & TRYAGAIN) { + if (PL_regcomp_parse == PL_regxend) { + /* Make parent create an empty node if needed. */ + *flagp |= TRYAGAIN; + return(NULL); + } goto tryagain; + } return(NULL); } *flagp |= flags&(HASWIDTH|SPSTART|SIMPLE);