This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Fix #56194 Regex: (((??{1 + $^N}))) behaves differently in 5.10.0 than in blead
authorBram <p5p@perl.wizbit.be>
Thu, 12 Mar 2009 19:43:57 +0000 (20:43 +0100)
committerYves Orton <demerphq@gmail.com>
Thu, 12 Mar 2009 19:43:57 +0000 (20:43 +0100)
commit34a81e2b89e80eb8560606e2b29037d4da625156
treeee9a6ee6aa9d7411bed3b89538cc914105e8c471
parent7bb74d351eaaa2da4a13b7b3160774cdbaf460b0
Fix #56194 Regex: (((??{1 + $^N}))) behaves differently in 5.10.0 than in blead

PL_reglastparen and PL_reglastcloseparen contains a pointer are set to & rex->lastparen and & rex->lastcloseparen.
In case END the rex var is modified but PL_reglastparen and PL_reglastcloseparen is not.
Some part of the codes access PL_reglastparen while other parts use rex->lastparen.

This patch corrects this and adds 3 assertions.

I'm currently unable to proof (with a test case) that the code in case EVAL_ab is really nessesary...
Logically speaking it is nessesary but I do not know if it can cause test failures.

Also in the patch are missing regressions between 5.8 -> 5.10 and 5.10 -> 5.11. (and a test script that contains these regressions)

Message-ID: <rt-3.6.HEAD-4802-1236806863-900.56194-15-0@perl.org>

[Includes message and patch edits by committer.]
regexec.c
t/op/pat.t