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

Reply via email to