More perldelta work (info from perl59[01]delta)
Rafael Garcia-Suarez [Fri, 19 Oct 2007 16:14:01 +0000 (16:14 +0000)]
p4raw-id: //depot/perl@32147

pod/perl5100delta.pod

index 9754ea0..6b91800 100644 (file)
@@ -585,16 +585,95 @@ space and speed penalties; moreover not all regression tests still pass
 with it. (Larry Wall, Nicholas Clark)
 
 =head1 Modules and Pragmata
+
 =head1 Utility Changes
+
+=over 4
+
+=item *
+
+The Perl debugger can now save all debugger commands for sourcing later;
+notably, it can now emulate stepping backwards, by restarting and
+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<i> command.
+
+Perl has a new -dt command-line flag, which enables threads support in the
+debugger.
+
+=back
+
 =head1 New Documentation
+
+The long-existing feature of C</(?{...})/> regexps setting C<$_> and pos()
+is now documented.
+
 =head1 Performance Enhancements
+
+Sorting arrays in place (C<@a = sort @a>) is now optimized to avoid
+making a temporary copy of the array.
+
+Access to elements of lexical arrays via a numeric constant between 0 and
+255 is now faster. (This used to be only the case for global arrays.)
+
 =head1 Installation and Configuration Improvements
+
 =head1 Selected Bug Fixes
+
+C<strict> wasn't in effect in regexp-eval blocks (C</(?{...})/>).
+
 =head1 New or Changed Diagnostics
+
+A new deprecation warning, I<Deprecated use of my() in false conditional>,
+has been added, to warn against the use of the dubious and deprecated
+construct
+
+    my $x if 0;
+
+See L<perldiag>. Use C<state> variables instead.
+
 =head1 Changed Internals
+
+=head2 Reordering of SVt_* constants
+
+The relative ordering of constants that define the various types of C<SV>
+have changed; in particular, C<SVt_PVGV> has been moved before C<SVt_PVLV>,
+C<SVt_PVAV>, C<SVt_PVHV> and C<SVt_PVCV>.  This is unlikely to make any
+difference unless you have code that explicitly makes assumptions about that
+ordering. (The inheritance hierarchy of C<B::*> objects has been changed
+to reflect this.)
+
+=head2 Removal of CPP symbols
+
+The C preprocessor symbols C<PERL_PM_APIVERSION> and
+C<PERL_XS_APIVERSION>, which were supposed to give the version number of
+the oldest perl binary-compatible (resp. source-compatible) with the
+present one, were not used, and sometimes had misleading values. They have
+been removed.
+
+=head2 Less space is used by ops
+
+The C<BASEOP> structure now uses less space. The C<op_seq> field has been
+removed and replaced by the one-bit fields C<op_opt>. C<op_type> is now 9
+bits long. (Consequently, the C<B::OP> class doesn't provide an C<seq>
+method anymore.)
+
+=head2 New parser
+
+perl's parser is now generated by bison (it used to be generated by
+byacc.) As a result, it seems to be a bit more robust.
+
 =head1 New Tests
+
 =head1 Known Problems
+
+There's still a remaining problem in the implementation of the lexical
+C<$_>: it doesn't work inside C</(?{...})/> blocks. (See the TODO test in
+F<t/op/mydef.t>.)
+
 =head1 Platform Specific Problems
+
 =head1 Reporting Bugs
 
 =head1 SEE ALSO