In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/0e3f4440d849cf8fca676f87e574164e33cf2e13?hp=20e4c2ede583268f69be4957f1f94953e911c5bf>
- Log ----------------------------------------------------------------- commit 0e3f4440d849cf8fca676f87e574164e33cf2e13 Author: Yves Orton <demer...@gmail.com> Date: Wed Sep 13 18:04:43 2017 +0200 Fix #131868 - silence quantifier warnings for regex gosub We check that numerically quantified subpatterns can match something, so that we can detect things like (){4}. However, we produce false positives when using regex recursion. This is related to slow-downs in grammar matches in Perl 5.20 which were fixed by a51d618a82a7057c3aabb600a7a8691d27f44a34. In an ideal world we would do a lot of work and this false-positive would not happen, but that requires more round tuits than I have available ----------------------------------------------------------------------- Summary of changes: regcomp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/regcomp.c b/regcomp.c index c83315c73a..cc0ff96064 100644 --- a/regcomp.c +++ b/regcomp.c @@ -5123,7 +5123,7 @@ S_study_chunk(pTHX_ RExC_state_t *pRExC_state, regnode **scanp, } if (!scan) /* It was not CURLYX, but CURLY. */ scan = next; - if (!(flags & SCF_TRIE_DOING_RESTUDY) + if (((flags & (SCF_TRIE_DOING_RESTUDY|SCF_DO_SUBSTR))==SCF_DO_SUBSTR) /* ? quantifier ok, except for (?{ ... }) */ && (next_is_eval || !(mincount == 0 && maxcount == 1)) && (minnext == 0) && (deltanext == 0) -- Perl5 Master Repository