In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/8525cfaee6f338e972e8c944b87855a29a5b67c3?hp=65be717f6aa83a42f3379d93eab290add00492fe>
- Log ----------------------------------------------------------------- commit 8525cfaee6f338e972e8c944b87855a29a5b67c3 Author: Father Chrysostomos <[email protected]> Date: Wed Oct 13 23:41:38 2010 -0700 Remove or update pod references to regexp reëntrance. ----------------------------------------------------------------------- Summary of changes: pod/perlre.pod | 13 +++++++------ pod/perltodo.pod | 5 ----- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/pod/perlre.pod b/pod/perlre.pod index 88089ee..fd09566 100644 --- a/pod/perlre.pod +++ b/pod/perlre.pod @@ -979,10 +979,11 @@ B<WARNING>: Use of lexical (C<my>) variables in these blocks is broken. The result is unpredictable and will make perl unstable. The workaround is to use global (C<our>) variables. -B<WARNING>: Because Perl's regex engine is currently not re-entrant, -interpolated code may not invoke the regex engine either directly with +B<WARNING>: In perl 5.12.x and earlier, the regex engine +was not re-entrant, so interpolated code could not +safely invoke the regex engine either directly with C<m//> or C<s///>), or indirectly with functions such as -C<split>. Invoking the regex engine in these blocks will make perl +C<split>. Invoking the regex engine in these blocks would make perl unstable. =item C<(??{ code })> @@ -1031,9 +1032,9 @@ perilous C<use re 'eval'> pragma has been used (see L<re>), or the variables contain results of C<qr//> operator (see L<perlop/"qrE<sol>STRINGE<sol>msixpo">). -Because perl's regex engine is not currently re-entrant, delayed -code may not invoke the regex engine either directly with C<m//> or C<s///>), -or indirectly with functions such as C<split>. +In perl 5.12.x and earlier, because the regex engine was not re-entrant, +delayed code could not safely invoke the regex engine either directly with +C<m//> or C<s///>), or indirectly with functions such as C<split>. Recursing deeper than 50 times without consuming any input string will result in a fatal error. The maximum depth is compiled into perl, so diff --git a/pod/perltodo.pod b/pod/perltodo.pod index df8a4b9..7146010 100644 --- a/pod/perltodo.pod +++ b/pod/perltodo.pod @@ -1265,11 +1265,6 @@ it would be a good thing. Fix (or rewrite) the implementation of the C</(?{...})/> closures. -=head2 A re-entrant regexp engine - -This will allow the use of a regex from inside (?{ }), (??{ }) and -(?(?{ })|) constructs. - =head2 Add class set operations to regexp engine Apparently these are quite useful. Anyway, Jeffery Friedl wants them. -- Perl5 Master Repository
