In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/d3c48e81594c1d64ba9833495e45d8951b42027c?hp=dd3d2a3fc516b35d3b1c2ac8dfb860b57aed3b58>
- Log ----------------------------------------------------------------- commit d3c48e81594c1d64ba9833495e45d8951b42027c Author: Hugo van der Sanden <[email protected]> Date: Mon Dec 12 15:15:06 2016 +0000 [perl #130307] Correctly unwind on cache hit We've already incremented curlyx.count in the WHILEM branch before we check for a hit in the super-linear cache, so must reverse that on the sayNO. ----------------------------------------------------------------------- Summary of changes: regexec.c | 1 + t/re/re_tests | 1 + 2 files changed, 2 insertions(+) diff --git a/regexec.c b/regexec.c index 2b7a200d1e..013ccc54a8 100644 --- a/regexec.c +++ b/regexec.c @@ -7496,6 +7496,7 @@ NULL DEBUG_EXECUTE_r( Perl_re_exec_indentf( aTHX_ "whilem: (cache) already tried at this position...\n", depth) ); + cur_curlyx->u.curlyx.count--; sayNO; /* cache records failure */ } ST.cache_offset = offset; diff --git a/t/re/re_tests b/t/re/re_tests index 1797ddc09d..e8a7fa9f34 100644 --- a/t/re/re_tests +++ b/t/re/re_tests @@ -1975,6 +1975,7 @@ AB\s+\x{100} AB \x{100}X y - - \b\z0*\x{100} .\x{100} n - - # [perl #129350] crashed in intuit_start (.*?(a(a)|i(i))n) riiaan y $2-$3-$4-$1 aa-a--riiaan # Jump trie capture buffer issue [perl #129897] (^(?:(\d)x)?\d$) 1 y [$1-$2] [1-] # make sure that we reset capture buffers properly (from regtry) +(X{2,}[-X]{1,4}){3,}X{2,} XXX-XXX-XXX-- n - - # [perl #130307] # Keep these lines at the end of the file # vim: softtabstop=0 noexpandtab -- Perl5 Master Repository
