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