In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/c966426a3bb6619c8372ea83168fa58260cf133b?hp=ac56ae2e858af2a770b8e1bbf5cc5d10917fbc46>
- Log ----------------------------------------------------------------- commit c966426a3bb6619c8372ea83168fa58260cf133b Author: David Mitchell <[email protected]> Date: Sun Mar 22 15:58:26 2009 +0000 fix [RT #60034]. An equivalent fix was already in 5.8.9 as change 34580. ----------------------------------------------------------------------- Summary of changes: regexec.c | 7 +++++-- t/op/pat.t | 3 --- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/regexec.c b/regexec.c index 58d973a..93fadab 100644 --- a/regexec.c +++ b/regexec.c @@ -4478,8 +4478,11 @@ NULL cur_eval->u.eval.close_paren == (U32)ST.me->flags) goto fake_end; - if ( ST.count < (ST.minmod ? ARG1(ST.me) : ARG2(ST.me)) ) - goto curlym_do_A; /* try to match another A */ + { + I32 max = (ST.minmod ? ARG1(ST.me) : ARG2(ST.me)); + if ( max == REG_INFTY || ST.count < max ) + goto curlym_do_A; /* try to match another A */ + } goto curlym_do_B; /* try to match B */ case CURLYM_A_fail: /* just failed to match an A */ diff --git a/t/op/pat.t b/t/op/pat.t index c1cb120..88fbe5d 100755 --- a/t/op/pat.t +++ b/t/op/pat.t @@ -494,7 +494,6 @@ sub run_tests { nok "b$a=" =~ /a$a=/; ok "b$a=" =~ /ba+=/; - local $TODO = "See bug 60464" if $l > 32767; ok "ba$a=" =~ /b(?:a|b)+=/; } } @@ -4021,14 +4020,12 @@ sub run_tests { { local $BugId = '60034'; - local $TODO = "See bug 60034"; my $a = "xyzt" x 8192; ok $a =~ /\A(?>[a-z])*\z/, '(?>) does not cause wrongness on long string'; my $b = $a . chr 256; chop $b; { - local $TODO; iseq $a, $b; } ok $b =~ /\A(?>[a-z])*\z/, -- Perl5 Master Repository
