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

Reply via email to