From: Nicholas Clark Date: Thu, 8 Nov 2007 15:36:50 +0000 (+0000) Subject: Remove CLONE_SKIP (5.8.7). Remove -dt (5.8.6, and Brainbench know that. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=254a8700beb0d10b15a24578f4c7cf7942ec516a;p=p5sagit%2Fp5-mst-13.2.git Remove CLONE_SKIP (5.8.7). Remove -dt (5.8.6, and Brainbench know that. Yay. Maybe they have a use). s/Misc/Miscelaneous/ as it seems daft to have an abbreviation in your name. Replace "" with '' in code examples where syntactically valid. Add the elimination of SVt_PVBM and the addition of SVt_BIND Some grammar fixes. Some rephrasing to make the text flow better. p4raw-id: //depot/perl@32246 --- diff --git a/pod/perl5100delta.pod b/pod/perl5100delta.pod index 9f25417..dec6807 100644 --- a/pod/perl5100delta.pod +++ b/pod/perl5100delta.pod @@ -177,7 +177,7 @@ that contain backreferences. See L. (Yves Orton) =item C<\K> escape The functionality of Jeff Pinyan's module Regexp::Keep has been added to -the core. You can now use in regular expressions the special escape C<\K> +the core. In regular expressions you can now use the special escape C<\K> as a way to do something like floating length positive lookbehind. It is also useful in substitutions like: @@ -225,10 +225,10 @@ overriding the lexical declaration with C. (Rafael Garcia-Suarez) =head2 The C<_> prototype -A new prototype character has been added. C<_> is equivalent to C<$> (it -denotes a scalar), but defaults to C<$_> if the corresponding argument -isn't supplied. Due to the optional nature of the argument, you can only -use it at the end of a prototype, or before a semicolon. +A new prototype character has been added. C<_> is equivalent to C<$> but +defaults to C<$_> if the corresponding argument isn't supplied. (both C<$> +and <_> denote a scalar). Due to the optional nature of the argument, you +can only use it at the end of a prototype, or before a semicolon. This has a small incompatible consequence: the prototype() function has been adjusted to return C<_> for some built-ins in appropriate cases (for @@ -282,7 +282,7 @@ but retain their previous value. (Rafael Garcia-Suarez, Nicholas Clark) To use state variables, one needs to enable them by using - use feature "state"; + use feature 'state'; or by using the C<-E> command-line switch in one-liners. See L. @@ -303,14 +303,6 @@ to inheritance). (chromatic) See L<< UNIVERSAL/"$obj->DOES( ROLE )" >>. -=head2 C - -Perl has now support for the C special subroutine. Like -C, C is called once per package; however, it is called -just before cloning starts, and in the context of the parent thread. If it -returns a true value, then no objects of that class will be cloned. See -L for details. (Contributed by Dave Mitchell.) - =head2 Formats Formats were improved in several ways. A new field, C<^*>, can be used for @@ -351,7 +343,9 @@ You can now use recursive subroutines with sort(), thanks to Robin Houston. The constant folding routine is now wrapped in an exception handler, and if folding throws an exception (such as attempting to evaluate 0/0), perl now retains the current optree, rather than aborting the whole program. -(Nicholas Clark, Dave Mitchell) +Without this change, programs would not compile if they had expressions that +happened to generate exceptions, even though those expressions were in code +that could never be reached at runtime. (Nicholas Clark, Dave Mitchell) =head2 Source filters in @INC @@ -406,10 +400,10 @@ been updated to version 5.0.0. =head2 MAD -MAD, which stands for I, is a +MAD, which stands for I, is a still-in-development work leading to a Perl 5 to Perl 6 converter. To enable it, it's necessary to pass the argument C<-Dmad> to Configure. The -obtained perl isn't binary compatible with a regular perl 5.9.4, and has +obtained perl isn't binary compatible with a regular perl 5.10, and has space and speed penalties; moreover not all regression tests still pass with it. (Larry Wall, Nicholas Clark) @@ -431,7 +425,8 @@ To be consistent with pack(), the C in unpack() templates indicates that the data is to be processed in character mode, i.e. character by character; on the contrary, C in unpack() indicates UTF-8 mode, where the packed string is processed in its UTF-8-encoded Unicode form on a byte -by byte basis. This is reversed with regard to perl 5.8.X. +by byte basis. This is reversed with regard to perl 5.8.X, but now consistent +between pack() and unpack(). Moreover, C and C can also be used in pack() templates to specify respectively character and byte modes. @@ -537,11 +532,11 @@ equivalent to setting it to C<'DEFAULT'>. (Rafael Garcia-Suarez) =head2 strictures and dereferencing in defined() -C was ignoring taking a hard reference in an argument +C was ignoring taking a hard reference in an argument to defined(), as in : - use strict "refs"; - my $x = "foo"; + use strict 'refs'; + my $x = 'foo'; if (defined $$x) {...} This now correctly produces the run-time error C @@ -830,9 +825,6 @@ rerunning all bar the last command from a saved command history. It can also display the parent inheritance tree of a given class, with the C command. -Perl has a new -dt command-line flag, which enables threads support in the -debugger. - =item ptar C is a pure perl implementation of C, that comes with @@ -840,7 +832,7 @@ C. =item ptardiff -C is a small script used to generate a diff between the contents +C is a small utility used to generate a diff between the contents of a tar archive and a directory tree. Like C, it comes with C. @@ -856,7 +848,7 @@ above). =item h2ph and h2xs -C and C have been made a bit more robust with regard to +C and C have been made more robust with regard to "modern" C code. C implements a new option C<--use-xsloader> to force use of @@ -890,7 +882,7 @@ their parent modules.) =item cpanp -C, the CPANPLUS shell, has been added. (C, an +C, the CPANPLUS shell, has been added. (C, a helper for CPANPLUS operation, has been added too, but isn't intended for direct use). @@ -1265,7 +1257,7 @@ data, so perl no longer tries to read it on Windows. (Alex Davies) =item PERLIO_DEBUG -The C environment variable has no longer any effect for +The C environment variable no longer has any effect for setuid scripts and for scripts run with B<-T>. Moreover, with a thread-enabled perl, using C could lead to @@ -1298,7 +1290,7 @@ accordingly to the contents of that %INC entry. (Rafael) =item C<-t> switch fix The C<-w> and C<-t> switches can now be used together without messing -up what categories of warnings are activated or not. (Rafael) +up which categories of warnings are activated. (Rafael) =item Duping UTF-8 filehandles @@ -1405,6 +1397,19 @@ difference unless you have code that explicitly makes assumptions about that ordering. (The inheritance hierarchy of C objects has been changed to reflect this.) +=head2 Elimination of SVt_PVBM + +Related to this, the internal type C has been been removed. This +dedicated type of C was used by the C operator and parts of the +regexp engine to facilitate fast Boyer-Moore matches. Its use internally has +been replaced by Cs of type C. + +=head2 New type SVt_BIND + +A new type C has been added, in readiness for the project to +implement Perl 6 on 5. There deliberately is no implementation yet, and +they cannot yet be created or destroyed. + =head2 Removal of CPP symbols The C preprocessor symbols C and @@ -1416,7 +1421,7 @@ been removed. =head2 Less space is used by ops The C structure now uses less space. The C field has been -removed and replaced by the one-bit fields C. C is now 9 +removed and replaced by a single bit bit-field C. C is now 9 bits long. (Consequently, the C class doesn't provide an C method anymore.) @@ -1453,7 +1458,7 @@ C parameters. =head2 $^H and %^H The implementation of the special variables $^H and %^H has changed, to -allow implementing lexical pragmas in pure perl. +allow implementing lexical pragmas in pure Perl. =head2 B:: modules inheritance changed @@ -1468,8 +1473,6 @@ an hash/array when the op is flagged with OPf_SPECIAL (Nicholas Clark). =for p5p XXX have we some docs on how to create regexp engine plugins, since that's now possible ? (perlreguts) -=for p5p XXX new BIND SV type, #29544, #29642 - =head1 Known Problems There's still a remaining problem in the implementation of the lexical