Branch: refs/heads/gh18515
  Home:   https://github.com/Perl/perl5
  Commit: 7f00c2e068e58549116015dcbca75a26b812df7f
      
https://github.com/Perl/perl5/commit/7f00c2e068e58549116015dcbca75a26b812df7f
  Author: Hugo van der Sanden <h...@crypt.org>
  Date:   2021-02-03 (Wed, 03 Feb 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: 7042511892e9289ab85c009cbadc35cd04655f2f
      
https://github.com/Perl/perl5/commit/7042511892e9289ab85c009cbadc35cd04655f2f
  Author: Hugo van der Sanden <h...@crypt.org>
  Date:   2021-02-03 (Wed, 03 Feb 2021)

  Changed paths:
    M t/op/split.t

  Log Message:
  -----------
  gh18515: tests for special-cased patterns


  Commit: cc56dd239856ef74fb7bb848dc4364fbae00c792
      
https://github.com/Perl/perl5/commit/cc56dd239856ef74fb7bb848dc4364fbae00c792
  Author: Hugo van der Sanden <h...@crypt.org>
  Date:   2021-02-03 (Wed, 03 Feb 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/666b743a52d6...cc56dd239856

Reply via email to