X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=regcomp.c;h=c0425b766d20834e21a1d9fd1b07271de5593643;hb=d7e9e3857befe7a39725ee224b7fb86bae37b3de;hp=9fbb3df20eac33017cf3d781aeb172db67f73d2c;hpb=85ddcde952b37a5319c8d00206e6f646bfb1faca;p=p5sagit%2Fp5-mst-13.2.git diff --git a/regcomp.c b/regcomp.c index 9fbb3df..c0425b7 100644 --- a/regcomp.c +++ b/regcomp.c @@ -1222,7 +1222,7 @@ S_study_chunk(pTHX_ regnode **scanp, I32 *deltap, regnode *last, scan_data_t *da if (data) data->flags |= SF_HAS_EVAL; } - else if (OP(scan) == LOGICAL && scan->flags == 2) { /* Embedded */ + else if (OP(scan) == LOGICAL && scan->flags == 2) { /* Embedded follows */ if (flags & SCF_DO_SUBSTR) { scan_commit(data); data->longest = &(data->longest_float); @@ -1230,6 +1230,7 @@ S_study_chunk(pTHX_ regnode **scanp, I32 *deltap, regnode *last, scan_data_t *da is_inf = is_inf_internal = 1; if (flags & SCF_DO_STCLASS_OR) /* Allow everything */ cl_anything(data->start_class); + flags &= ~SCF_DO_STCLASS; } /* Else: zero-length, ignore. */ scan = regnext(scan); @@ -1731,7 +1732,9 @@ S_reg(pTHX_ I32 paren, I32 *flagp) *flagp = TRYAGAIN; return NULL; case 'p': - Perl_warner(aTHX_ WARN_REGEXP, "(?p{}) is deprecated - use (??{})"); + if (SIZE_ONLY) + Perl_warner(aTHX_ WARN_REGEXP, + "(?p{}) is deprecated - use (??{})"); /* FALL THROUGH*/ case '?': logical = 1;