Branch: refs/heads/gh18515
Home: https://github.com/Perl/perl5
Commit: 31883ad00b5345af7be05e260a4b6834ba86a2b0
https://github.com/Perl/perl5/commit/31883ad00b5345af7be05e260a4b6834ba86a2b0
Author: Hugo van der Sanden <[email protected]>
Date: 2021-01-31 (Sun, 31 Jan 2021)
Changed paths:
M dump.c
Log Message:
-----------
gh18515: extend dumping of PM objects
Include RXf_ flags START_ONLY, WHITE and NULL along with the essentially
similar SKIPWHITE; dump the flags whenever GETRE(pm) succeeds, not only
if there is a check substring.
This allows eg `perl -Dx -e 'split /\s+/'` to show whether the intended
flags have been set.
Commit: 666b743a52d6aa9dcb6f6a9b879ccee62a7383d0
https://github.com/Perl/perl5/commit/666b743a52d6aa9dcb6f6a9b879ccee62a7383d0
Author: Hugo van der Sanden <[email protected]>
Date: 2021-01-31 (Sun, 31 Jan 2021)
Changed paths:
M regcomp.c
Log Message:
-----------
gh18515: fix special handling of specific split() patterns
Commit 122af31004 acted on the wrong assumption that NEXTOPER() and
regnext() were equivalent, and in fixing a valgrind complaint tried
to simplify code for detecting specific patterns for split() that
merited special-case handling by making them all use regnext().
As a result, the special case /\s+/ was no longer correctly detected,
resulting in a degree of pessimisation.
This commit fixes that, and avoids reading via the calculated 'next'
pointer except for the ops we need (in which cases we know it'll point
to another regop) - for the EXACT case (which we don't need), valgrind
was correctly pointing out that it points to potentially uninitialized
data.
Compare: https://github.com/Perl/perl5/compare/31883ad00b53%5E...666b743a52d6