In perl.git, the branch yves/revert_skipwhite has been created
<http://perl5.git.perl.org/perl.git/commitdiff/306b5ce56bf3ddf0cf5cf373928a6bbeea3cd199?hp=0000000000000000000000000000000000000000>
at 306b5ce56bf3ddf0cf5cf373928a6bbeea3cd199 (commit)
- Log -----------------------------------------------------------------
commit 306b5ce56bf3ddf0cf5cf373928a6bbeea3cd199
Author: Yves Orton <[email protected]>
Date: Sun Feb 24 15:33:19 2013 +0100
Revert "[perl #94490] const fold should not trigger special split " ""
Revert, with minor changes and some merges:
5255171e6cd0accee6f76ea2980e32b3b5b8e171
The reverted patch was meant to make:
split( 0 || " ", $thing ) #1
consistent with
my $x=0; split( $x || " ", $thing ) #2
and not with
split( " ", $thing ) #3
This was reverted because it broke C<split("\x{20}", $thing)>, and
because one might argue that is not that #1 does the wrong thing,
but rather that the behavior of #2 that is wrong. In other words
we might expect that all three should behave the same as #3, and
that instead of "fixing" the behavior of #1 to be like #2, we should
really fix the behavior of #2 to behave like #3.
Also, it doesn't make sense to move this further from the regex
engine. We really want the regex engine to decide this stuff itself,
otherwise split " ", ... wouldn't work properly with an alternate
engine. (Imagine we add a special regexp meta pattern that behaves
the same as " " does in a split /.../. For instance we might make
split /(*SPLITWHITE)/ trigger the same behavior as split " ".
Anyway, it can wait until after 5.18 to figure it out. The op logic
involved in this stuff makes my head spin.
M dist/B-Deparse/Deparse.pm
M op.c
M op.h
M pp.c
M regcomp.c
M regexp.h
M t/op/split.t
commit a8d1c0b73daeb1ca30c959ce3c3fa812167f8632
Author: Yves Orton <[email protected]>
Date: Sat Feb 23 13:56:19 2013 +0100
Revert "Define RXf_SPLIT and RXf_SKIPWHITE as 0"
This effectively reverts commit cccd1425414e6518c1fc8b7bcaccfb119320c513.
We dont want to get rid of these vars, and it turns out that
RXf_SEEN_LOOKBEHIND is used only in the same situation of the new
RXf_MODIFIES_VARS. So I have renamed RXf_SEEN_LOOKBEHIND to
RXf_NO_INPLACE_SUBST, and then instead of using two vars we use
only the one. Which in turn allows RXf_SPLIT and RXf_SKIPWHITE to
have their bits back.
This is in preparation for reverting another patch in this sequence.
M dump.c
M pod/perlreapi.pod
M pp_hot.c
M regcomp.c
M regexp.h
M regnodes.h
-----------------------------------------------------------------------
--
Perl5 Master Repository