In perl.git, the branch maint-5.10 has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/81a6d87b05711a71bcbe0d2a4893901613af1733?hp=a4e97800abf9fdb048efdaae1ed4ef159fa21020>

- Log -----------------------------------------------------------------
commit 81a6d87b05711a71bcbe0d2a4893901613af1733
Author: David Mitchell <[email protected]>
Date:   Sat Jul 25 00:24:29 2009 +0100

    polish perldelta
-----------------------------------------------------------------------

Summary of changes:
 pod/perl5101delta.pod | 1015 ++++++++++++++++++++++++++----------------------
 1 files changed, 550 insertions(+), 465 deletions(-)

diff --git a/pod/perl5101delta.pod b/pod/perl5101delta.pod
index 1dfc304..aff041b 100644
--- a/pod/perl5101delta.pod
+++ b/pod/perl5101delta.pod
@@ -56,7 +56,7 @@ of the switch statements where smart matching is implicitly 
used.
 
 The smart match operator C<~~> is no longer commutative. The behaviour of
 a smart match now depends primarily on the type of its right hand
-argument. Moreover, its semantics has been adjusted for greater
+argument. Moreover, its semantics have been adjusted for greater
 consistency or usefulness in several cases. While the general backwards
 compatibility is maintained, several changes must be noted:
 
@@ -120,7 +120,7 @@ if overload fallback is active, it will be used instead, as 
usual.)
 
 =head2 Other incompatible changes
 
-=over
+=over 4
 
 =item *
 
@@ -145,7 +145,7 @@ of the output of C<perl -V>. See L<perlrepository> for more 
information.
 =item *
 
 The internal structure of the C<ext/> directory in the perl source has
-been reorganised. In general, a module C<Foo::Bar> who's source was
+been reorganised. In general, a module C<Foo::Bar> whose source was
 stored under F<ext/Foo/Bar/> is now located under F<ext/Foo-Bar/>. Also,
 some modules have been moved from F<lib/> to F<ext/>. This is purely a
 source tarball change, and should make no difference to the compilation or
@@ -162,6 +162,16 @@ See L</"Updated Modules"> for more details.
 
 =item *
 
+As part of the C<ExtUtils::MakeMaker> upgrade, the
+C<ExtUtils::MakeMaker::bytes> and C<ExtUtils::MakeMaker::vmsish> modules
+have been removed from this distribution.
+
+=item *
+
+C<Module::CoreList> no longer contains the C<%:patchlevel> hash.
+
+=item *
+
 This one is actually a change introduced in 5.10.0, but it was missed
 from that release's perldelta, so it is mentioned here instead.
 
@@ -213,41 +223,45 @@ Note that currently some test scripts may fail when run 
in parallel (most
 notably C<ext/IO/t/io_dir.t>). If necessary run just the failing scripts
 again sequentially and see if the failures go away.
 
-XXX do we now have dtrace?
+=head2 DTrace support
+
+Some support for DTrace has been added. See L<INSTALL/"DTrace support">.
 
 =head2 Support for C<configure_requires> in CPAN module metadata
 
-Both C<CPAN.pm> and C<CPANPLUS> now support the C<configure_requires> keyword
+Both C<CPAN> and C<CPANPLUS> now support the C<configure_requires> keyword
 in the C<META.yml> metadata file included in most recent CPAN distributions.
 This allows distribution authors to specify configuration prerequisites that
-must be installed before running Makefile.PL or Build.PL.
+must be installed before running F<Makefile.PL> or F<Build.PL>.
 
 See the documentation for C<ExtUtils::MakeMaker> or C<Module::Build> for more
 on how to specify C<configure_requires> when creating a distribution for CPAN.
 
 =head1 Modules and Pragmata
 
-=head2 New Modules
+=head2 New Modules and Pragmata
 
-=over
+=over 4
 
-=item *
+=item C<autodie>
 
-C<autodie> is a new lexically-scoped alternative for the C<Fatal> module.
-The bundled version is 2.06.
+This is a new lexically-scoped alternative for the C<Fatal> module.
+The bundled version is 2.06. Note that in this release, using a string
+eval when C<autodie> is in effect can cause the autodie behaviour to leak
+into the surrounding scope. See L<autodie/"BUGS"> for more details.
 
-=item *
+=item C<Compress::Raw::Bzip2>
 
-C<Compress::Raw::Bzip2> has been added to the core (version 2.020).
+This has been added to the core (version 2.020).
 
-=item *
+=item C<parent>
 
-C<parent> establishes an ISA relationship with base classes at compile time.
-It provides the key feature of C<base> without the feature creep.
+This pragma establishes an ISA relationship with base classes at compile
+time. It provides the key feature of C<base> without the feature creep.
 
-=item *
+=item C<Parse::CPAN::Meta>
 
-C<Parse::CPAN::Meta> has been added to the core (version 1.39).
+This has been added to the core (version 1.39).
 
 =back
 
@@ -257,65 +271,65 @@ C<Parse::CPAN::Meta> has been added to the core (version 
1.39).
 
 =item C<attributes>
 
-upgraded from version 0.08 to 0.09.
+Upgraded from version 0.08 to 0.09.
 
 =item C<attrs>
 
-upgraded from version 1.02 to 1.03.
+Upgraded from version 1.02 to 1.03.
 
 =item C<base>
 
-upgraded from version 2.13 to 2.14. See L<parent> for a replacement.
+Upgraded from version 2.13 to 2.14. See L<parent> for a replacement.
 
 =item C<bigint>
 
-upgraded from version 0.22 to 0.23
+Upgraded from version 0.22 to 0.23.
 
 =item C<bignum>
 
-upgraded from version 0.22 to 0.23
+Upgraded from version 0.22 to 0.23.
 
 =item C<bigrat>
 
-upgraded from version 0.22 to 0.23
+Upgraded from version 0.22 to 0.23.
 
 =item C<charnames>
 
-upgraded from version 1.06 to 1.07
+Upgraded from version 1.06 to 1.07.
 
-The Unicode NameAliases.txt database file has been added. This has the
+The Unicode F<NameAliases.txt> database file has been added. This has the
 effect of adding some extra C<\N> character names that formerly wouldn't
 have been recognised; for example, C<"\N{LATIN CAPITAL LETTER GHA}">.
 
 =item C<constant>
 
-upgraded from version 1.13 to 1.17
+Upgraded from version 1.13 to 1.17.
 
 =item C<feature>
 
 The meaning of the C<:5.10> and C<:5.10.X> feature bundles has
-changed slightly. The last component, if any (ie C<X>) is simply ignored.
+changed slightly. The last component, if any (i.e. C<X>) is simply ignored.
 This is predicated on the assumption that new features will not, in
-general, be added to maintenance releases. So  C<:5.10> and C<:5.10.X>
+general, be added to maintenance releases. So C<:5.10> and C<:5.10.X>
 have identical effect. This is a change to the behaviour documented for
 5.10.0.
 
 =item C<fields>
 
-upgraded from version 2.13 to 2.14 (this was just a version bump; there
-were no functional changes)
+Upgraded from version 2.13 to 2.14 (this was just a version bump; there
+were no functional changes).
 
 =item C<lib>
 
-upgraded from version 0.5565 to 0.62
+Upgraded from version 0.5565 to 0.62.
 
 =item C<open>
 
-upgraded from version 1.06 to 1.07
+Upgraded from version 1.06 to 1.07.
 
 =item C<overload>
 
-upgraded from version 1.06 to 1.07
+Upgraded from version 1.06 to 1.07.
 
 =item C<overloading>
 
@@ -323,460 +337,458 @@ See L</"The C<overloading> pragma"> above.
 
 =item C<version>
 
-upgraded from version 0.74 to 0.77
+Upgraded from version 0.74 to 0.77.
 
 =back
 
 =head2 Updated Modules
 
-=over
+=over 4
 
-=item *
+=item C<Archive::Extract>
 
-C<Archive::Extract> upgraded from version 0.24 to 0.34
+Upgraded from version 0.24 to 0.34.
 
-=item *
+=item C<Archive::Tar>
 
-C<Archive::Tar> upgraded from version 1.38 to 1.52
+Upgraded from version 1.38 to 1.52.
 
-=item *
+=item C<Attribute::Handlers>
 
-C<Attribute::Handlers> upgraded from version 0.79 to 0.85
+Upgraded from version 0.79 to 0.85.
 
-=item *
+=item C<AutoLoader>
 
-C<AutoLoader> upgraded from version 5.63 to 5.68
+Upgraded from version 5.63 to 5.68.
 
-=item *
+=item C<AutoSplit>
 
-C<AutoSplit> upgraded from version 1.05 to 1.06
+Upgraded from version 1.05 to 1.06.
 
-=item *
+=item C<B>
 
-C<B> upgraded from version 1.17 to 1.22
+Upgraded from version 1.17 to 1.22.
 
-=item *
+=item C<B::Debug>
 
-C<B::Debug> upgraded from version 1.05 to 1.11
+Upgraded from version 1.05 to 1.11.
 
-=item *
+=item C<B::Deparse>
 
-C<B::Deparse> upgraded from version 0.83 to 0.89
+Upgraded from version 0.83 to 0.89.
 
-=item *
+=item C<B::Lint>
 
-C<B::Lint> upgraded from version 1.09 to 1.11
+Upgraded from version 1.09 to 1.11.
 
-=item *
+=item C<B::Xref>
 
-C<B::Xref> upgraded from version 1.01 to 1.02
+Upgraded from version 1.01 to 1.02.
 
-=item *
+=item C<Benchmark>
 
-C<Benchmark> upgraded from version 1.10 to 1.11
+Upgraded from version 1.10 to 1.11.
 
-=item *
+=item C<Carp>
 
-C<Carp> upgraded from version 1.08 to 1.11
+Upgraded from version 1.08 to 1.11.
 
-=item *
+=item C<CGI>
 
-C<CGI> upgraded from version 3.29 to 3.43 
+Upgraded from version 3.29 to 3.43.
 
-=item *
+=item C<Compress::Zlib>
 
-C<Compress::Zlib> upgraded from version 2.008 to 2.020
+Upgraded from version 2.008 to 2.020.
 
-=item *
+=item C<CPAN>
 
-C<CPAN> upgraded from version 1.9205 to 1.9402
+Upgraded from version 1.9205 to 1.9402.
 
-=item *
+=item C<CPANPLUS>
 
-C<CPANPLUS> upgraded from version 0.84 to 0.88
+Upgraded from version 0.84 to 0.88.
 
-=item *
+=item C<CPANPLUS::Dist::Build>
 
-C<CPANPLUS::Dist::Build> upgraded from version 0.06_02 to 0.36
+Upgraded from version 0.06_02 to 0.36.
 
-=item *
+=item C<Cwd>
 
-C<Cwd> upgraded from version 3.25_01 to 3.30
+Upgraded from version 3.25_01 to 3.30.
 
-=item *
+=item C<Data::Dumper>
 
-C<Data::Dumper> upgraded from version 2.121_14 to 2.124
+Upgraded from version 2.121_14 to 2.124.
 
-=item *
+=item C<DB>
 
-C<DB> upgraded from version 1.01 to 1.02
+Upgraded from version 1.01 to 1.02.
 
-=item *
+=item C<DB_File>
 
-C<DB_File> upgraded from version 1.816_1 to 1.820
+Upgraded from version 1.816_1 to 1.820.
 
-=item *
+=item C<Devel::PPPort>
 
-C<Devel::PPPort> upgraded from version 3.13 to 3.19
+Upgraded from version 3.13 to 3.19.
 
-=item *
+=item C<Digest::MD5>
 
-C<Digest::MD5> upgraded from version 2.36_01 to 2.39
+Upgraded from version 2.36_01 to 2.39.
 
-=item *
+=item C<Digest::SHA>
 
-C<Digest::SHA> upgraded from version 5.45 to 5.47
+Upgraded from version 5.45 to 5.47.
 
-=item *
+=item C<DirHandle>
 
-C<DirHandle> upgraded from version 1.01 to 1.03
+Upgraded from version 1.01 to 1.03.
 
-=item *
+=item C<Dumpvalue>
 
-C<Dumpvalue> upgraded from version 1.12 to 1.13
+Upgraded from version 1.12 to 1.13.
 
-=item *
+=item C<DynaLoader>
 
-C<DynaLoader> upgraded from version 1.08 to 1.10
+Upgraded from version 1.08 to 1.10.
 
-=item *
+=item C<Encode>
 
-C<Encode> upgraded from version 2.23 to 2.35
+Upgraded from version 2.23 to 2.35.
 
-=item *
+=item C<Errno>
 
-C<Errno> upgraded from version 1.10 to 1.11
+Upgraded from version 1.10 to 1.11.
 
-=item *
+=item C<Exporter>
 
-C<Exporter> upgraded from version 5.62 to 5.63
+Upgraded from version 5.62 to 5.63.
 
-=item *
+=item C<ExtUtils::CBuilder>
 
-C<ExtUtils::CBuilder> upgraded from version 0.21 to 0.2602
+Upgraded from version 0.21 to 0.2602.
 
-=item *
+=item C<ExtUtils::Command>
 
-C<ExtUtils::Command> upgraded from version 1.13 to 1.16
+Upgraded from version 1.13 to 1.16.
 
-=item *
+=item C<ExtUtils::Constant>
 
-C<ExtUtils::Constant> upgraded from 0.20 to 0.22 (note that neither of
-these versions are available on CPAN).
+Upgraded from 0.20 to 0.22. (Note that neither of these versions are
+available on CPAN.)
 
-=item *
+=item C<ExtUtils::Embed>
 
-C<ExtUtils::Embed> upgraded from version 1.27 to 1.28
+Upgraded from version 1.27 to 1.28.
 
-=item *
+=item C<ExtUtils::Install>
 
-C<ExtUtils::Install> upgraded from version 1.44 to 1.52_03
+Upgraded from version 1.44 to 1.52_03.
 
-=item *
+=item C<ExtUtils::MakeMaker>
 
-C<ExtUtils::MakeMaker> upgraded from version 6.42 to 6.55_01
+Upgraded from version 6.42 to 6.55_01.
 
 Note that C<ExtUtils::MakeMaker::bytes> and C<ExtUtils::MakeMaker::vmsish>
 have been removed from this distribution.
 
-=item *
+=item C<ExtUtils::Manifest>
 
-C<ExtUtils::Manifest> upgraded from version 1.51_01 to 1.56
+Upgraded from version 1.51_01 to 1.56.
 
-=item *
+=item C<ExtUtils::ParseXS>
 
-C<ExtUtils::ParseXS> upgraded from version 2.18_02 to 2.20_01
+Upgraded from version 2.18_02 to 2.2002.
 
-=item *
+=item C<Fatal>
 
-C<Fatal> upgraded from version 1.05 to 2.06. See also the new pragma
-C<autodie>.
+Upgraded from version 1.05 to 2.06. See also the new pragma C<autodie>.
 
-=item *
+=item C<File::Basename>
 
-C<File::Basename> upgraded from version 2.76 to 2.77
+Upgraded from version 2.76 to 2.77.
 
-=item *
+=item C<File::Compare>
 
-C<File::Compare> upgraded from version 1.1005 to 1.1006
+Upgraded from version 1.1005 to 1.1006.
 
-=item *
+=item C<File::Copy>
 
-C<File::Copy> upgraded from version 2.11 to 2.14
+Upgraded from version 2.11 to 2.14.
 
-=item *
+=item C<File::Fetch>
 
-C<File::Fetch> upgraded from version 0.14 to 0.20
+Upgraded from version 0.14 to 0.20.
 
-=item *
+=item C<File::Find>
 
-C<File::Find> upgraded from version 1.12 to 1.14
+Upgraded from version 1.12 to 1.14.
 
-=item *
+=item C<File::Path>
 
-C<File::Path> upgraded from version 2.04 to 2.07_03
+Upgraded from version 2.04 to 2.07_03.
 
-=item *
+=item C<File::Spec>
 
-C<File::Spec> upgraded from version 3.2501 to 3.30
+Upgraded from version 3.2501 to 3.30.
 
-=item *
+=item C<File::stat>
 
-C<File::stat> upgraded from version 1.00 to 1.01
+Upgraded from version 1.00 to 1.01.
 
-=item *
+=item C<File::Temp>
 
-C<File::Temp> upgraded from version 0.18 to 0.22
+Upgraded from version 0.18 to 0.22.
 
-=item *
+=item C<FileCache>
 
-C<FileCache> upgraded from version 1.07 to 1.08
+Upgraded from version 1.07 to 1.08.
 
-=item *
+=item C<FileHandle>
 
-C<FileHandle> upgraded from version 2.01 to 2.02
+Upgraded from version 2.01 to 2.02.
 
-=item *
+=item C<Filter::Simple>
 
-C<Filter::Simple> upgraded from version 0.82 to 0.84
+Upgraded from version 0.82 to 0.84.
 
-=item *
+=item C<Filter::Util::Call>
 
-C<Filter::Util::Call> upgraded from version 1.07 to 1.08
+Upgraded from version 1.07 to 1.08.
 
-=item *
+=item C<FindBin>
 
-C<FindBin> upgraded from version 1.49 to 1.50 
+Upgraded from version 1.49 to 1.50.
 
-=item *
+=item C<GDBM_File>
 
-C<GDBM_File> upgraded from version 1.08 to 1.09
+Upgraded from version 1.08 to 1.09.
 
-=item *
+=item C<Getopt::Long>
 
-C<Getopt::Long> upgraded from version 2.37 to 2.38
+Upgraded from version 2.37 to 2.38.
 
-=item *
+=item C<Hash::Util::FieldHash>
 
-C<Hash::Util::FieldHash> upgraded from version 1.03 to 1.04.
-This fixes a memory leak.
+Upgraded from version 1.03 to 1.04. This fixes a memory leak.
 
-=item *
+=item C<I18N::Collate>
 
-C<I18N::Collate> upgraded from version 1.00 to 1.01
+Upgraded from version 1.00 to 1.01.
 
-=item *
+=item C<IO>
 
-C<IO> upgraded from version 1.23_01 to 1.25
+Upgraded from version 1.23_01 to 1.25.
 
-This makes non-blocking mode work on Windows in IO::Socket::INET [CPAN #43573].
+This makes non-blocking mode work on Windows in C<IO::Socket::INET>
+[CPAN #43573].
 
-=item *
+=item C<IO::Compress::*>
 
-C<IO::Compress::*> upgraded from version 2.008 to 2.020
+Upgraded from version 2.008 to 2.020.
 
-=item *
+=item C<IO::Dir>
 
-C<IO::Dir> upgraded from version 1.06 to 1.07
+Upgraded from version 1.06 to 1.07.
 
-=item *
+=item C<IO::Handle>
 
-C<IO::Handle> upgraded from version 1.27 to 1.28
+Upgraded from version 1.27 to 1.28.
 
-=item *
+=item C<IO::Socket>
 
-C<IO::Socket> upgraded from version 1.30_01 to 1.31
+Upgraded from version 1.30_01 to 1.31.
 
-=item *
+=item C<IO::Zlib>
 
-C<IO::Zlib> upgraded from version 1.07 to 1.09
+Upgraded from version 1.07 to 1.09.
 
-=item *
+=item C<IPC::Cmd>
 
-C<IPC::Cmd> upgraded from version 0.40_1 to 0.46
+Upgraded from version 0.40_1 to 0.46.
 
-=item *
+=item C<IPC::Open3>
 
-C<IPC::Open3> upgraded from version 1.02 to 1.04
+Upgraded from version 1.02 to 1.04.
 
-=item *
+=item C<IPC::SysV>
 
-C<IPC::SysV> upgraded from version 1.05 to 2.01
+Upgraded from version 1.05 to 2.01.
 
-=item *
+=item C<lib>
 
-C<lib> upgraded from version 0.5565 to 0.62
+Upgraded from version 0.5565 to 0.62.
 
-=item *
+=item C<List::Util>
 
-C<List::Util> upgraded from version 1.19 to 1.21
+Upgraded from version 1.19 to 1.21.
 
-=item *
+=item C<Locale::MakeText>
 
-C<Locale::MakeText> upgraded from version 1.12 to 1.13
+Upgraded from version 1.12 to 1.13.
 
-=item *
+=item C<Log::Message>
 
-C<Log::Message> upgraded from version 0.01 to 0.02
+Upgraded from version 0.01 to 0.02.
 
-=item *
+=item C<Math::BigFloat>
 
-C<Math::BigFloat> upgraded from version 1.59 to 1.60
+Upgraded from version 1.59 to 1.60.
 
-=item *
+=item C<Math::BigInt>
 
-C<Math::BigInt> upgraded from version 1.88 to 1.89
+Upgraded from version 1.88 to 1.89.
 
-=item *
+=item C<Math::BigInt::FastCalc>
 
-C<Math::BigInt::FastCalc> upgraded from version 0.16 to 0.19
+Upgraded from version 0.16 to 0.19.
 
-=item *
+=item C<Math::BigRat>
 
-C<Math::BigRat> upgraded from version 0.21 to 0.22
+Upgraded from version 0.21 to 0.22.
 
-=item *
+=item C<Math::Complex>
 
-C<Math::Complex> upgraded from version 1.37 to 1.56
+Upgraded from version 1.37 to 1.56.
 
-=item *
+=item C<Math::Trig>
 
-C<Math::Trig> upgraded from version 1.04 to 1.20
+Upgraded from version 1.04 to 1.20.
 
-=item *
+=item C<Memoize>
 
-C<Memoize> upgraded from version 1.01_02 to 1.01_03 (just a minor
-documentation change)
+Upgraded from version 1.01_02 to 1.01_03 (just a minor documentation
+change).
 
-=item *
+=item C<Module::Build>
 
-C<Module::Build> upgraded from version 0.2808_01 to 0.34
+Upgraded from version 0.2808_01 to 0.34.
 
-=item *
+=item C<Module::CoreList>
 
-C<Module::CoreList> upgraded from version 2.13 to 2.18. This release no
-longer contains the <%Module::CoreList::patchlevel> hash.
+Upgraded from version 2.13 to 2.18. This release no longer contains the
+C<%Module::CoreList::patchlevel> hash.
 
-=item *
+=item C<Module::Load>
 
-C<Module::Load> upgraded from version 0.12 to 0.16
+Upgraded from version 0.12 to 0.16.
 
-=item *
+=item C<Module::Load::Conditional>
 
-C<Module::Load::Conditional> upgraded from version 0.22 to 0.30
+Upgraded from version 0.22 to 0.30.
 
-=item *
+=item C<Module::Loaded>
 
-C<Module::Loaded> upgraded from version 0.01 to 0.02
+Upgraded from version 0.01 to 0.02.
 
-=item *
+=item C<Module::Pluggable>
 
-C<Module::Pluggable> upgraded from version 3.6 to 3.9
+Upgraded from version 3.6 to 3.9.
 
-=item *
+=item C<NDBM_File>
 
-C<NDBM_File> upgraded from version 1.07 to 1.08
+Upgraded from version 1.07 to 1.08.
 
-=item *
+=item C<Net::Ping>
 
-C<Net::Ping> upgraded from version 2.33 to 2.36
+Upgraded from version 2.33 to 2.36.
 
-=item *
+=item C<NEXT>
 
-C<NEXT> upgraded from version 0.60_01 to 0.64
+Upgraded from version 0.60_01 to 0.64.
 
-=item *
+=item C<Object::Accessor>
 
-C<Object::Accessor> upgraded from version 0.32 to 0.34
+Upgraded from version 0.32 to 0.34.
 
-=item *
+=item C<OS2::REXX>
 
-C<OS2::REXX> upgraded from version 1.03 to 1.04
+Upgraded from version 1.03 to 1.04.
 
-=item *
+=item C<Package::Constants>
 
-C<Package::Constants> upgraded from version 0.01 to 0.02
+Upgraded from version 0.01 to 0.02.
 
-=item *
+=item C<PerlIO>
 
-C<PerlIO> upgraded from version 1.04 to 1.06
+Upgraded from version 1.04 to 1.06.
 
-=item *
+=item C<PerlIO::via>
 
-C<PerlIO::via> upgraded from version 0.04 to 0.07
+Upgraded from version 0.04 to 0.07.
 
-=item *
+=item C<Pod::Man>
 
-C<Pod::Man> upgraded from version 2.16 to 2.22
+Upgraded from version 2.16 to 2.22.
 
-=item *
+=item C<Pod::Parser>
 
-C<Pod::Parser> upgraded from version 1.35 to 1.37
+Upgraded from version 1.35 to 1.37.
 
-=item *
+=item C<Pod::Simple>
 
-C<Pod::Simple> upgraded from version 3.05 to 3.07
+Upgraded from version 3.05 to 3.07.
 
-=item *
+=item C<Pod::Text>
 
-C<Pod::Text> upgraded from version 3.08 to 3.13
+Upgraded from version 3.08 to 3.13.
 
-=item *
+=item C<POSIX>
 
-C<POSIX> upgraded from version 1.13 to 1.17
+Upgraded from version 1.13 to 1.17.
 
-=item *
+=item C<Safe>
 
-C<Safe> upgraded from 2.12 to 2.17
+Upgraded from 2.12 to 2.17.
 
-=item *
+=item C<Scalar::Util>
 
-C<Scalar::Util> upgraded from version 1.19 to 1.21
+Upgraded from version 1.19 to 1.21.
 
-=item *
+=item C<SelectSaver>
 
-C<SelectSaver> upgraded from 1.01 to 1.02
+Upgraded from 1.01 to 1.02.
 
-=item *
+=item C<SelfLoader>
 
-C<SelfLoader> upgraded from 1.11 to 1.17
+Upgraded from 1.11 to 1.17.
 
-=item *
+=item C<Socket>
 
-C<Socket> upgraded from 1.80 to 1.82
+Upgraded from 1.80 to 1.82.
 
-=item *
+=item C<Storable>
 
-C<Storable> upgraded from 2.18 to 2.20
+Upgraded from 2.18 to 2.20.
 
-=item *
+=item C<Switch>
 
-C<Switch> upgraded from version 2.13 to 2.14. Please see L</Deprecations>
+Upgraded from version 2.13 to 2.14. Please see L</Deprecations>.
 
-=item *
+=item C<Symbol>
 
-C<Symbol> upgraded from version 1.06 to 1.07
+Upgraded from version 1.06 to 1.07.
 
-=item *
+=item C<Sys::Syslog>
 
-C<Sys::Syslog> upgraded from version 0.22 to 0.27
+Upgraded from version 0.22 to 0.27.
 
-=item *
+=item C<Term::ANSIColor>
 
-C<Term::ANSIColor> upgraded from version 1.12 to 2.00
+Upgraded from version 1.12 to 2.00.
 
-=item *
+=item C<Term::ReadLine>
 
-C<Term::ReadLine> upgraded from version 1.03 to 1.04
+Upgraded from version 1.03 to 1.04.
 
-=item *
+=item C<Term::UI>
 
-C<Term::UI> upgraded from version 0.18 to 0.20
+Upgraded from version 0.18 to 0.20.
 
-=item *
+=item C<Test::Harness>
 
-C<Test::Harness> upgraded from version 2.64 to 3.17
-XXX major upgrade - add some blurb ???
+Upgraded from version 2.64 to 3.17.
 
 Note that one side-effect of the 2.x to 3.x upgrade is that the
 experimental C<Test::Harness::Straps> module (and its supporting
@@ -784,129 +796,155 @@ C<Assert>, C<Iterator>, C<Point> and C<Results> 
modules) have been
 removed. If you still need this, then they are available in the
 (unmaintained) C<Test-Harness-Straps> distribution on CPAN.
 
-=item *
+=item C<Test::Simple>
 
-C<Test::Simple> upgraded from version 0.72 to 0.92
+Upgraded from version 0.72 to 0.92.
 
-=item *
+=item C<Text::ParseWords>
 
-C<Text::ParseWords> upgraded from version 3.26 to 3.27
+Upgraded from version 3.26 to 3.27.
 
-=item *
+=item C<Text::Tabs>
 
-C<Text::Tabs> upgraded from version 2007.1117 to 2009.0305
+Upgraded from version 2007.1117 to 2009.0305.
 
-=item *
+=item C<Text::Wrap>
 
-C<Text::Wrap> upgraded from version 2006.1117 to 2009.0305
+Upgraded from version 2006.1117 to 2009.0305.
 
-=item *
+=item C<Thread::Queue>
 
-C<Thread::Queue> upgraded from version 2.00 to 2.11
+Upgraded from version 2.00 to 2.11.
 
-=item *
+=item C<Thread::Semaphore>
 
-C<Thread::Semaphore> upgraded from version 2.01 to 2.09
+Upgraded from version 2.01 to 2.09.
 
-=item *
+=item C<threads>
 
-C<threads> upgraded from version 1.67 to 1.72
+Upgraded from version 1.67 to 1.72.
 
-=item *
+=item C<threads::shared>
 
-C<threads::shared> upgraded from version 1.14 to 1.29
+Upgraded from version 1.14 to 1.29.
 
-=item *
+=item C<Tie::RefHash>
 
-C<Tie::RefHash> upgraded from version 1.37 to 1.38
+Upgraded from version 1.37 to 1.38.
 
-=item *
+=item C<Tie::StdHandle>
 
-C<Tie::StdHandle> has documentation changes, and has been assigned a version
-for the first time - version 4.2.
+This has documentation changes, and has been assigned a version for the
+first time: version 4.2.
 
-=item *
+=item C<Time::HiRes>
 
-C<Time::HiRes> upgraded from version 1.9711 to 1.9719
+Upgraded from version 1.9711 to 1.9719.
 
-=item *
+=item C<Time::Local>
 
-C<Time::Local> upgraded from version 1.18 to 1.1901
+Upgraded from version 1.18 to 1.1901.
 
-=item *
+=item C<Time::Piece>
 
-C<Time::Piece> upgraded from version 1.12 to 1.15
+Upgraded from version 1.12 to 1.15.
 
-=item *
+=item C<Unicode::Normalize>
 
-C<Unicode::Normalize> upgraded from version 1.02 to 1.03
+Upgraded from version 1.02 to 1.03.
 
-=item *
+=item C<Unicode::UCD>
 
-C<Unicode::UCD> upgraded from version 0.25 to 0.27
+Upgraded from version 0.25 to 0.27.
 
-C<charinfo()> now works on Unified CJK code points added to later versions of
-Unicode.
+C<charinfo()> now works on Unified CJK code points added to later versions
+of Unicode.
 
-C<casefold()> has new fields returned to provide both a simpler interface and
-previously missing information.  The old fields are retained for backwards
-compatibility. Information about Turkic-specific code points is now returned.
+C<casefold()> has new fields returned to provide both a simpler interface
+and previously missing information. The old fields are retained for
+backwards compatibility. Information about Turkic-specific code points is
+now returned.
 
 The documentation has been corrected and expanded.
 
-=item *
+=item C<UNIVERSAL>
 
-C<UNIVERSAL> upgraded from version 1.04 to 1.05
+Upgraded from version 1.04 to 1.05.
 
-=item *
+=item C<Win32>
 
-C<Win32> upgraded from version 0.34 to 0.39
+Upgraded from version 0.34 to 0.39.
 
-=item *
+=item C<Win32API::File>
 
-C<Win32API::File> upgraded from version 0.1001_01 to 0.1101
+Upgraded from version 0.1001_01 to 0.1101.
 
-=item *
+=item C<XSLoader>
 
-C<XSLoader> upgraded from version 0.08 to 0.10
+Upgraded from version 0.08 to 0.10.
 
 =back
 
 =head1 Utility Changes
 
-=head2 F<h2ph>
+=over 4
+
+=item F<h2ph>
 
 Now looks in C<include-fixed> too, which is a recent addition to gcc's
 search path.
 
-=head2 F<h2xs>
+=item F<h2xs>
 
-No longer incorrectly treats enum values like macros. (Daniel Burr)
+No longer incorrectly treats enum values like macros (Daniel Burr).
 
 Now handles C++ style constants (C<//>) properly in enums. (A patch from
-Rainer Weikusat was used; Daniel Burr also proposed a similar fix)
+Rainer Weikusat was used; Daniel Burr also proposed a similar fix).
 
-=head2 F<perl5db.pl>
+=item F<perl5db.pl>
 
 C<LVALUE> subroutines now work under the debugger.
 
-The debugger now correctly handles proxy constant subroutines, and subroutine
-stubs.
+The debugger now correctly handles proxy constant subroutines, and
+subroutine stubs.
+
+=item F<perlthanks>
 
-=head2 F<perlthanks>
+Perl 5.10.1 adds a new utility F<perlthanks>, which is a variant of
+F<perlbug>, but for sending non-bug-reports to the authors and maintainers
+of Perl. Getting nothing but bug reports can become a bit demoralising:
+we'll see if this changes things.
 
-Perl 5.10.1 adds a new utility F<perlthanks>, which is a variant of F<perlbug>,
-but for sending non-bug-reports to the authors and maintainers of Perl.
-Getting nothing but bug reports can become a bit demoralising - we'll see if
-this changes things.
+=back
 
 =head1 New Documentation
 
-L<perlperf> by Richard Foley, provides an introduction to the use of
+=over 4
+
+=item L<perlhaiku>
+
+This contains instructions on how to build perl for the Haiku platform.
+
+=item L<perlmroapi>
+
+This describes the new interface for pluggable Method Resolution Orders.
+
+=item L<perlperf>
+
+This document, by Richard Foley, provides an introduction to the use of
 performance and optimization techniques which can be used with particular
 reference to perl programs.
 
-L<perlrepository> describes how to access the perl source using git.
+=item L<perlrepository>
+
+This describes how to access the perl source using the I<git> version
+control system.
+
+=item L<perlthanks>
+
+This describes the new F<perlthanks> utility.
+
+=back
 
 =head1 Changes to Existing Documentation
 
@@ -919,12 +957,12 @@ The file F<Porting/patching.pod> has been deleted, as it 
mainly described
 interacting with the old Perforce-based repository, which is now obsolete.
 Information still relevant has been moved to L<perlrepository>.
 
-L<perlapi>, L<perlintern>, L<perlmodlib> and L<perltoc> are now all generated
-at build time, rather than being shipped as part of the release.
+L<perlapi>, L<perlintern>, L<perlmodlib> and L<perltoc> are now all
+generated at build time, rather than being shipped as part of the release.
 
 =head1 Performance Enhancements
 
-=over
+=over 4
 
 =item *
 
@@ -932,9 +970,10 @@ A new internal cache means that C<isa()> will often be 
faster.
 
 =item *
 
-Under C<use locale>, the locale-relevant information is now cached on read-only
-values, such as the list returned by C<keys %hash>. This makes operations such
-as <sort keys %hash> in the scope of C<use locale> much faster.
+Under C<use locale>, the locale-relevant information is now cached on
+read-only values, such as the list returned by C<keys %hash>. This makes
+operations such as C<sort keys %hash> in the scope of C<use locale> much
+faster.
 
 =item *
 
@@ -944,20 +983,24 @@ Empty C<DESTROY> methods are no longer called.
 
 =head1 Installation and Configuration Improvements
 
+=head2 F<ext/> reorganisation
+
 The layout of directories in F<ext> has been revised. Specifically, all
-extensions are now flat, and at the top level, with C</> in pathnames replaced
-by C<->, so that F<ext/Data/Dumper/> is now F<ext/Data-Dumper>, etc.
-The names of the extensions as specified to F<Configure>, and as reported
-by <%Config::Config> under the keys C<dynamic_ext>, C<known_extensions>,
-C<nonxs_ext> and C<static_ext> have not changed, and still use C</>. Hence
-this change will not have any affect once perl is installed. However,
-C<Attributes::Handlers>, C<Safe> and C<mro> have now become extensions in their
-own right, so if you run F<Configure> with options to specify an exact list
-of extensions to build, you will need to change it to account for this.
-
-In 5.10.2 many dual-life modules will have been moved from F<lib> to F<ext> -
-again this will have no effect on an installed perl, but will matter if you
-invoke F<Configure> with a pre-canned list of extensions to build.
+extensions are now flat, and at the top level, with C</> in pathnames
+replaced by C<->, so that F<ext/Data/Dumper/> is now F<ext/Data-Dumper>,
+etc.  The names of the extensions as specified to F<Configure>, and as
+reported by C<%Config::Config> under the keys C<dynamic_ext>,
+C<known_extensions>, C<nonxs_ext> and C<static_ext> have not changed, and
+still use C</>. Hence this change will not have any affect once perl is
+installed. However, C<Attributes::Handlers>, C<Safe> and C<mro> have now
+become extensions in their own right, so if you run F<Configure> with
+options to specify an exact list of extensions to build, you will need to
+change it to account for this.
+
+For 5.10.2, it is planned that many dual-life modules will have been moved
+from F<lib> to F<ext>; again this will have no effect on an installed
+perl, but will matter if you invoke F<Configure> with a pre-canned list of
+extensions to build.
 
 =head2 Configuration improvements
 
@@ -970,79 +1013,78 @@ perl is built with  C<-Dusedevel>.
 F<Configure> will enable use of C<-fstack-protector>, to provide protection
 against stack-smashing attacks, if the compiler supports it.
 
-F<Configure> will now determine the correct prototypes for re-entrant 
functions,
-and for C<gconvert>, if you are using a C++ compiler rather than a C compiler.
+F<Configure> will now determine the correct prototypes for re-entrant
+functions, and for C<gconvert>, if you are using a C++ compiler rather
+than a C compiler.
 
-XXX This description isn't quite right, is it? Yves?
-
-On Unix, if you build from a git tree, the configuration process will
-note the commit hash you have checked out, for display in the output of
-C<perl -v> and C<perl -V>. Unpushed local commits are automatically added to
-the list of local patches displayed by C<perl -V>
+On Unix, if you build from a tree containing a git repository, the
+configuration process will note the commit hash you have checked out, for
+display in the output of C<perl -v> and C<perl -V>. Unpushed local commits
+are automatically added to the list of local patches displayed by
+C<perl -V>.
 
 =head2 Compilation improvements
 
-As part of the flattening of F<ext>, all extensions on all platforms are built
-by F<make_ext.pl>. This replaces the Unix specific F<ext/util/make_ext>,
-VMS specific F<make_ext.com> and Win32 specific F<win32/buildext.pl>.
-
-=head2 Installation improvements.
+As part of the flattening of F<ext>, all extensions on all platforms are
+built by F<make_ext.pl>. This replaces the Unix-specific
+F<ext/util/make_ext>, VMS-specific F<make_ext.com> and Win32-specific
+F<win32/buildext.pl>.
 
 =head2 Platform Specific Changes
 
-=head3 AIX
+=over 4
+
+=item AIX
 
-hints changes mean that AIX 4.2 should work again.
+Hints changes mean that AIX 4.2 should work again.
 
-=head3 Cygwin
+=item Cygwin
 
 On Cygwin we now strip the last number from the DLL. This has been the
 behaviour in the cygwin.com build for years. The hints files have been
 updated.
 
-=head3 FreeBSD
+=item FreeBSD
 
 The hints files now identify the correct threading libraries on FreeBSD 7
 and later.
 
-=head3 Irix
+=item Irix
 
 We now work around a bizarre preprocessor bug in the Irix 6.5 compiler:
 C<cc -E -> unfortunately goes into K&R mode, but C<cc -E file.c> doesn't.
 
-=head3 Haiku
+=item Haiku
 
-Patches from the Haiku maintainers have been merged in. Perl should now build
-on Haiku.
+Patches from the Haiku maintainers have been merged in. Perl should now
+build on Haiku.
 
-=head3 MirOS BSD
+=item MirOS BSD
 
 Perl should now build on MirOS BSD.
 
-=head3 NetBSD
+=item NetBSD
 
-hints now supports versions 5.*.
+Hints now supports versions 5.*.
 
-=head3 Stratus VOS
+=item Stratus VOS
 
 Various changes from Stratus have been merged in.
 
-=head3 Symbian
+=item Symbian
 
 There is now support for Symbian S60 3.2 SDK and S60 5.0 SDK.
 
-=head3 Win32
-
-XXX: Don't know how to summarise
-"Give Win32 message windows proper window procedures"
-http://perl5.git.perl.org/perl.git/commit/099b16d3b50ccbb639491fa8bd48153ec3225450
+=item Win32
 
-Nor 33254: [PATCH] win32_async_check() doesn't loop enough.
+Improved message window handling means that C<alarm> and C<kill> messages
+will no longer be dropped under race conditions.
 
-=head3 VMS
+=item VMS
 
-Reads from C<PerlIO::scalar>'s in-memory temporary files used to fail if C<$/>
-was set to a numeric reference, to signal record-style reads. This is now 
fixed.
+Reads from the in-memory temporary files of C<PerlIO::scalar> used to fail
+if C<$/> was set to a numeric reference (to indicate record-style reads).
+This is now fixed.
 
 VMS now supports C<getgrgid>.
 
@@ -1054,16 +1096,18 @@ status in a VMS condition value for better interaction 
with GNV's bash
 shell and other utilities that depend on POSIX exit values.  See
 L<perlvms/"$?"> for details.
 
+=back
+
 =head1 Selected Bug Fixes
 
 =over 4
 
 =item *
 
-5.10.0 inadvertently disabled an optimisation, causing a measurable performance
-drop in list assignment, such as is often used to assign function parameters
-from C<@_>. The optimisation has been re-instated, and the performance
-regression fixed.
+5.10.0 inadvertently disabled an optimisation, which caused a measurable
+performance drop in list assignment, such as is often used to assign
+function parameters from C<@_>. The optimisation has been re-instated, and
+the performance regression fixed.
 
 =item *
 
@@ -1075,7 +1119,7 @@ Some potential coredumps in PerlIO fixed [RT 
#57322,54828].
 
 =item *
 
-The debugger now works with lvalue subroutines
+The debugger now works with lvalue subroutines.
 
 =item *
 
@@ -1091,7 +1135,7 @@ arguments [RT #59998].
 
 The C<-i.suffix> command-line switch now recreates the file using
 restricted permissions, before changing its mode to match the original
-file. This eliminates a potential race condition. [RT #60904]
+file. This eliminates a potential race condition [RT #60904].
 
 =item *
 
@@ -1106,7 +1150,7 @@ Under some circumstances, $^R could incorrectly become 
undefined
 =item *
 
 (XS) In various hash functions, passing a pre-computed hash to when the
-key is utf8 might result in an incorrect lookup.
+key is UTF-8 might result in an incorrect lookup.
 
 =item *
 
@@ -1115,11 +1159,13 @@ key is utf8 might result in an incorrect lookup.
 
 =item *
 
-C<$object->isa('Foo')> would report false if the package C<Foo> didn't
+C<< $object->isa('Foo') >> would report false if the package C<Foo> didn't
 exist, even if the object's C<@ISA> contained C<Foo>.
 
-Various bugs in the new-to 5.10.0 mro code, triggered by manipulating C<@ISA>,
-have been found and fixed.
+=item *
+
+Various bugs in the new-to 5.10.0 mro code, triggered by manipulating
+C<@ISA>, have been found and fixed.
 
 =item *
 
@@ -1128,7 +1174,7 @@ C<$x=\$y; $x |= "foo"> [RT #54956].
 
 =item *
 
-Patterns including alternation might be sensitive to the internal UTF8
+Patterns including alternation might be sensitive to the internal UTF-8
 representation, e.g.
 
     my $byte = chr(192);
@@ -1137,7 +1183,7 @@ representation, e.g.
 
 =item *
 
-Within utf8-encoded Perl source files (i.e. where C<use utf8> is in
+Within UTF8-encoded Perl source files (i.e. where C<use utf8> is in
 effect), double-quoted literal strings could be corrupted where a C<\xNN>,
 C<\0NNN> or C<\N{}> is followed by a literal character with ordinal value
 greater than 255 [RT #59908].
@@ -1183,7 +1229,7 @@ spurious warning like the following:
 
 =item *
 
-On windows, C<'.\foo'> and C<'..\foo'>  were treated differently than
+On Windows, C<'.\foo'> and C<'..\foo'>  were treated differently than
 C<'./foo'> and C<'../foo'> by C<do> and C<require> [RT #63492].
 
 =item *
@@ -1194,35 +1240,35 @@ Assigning a format to a glob could corrupt the format; 
e.g.:
 
 =item *
 
-Attempting to coerce a typeglob to a string or number could cause an assertion
-failure. The correct error message is now generated, "Can't coerce GLOB to
-I<$type>".
+Attempting to coerce a typeglob to a string or number could cause an
+assertion failure. The correct error message is now generated,
+C<Can't coerce GLOB to I<$type>>.
 
 =item *
 
-Under C<use filetest 'access'> C<-x> was using the wrong access mode. This
+Under C<use filetest 'access'>, C<-x> was using the wrong access mode. This
 has been fixed [RT #49003].
 
 =item *
 
-C<length> on a tied scalar that returned a Unicode value would not be correct
-the first time. This has been fixed.
+C<length> on a tied scalar that returned a Unicode value would not be
+correct the first time. This has been fixed.
 
 =item *
 
-Using an array C<tie> inside in array C<tie> could SEGV. This has been fixed.
-[RT #51636]
+Using an array C<tie> inside in array C<tie> could SEGV. This has been
+fixed. [RT #51636]
 
 =item *
 
-A race condition inside C<PerlIOStdio_close()> has been identified and fixed.
-This used to cause various threading issues, including SEGVs.
+A race condition inside C<PerlIOStdio_close()> has been identified and
+fixed. This used to cause various threading issues, including SEGVs.
 
 =item *
 
-In C<unpack>, C<()> groups in scalar context was internally placing a list on
-the interpreter's stack, which manifested in various ways, including SEGVs.
-This is now fixed. [RT #50256]
+In C<unpack>, the use of C<()> groups in scalar context was internally
+placing a list on the interpreter's stack, which manifested in various
+ways, including SEGVs.  This is now fixed [RT #50256].
 
 =item *
 
@@ -1231,9 +1277,10 @@ These have all been fixed.
 
 =item *
 
-An optimisation to clear the temporary stack within the implicit loop of
-C<s///ge> has been reverted, as it turned out to be the cause of obscure
-bugs in seemingly unrelated parts of the interpreter. [Change ef0d4e17921ee3de]
+A 5.10.0 optimisation to clear the temporary stack within the implicit
+loop of C<s///ge> has been reverted, as it turned out to be the cause of
+obscure bugs in seemingly unrelated parts of the interpreter [commit 
+ef0d4e17921ee3de].
 
 =item *
 
@@ -1241,87 +1288,103 @@ The line numbers for warnings inside C<elsif> are now 
correct.
 
 =item *
 
-The C<..> operator now works correctly with ranges whose ends are at or close
-to the values of the smallest and largest integers.
+The C<..> operator now works correctly with ranges whose ends are at or
+close to the values of the smallest and largest integers.
 
 =item *
 
 C<binmode STDIN, ':raw'> could lead to segmentation faults on some platforms.
-This has been fixed [RT #54828]
+This has been fixed [RT #54828].
 
 =item *
 
-An off-by-one error meant that C<index $str, ...> was effectively being 
executed
-as C<index "$str\0", ...>. This has been fixed [RT #53746]
+An off-by-one error meant that C<index $str, ...> was effectively being
+executed as C<index "$str\0", ...>. This has been fixed [RT #53746].
 
 =item *
 
-Various leaks associated with named captures in regexs have been fixed.
-[RT #57024]
+Various leaks associated with named captures in regexes have been fixed
+[RT #57024].
 
 =item *
 
-A weak reference to a hash would leak. This was affecting C<DBI>. [RT #56908]
+A weak reference to a hash would leak. This was affecting C<DBI>
+[RT #56908].
 
 =item *
 
-Segfault when using (?|) in regexp [RT #59734]
+Using (?|) in a regex could cause a segfault [RT #59734].
 
 =item *
 
-Segfault when using utf-8 tr// within a closure [RT #61520]
+Use of a UTF-8 C<tr//> within a closure could cause a segfault [RT #61520].
 
 =item *
 
-Calling sv_chop() or otherwise upgrading an SV can result in an unaligned
-64-bit access on the SPARC architecture [RT #60574]
+Calling C<sv_chop()> or otherwise upgrading an SV could result in an
+unaligned 64-bit access on the SPARC architecture [RT #60574].
 
 =item *
 
 In the 5.10.0 release, C<inc_version_list> would incorrectly list
-C<5.10.*> after C<5.8.*> [RT #67628]
+C<5.10.*> after C<5.8.*>; this affected the C<@INC> search order
+[RT #67628].
 
 =item *
 
 In 5.10.0, C<pack "a*", $tainted_value> returned a non-tainted value
-[RT 52552]
+[RT #52552].
+
+=item *
+
+In 5.10.0, C<printf> and C<sprintf> could produce the fatal error
+C<panic: utf8_mg_pos_cache_update> when printing UTF-8 strings
+[RT #62666].
 
 =item *
 
-In 5.10.0, C<printf> and C<sprintf> could produce
-C<panic: utf8_mg_pos_cache_update> when prints UTF-8 strings [RT 62666]
+In the 5.10.0 release, a dynamically created C<AUTOLOAD> method might be
+missed (method cache issue) [RT #60220,60232].
 
+=item *
 
+In the 5.10.0 release, a combination of C<use feature> and C<//ee> could
+cause a memory leak [RT #63110].
 
 =back
 
 =head1 New or Changed Diagnostics
 
-=head2 panic: sv_chop %s
+=over 4
+
+=item C<panic: sv_chop %s>
 
-This new fatal error occurs when the C routine C<Perl_sv_chop()> was passed a
-position that is not within the scalar's string buffer. This is caused by
-buggy XS code, and at this point recovery is not possible.
+This new fatal error occurs when the C routine C<Perl_sv_chop()> was
+passed a position that is not within the scalar's string buffer. This
+could be caused by buggy XS code, and at this point recovery is not
+possible.
 
-=head2 Can't locate package %s for the parents of %s
+=item C<Can't locate package %s for the parents of %s>
 
 This warning has been removed. In general, it only got produced in
-conjunction with other warnings, and removing it allowed an isa lookup
+conjunction with other warnings, and removing it allowed an ISA lookup
 optimisation to be added.
 
-=head2 v-string in use/require is non-portable
+=item C<v-string in use/require is non-portable>
 
 This warning has been removed.
 
-=head2 Deep recursion on subroutine "%s"
+=item C<Deep recursion on subroutine "%s">
 
 It is now possible to change the depth threshold for this warning from the
-default of 100, by recompiling the F<perl> binary, setting the C pre-processor
-macro C<PERL_SUB_DEPTH_WARN> to the desired value.
+default of 100, by recompiling the F<perl> binary, setting the C
+pre-processor macro C<PERL_SUB_DEPTH_WARN> to the desired value.
+
+=back
 
 =head1 Changed Internals
 
-=over
+=over 4
 
 =item *
 
@@ -1330,9 +1393,9 @@ proper citations added, thanks to a patch from Tom 
Christiansen.
 
 =item *
 
-C<vcroak()> now accepts a null first argument. A full audit was made of
-the "not NULL" compiler annotations, and those for several other internal
-functions were corrected.
+C<vcroak()> now accepts a null first argument. In addition, a full audit
+was made of the "not NULL" compiler annotations, and those for several
+other internal functions were corrected.
 
 =item *
 
@@ -1355,15 +1418,15 @@ C<Perl_newSV()> followed by C<Perl_sv_upgrade(type)>.
 The function C<Perl_newSVpvn_flags()> has been added, equivalent to
 C<Perl_newSVpvn()> and then performing the action relevant to the flag.
 
-Two flag bits are currently supported
+Two flag bits are currently supported.
 
 =over 4
 
 =item C<SVf_UTF8>
 
 This will call C<SvUTF8_on()> for you. (Note that this does not convert an
-sequence of ISO 8859-1 characters to UTF-8). A wrapper, C<newSVpvn_utf8()> is
-available for this.
+sequence of ISO 8859-1 characters to UTF-8). A wrapper, C<newSVpvn_utf8()>
+is available for this.
 
 =item C<SVs_TEMP>
 
@@ -1392,9 +1455,9 @@ and a global variable otherwise.
 
 =item *
 
-C<Perl_mg_free()> used to leave freed memory accessible via SvMAGIC() on the
-scalar. It now updates the linked list to remove each piece of magic as it is
-freed.
+C<Perl_mg_free()> used to leave freed memory accessible via SvMAGIC() on
+the scalar. It now updates the linked list to remove each piece of magic
+as it is freed.
 
 =item *
 
@@ -1404,20 +1467,20 @@ counted.
 
 =item *
 
-C<Perl_mg_magical()> would sometimes incorrectly turn on C<SvRMAGICAL()>
+C<Perl_mg_magical()> would sometimes incorrectly turn on C<SvRMAGICAL()>.
 This has been fixed.
 
 =item *
 
-The B<public> IV and NV flags are now not set if the string value has trailing
-"garbage". This behaviour is consistent with not setting the public IV or NV
-flags if the value is out of range for the type.
+The B<public> IV and NV flags are now not set if the string value has
+trailing "garbage". This behaviour is consistent with not setting the
+public IV or NV flags if the value is out of range for the type.
 
 =item *
 
 SV allocation tracing has been added to the diagnostics enabled by C<-Dm>.
-The tracing can alternatively output via the C<PERL_MEM_LOG> mechanism, if that
-was enabled when the F<perl> binary was compiled.
+The tracing can alternatively output via the C<PERL_MEM_LOG> mechanism, if
+that was enabled when the F<perl> binary was compiled.
 
 =item *
 
@@ -1427,11 +1490,12 @@ is clearer to those unfamiliar with the core code.
 
 =item *
 
-A macro C<MUTABLE_PTR(p)> has been added, which on (non-pedantic) gcc will not
-cast away C<const>, returning a C<void *>. Macros C<MUTABLE_SV(av)>,
-C<MUTABLE_SV(cv)> etc build on this, casting to C<AV *> etc without casting
-away C<const>. This allows proper compile-time auditing of C<const> correctness
-in the core, and helped picked up some errors (now fixed).
+A macro C<MUTABLE_PTR(p)> has been added, which on (non-pedantic) gcc will
+not cast away C<const>, returning a C<void *>. Macros C<MUTABLE_SV(av)>,
+C<MUTABLE_SV(cv)> etc build on this, casting to C<AV *> etc without
+casting away C<const>. This allows proper compile-time auditing of
+C<const> correctness in the core, and helped picked up some errors (now
+fixed).
 
 =item *
 
@@ -1440,8 +1504,15 @@ stack and mortalizing them.
 
 =item *
 
-Use of the private structure C<mro_meta> has changed slightly. Nothing outside
-the core should be accessing this directly anyway.
+Use of the private structure C<mro_meta> has changed slightly. Nothing
+outside the core should be accessing this directly anyway.
+
+=item *
+
+A new tool, C<Porting/expand-macro.pl> has been added, that allows you
+to view how a C preprocessor macro would be expanded when compiled.
+This is handy when trying to decode the macro hell that is the perl
+guts.
 
 =back
 
@@ -1452,9 +1523,9 @@ Many modules updated from CPAN incorporate new tests.
 Several tests that have the potential to hang forever if they fail now
 incorporate a "watchdog" functionality that will kill them after a timeout,
 which helps ensure that C<make test> and C<make test_harness> run to
-completion automatically. (Jerry Hedden)
+completion automatically. (Jerry Hedden).
 
-Some core specific tests have been added:
+Some core-specific tests have been added:
 
 =over 4
 
@@ -1509,7 +1580,7 @@ Tests for the interaction of regex recursion and threads.
 
 =item t/op/regexp_qr_embed_thr.t
 
-Tests for the interaction of regex with embedded C<qr//> and threads.
+Tests for the interaction of patterns with embedded C<qr//> and threads.
 
 =item t/op/regexp_unicode_prop.t
 
@@ -1555,17 +1626,17 @@ Check that Unicode and C<tie> work.
 
 =head1 Known Problems
 
-=head2 Platform Specific Problems
+XXX
 
 =head1 Deprecations
 
 The following items are now deprecated.
 
-=over
+=over 4
 
 =item *
 
-C<Switch> is buggy and should be avoided. From perl 5.11.0 onwards it is
+C<Switch> is buggy and should be avoided. From perl 5.11.0 onwards, it is
 intended that any use of the core version of this module will emit a
 warning, and that the module will eventually be removed from the core
 (probably in perl 5.14.0). See L<perlsyn/"Switch statements"> for its
@@ -1582,13 +1653,30 @@ emulate setuid permission bits on systems that don't 
support it properly.
 
 Some of the work in this release was funded by a TPF grant.
 
-XXX more to come
+Nicholas Clark officially retired from maintenance pumpking duty at the
+end of 2008; however in reality he has put much effort in since then to
+help get 5.10.1 into a fit state to be released, including writing a
+considerable chunk of this perldelta.
+
+Steffen Mueller and David Golden in particular helped getting CPAN modules
+polished and synchronised with their in-core equivalents.
+
+Craig Berry was tireless in getting maint to run under VMS, no matter how
+many times we broke it for him.
+
+The other core committers contributed most of the changes, and applied most
+of the patches sent in by the hundreds of contributors listed in F<AUTHORS>.
+
+(Sorry to all the people I haven't mentioned by name).
+
+Finally, thanks to Larry Wall, without whom none of this would be
+necessary.
 
 =head1 Reporting Bugs
 
 If you find what you think is a bug, you might check the articles
 recently posted to the comp.lang.perl.misc newsgroup and the perl
-bug database at http://bugs.perl.org/ .  There may also be
+bug database at http://rt.perl.org/perlbug/ .  There may also be
 information at http://www.perl.org/ , the Perl Home Page.
 
 If you believe you have an unreported bug, please run the B<perlbug>
@@ -1603,9 +1691,9 @@ it to [email protected]. This points to a 
closed subscription
 unarchived mailing list, which includes all the core committers, who be able
 to help assess the impact of issues, figure out a resolution, and help
 co-ordinate the release of patches to mitigate or fix the problem across all
-platforms on which Perl is supported. Please only use this address for security
-issues in the Perl core, not for modules independently distributed on CPAN.
-
+platforms on which Perl is supported. Please only use this address for
+security issues in the Perl core, not for modules independently
+distributed on CPAN.
 
 =head1 SEE ALSO
 
@@ -1619,6 +1707,3 @@ The F<README> file for general stuff.
 The F<Artistic> and F<Copying> files for copyright information.
 
 =cut
-
-XXX Don't know where to put a description of F<Porting/expand-macro.pl>
-But I think it should get a mention.

--
Perl5 Master Repository

Reply via email to