Change 34711 by [EMAIL PROTECTED] on 2008/11/03 22:24:01
A first pass over what's there. Rejig some sections to use =head2 where
that was the style I used in perl587delta.pod. Move things to more
appropriate sections. Attempt to normalise the "Upgraded Modules"
section. Remove the change numbers - if people really need this the
commit messages are clear. Remove erroneous references to 5.10 features
that crept in. (Useful - they had to be purged from other files too).
Remove references to bug fixes that were actually 5.10.x only,
utilities that are 5.10.x only, and utilities that are not installed.
If they're not installed, they belong in "hacking" type documentation.
Remove all references to perltodo. It's invariably out of date in
5.8.x, and we don't want to encourage people to hack against this
source tree.
But by heck, there's already a lot there. Thank you everyone.
Affected files ...
... //depot/maint-5.8/perl/pod/perl589delta.pod#4 edit
Differences ...
==== //depot/maint-5.8/perl/pod/perl589delta.pod#4 (text) ====
Index: perl/pod/perl589delta.pod
--- perl/pod/perl589delta.pod#3~34708~ 2008-11-03 13:27:44.000000000 -0800
+++ perl/pod/perl589delta.pod 2008-11-03 14:24:01.000000000 -0800
@@ -13,26 +13,25 @@
=head1 Core Enhancements
-readpipe() (and thus `` and qx//) can now be overridden.
+=head2 Unicode Character Database 5.1.0.
-Nicholas Clark allowed symbolic references to have embedded NULs. The new
-public function C<get_cvn_flags> can be used in extensions if you have to
-handle them.
-
-It's now possible to call C<stat> and the C<-X> filestat operators on
-dirhandles. When the situation is ambiguous, it favours the file handle
-semantics. They also treat C<*FILE{IO}> filehandles like C<*FILE> filehandles.
+The copy of the Unicode Character Database included in Perl 5.8 has
+been updated to 5.1.0 from 4.1.0 See
+L<http://www.unicode.org/versions/Unicode5.1.0/#NotableChanges> for the
+notable changes.
-Added B<perlthanks> which is just like C<perlbug> but allows the user to
-send a note of gratitude to the authors and maintainers of Perl. [33532]
+=head2 stat and -X on directory handles
-Updated Unicode definitions to 5.1.0.
+It is now possible to call C<stat> and the C<-X> filestat operators on
+directory handles. As both directory and file handles are barewords, there is
+there can be amiguities over which was intended. In these situations the file
+handle semantics are preferred. Both also treat C<*FILE{IO}> filehandles like
+C<*FILE> filehandles.
-The Campaign for the Elimination of strlen() has successfully eliminated
-many calls to strlen().
+=head2 readpipe() is now overridable
-A very stubborn compiler warning in S_emulate_eaccess was killed six
-times.
+The built-in function readpipe() is now overridable. Overriding it permits
+also to override its operator counterpart, C<qx//> (a.k.a. C<``>).
=head1 New Platforms
@@ -59,12 +58,12 @@
=item *
C<Module::Pluggable> is a simple framework to create modules that accept
-pluggable sub-modules. The bundled version is 3.7. [33505]
+pluggable sub-modules. The bundled version is 3.8
=item *
C<Module::CoreList> is a hash of hashes that is keyed on perl version as
-indicated in $]. The bundled version is 2.12 (31561)
+indicated in $]. The bundled version is 2.12
=back
@@ -157,7 +156,7 @@
=item *
Supports option B<-src>, i.e. the rendering of each statement (starting with
-the nextstate OP) will be preceded by the 1st line of source code that
+the nextstate OP) will be preceded by the first line of source code that
generates it.
=item *
@@ -205,7 +204,7 @@
=item *
-C<CGI> upgraded to version 3.35 [33568]
+C<CGI> upgraded to version 3.35
=item *
@@ -213,11 +212,11 @@
=item *
-C<CPAN> upgraded to version 1.9205 (32280)
+C<CPAN> upgraded to version 1.9205
=item *
-C<Cwd> upgraded to version 3.27 with C const-ing and some platform specific
+C<Cwd> upgraded to version 3.27 with some platform specific
improvements (including for VMS).
=item *
@@ -301,7 +300,7 @@
=item *
-C<Encode> upgraded to version 2.24 [33493]
+C<Encode> upgraded to version 2.24
=item *
@@ -345,18 +344,18 @@
=item *
-C<ExtUtils::Install> upgraded to version 1.51 [33567]
+C<ExtUtils::Install> upgraded to version 1.51
=item *
-C<ExtUtils::MakeMaker> upgraded to version 6.44 [33396]
+C<ExtUtils::MakeMaker> upgraded to version 6.44
=over
=item *
-Support for INSTALLSITESCRIPT and INSTALLVENDORSCRIPT
-configuration. [26536]
+Support for C<INSTALLSITESCRIPT> and C<INSTALLVENDORSCRIPT>
+configuration.
=back
@@ -366,7 +365,7 @@
=item *
-C<ExtUtils::ParseXS> upgraded to version 2.19 [33392]
+C<ExtUtils::ParseXS> upgraded to version 2.19
=item *
@@ -394,10 +393,16 @@
=item *
-C<File::Copy> now uses 3-arg open.
-
C<File::Copy> upgraded to 2.11
+=over 4
+
+=item *
+
+Now uses 3-arg open.
+
+=back
+
=item *
C<File::Find> upgraded to version 1.13
@@ -449,7 +454,7 @@
=item *
-C<Getopt::Long> upgraded to version 2.37 (32009)
+C<Getopt::Long> upgraded to version 2.37
=item *
@@ -505,15 +510,15 @@
=item *
-C<Module::Pluggable> upgraded to version 3.8 [33552]
+C<Module::Pluggable> upgraded to version 3.8
=item *
-C<Net::Ping> upgraded to version 2.35 [33242]
+C<Net::Ping> upgraded to version 2.35
=item *
-C<NEXT> upgraded to version 0.61 [34007]
+C<NEXT> upgraded to version 0.61
=over
@@ -566,7 +571,7 @@
=item *
-C<Pod::Html> upgraded to version 1.09 [33536]
+C<Pod::Html> upgraded to version 1.09
=item *
@@ -578,20 +583,28 @@
=item *
-C<Pod::Usage> upgraded to version 1.35 [30187]
+C<Pod::Usage> upgraded to version 1.35
=item *
-C<POSIX::remove> can removes empty directories.
+C<POSIX> upgraded to version 1.15
+
+=over
=item *
-C<POSIX> imports previously duplicated constants from C<Fcntl>, version bumped
from 1.14 to 1.15.
+C<POSIX> constants that duplicate those in C<Fcntl> are now imported from
+C<Fcntl> and re-exported, rather than being duplicated by C<POSIX>
=item *
+C<POSIX::remove> can removes empty directories.
+
+=item *
C<POSIX::setlocale> safer to call multiple times.
+=back
+
=item *
C<re> gains the regmust() function.
@@ -634,7 +647,7 @@
=item *
-C<Storable> upgraded to 2.18
+C<Storable> upgraded to 2.19
=item *
@@ -646,35 +659,35 @@
=item *
-C<Term::ANSIColor> upgraded to version 1.12 (31036)
+C<Term::ANSIColor> upgraded to version 1.12
=item *
-C<Term::Cap> upgraded to version 1.11 (32143, 32301)
+C<Term::Cap> upgraded to version 1.11
=item *
-C<Term::ReadLine> upgraded to version 1.03 (31862)
+C<Term::ReadLine> upgraded to version 1.03
=item *
-C<Test::Builder> upgraded to version 0.72 (32371)
+C<Test::Builder> upgraded to version 0.72
=item *
-C<Test::Builder::Module> upgraded to version 0.72 (32371)
+C<Test::Builder::Module> upgraded to version 0.72
=item *
-C<Test::Builder::Tester> upgraded to version 1.09 (32371)
+C<Test::Builder::Tester> upgraded to version 1.09
=item *
-C<Test::More> upgraded to version 0.72 (32371)
+C<Test::More> upgraded to version 0.72
=item *
-C<Test::Simple> upgraded to version 0.72 (32371)
+C<Test::Simple> upgraded to version 0.72
=item *
@@ -690,7 +703,7 @@
=item *
-C<Text::Balanced> upgraded to version 1.98 (32984)
+C<Text::Balanced> upgraded to version 1.98
=item *
@@ -710,15 +723,15 @@
=item *
-C<Thread> upgraded to version 2.01 [32470]
+C<Thread> upgraded to version 2.01
=item *
-C<Thread::Semaphore> upgraded to version 2.07 [33361]
+C<Thread::Semaphore> upgraded to version 2.07
=item *
-C<Thread::Queue> upgraded to version 2.06 [33362]
+C<Thread::Queue> upgraded to version 2.06
=item *
@@ -807,43 +820,45 @@
=head1 Utility Changes
-=over 4
+=head2 F<perlthanks>
-=item *
+Perl 5.8.9 adds a new utility F<perlthanks>, which is a variant of F<perlbug>,
+but for sending non-bug-reports authors and maintainers of Perl. Getting
+nothing bug reports can become a bit demoralising - we'll see if this changes
+things.
-C<h2ph> now attempts to deal sensibly with the difference in path implications
-between C<""> and C<<E<lt>E<gt>>> quoting in C<#include> statements.
+=head2 F<perlbug>
-=item *
+F<perlbug> now checks if you're reporting about a non-core module and suggests
+you report it to the CPAN author instead.
-C<h2ph> generates correct correct code for C<#if defined A || defined B> now
-(perl #39130)
+=head2 F<h2xs>
-=item *
-
-C<h2xs> won't define an empty string as a constant (perl #25366)
+=over
=item *
-C<h2xs> has examples for h2xs -X (31175)
+won't define an empty string as a constant [RT #25366]
=item *
-The Emacs perl mode (emacs/cperl-mode.el) has been updated to version
-5.23.
+has examples for C<h2xs -X>
-=item *
+=back
-C<perlbug> now checks if you're reporting about a non-core module and suggests
-you report it to the CPAN author instead.
+=head2 F<h2ph>
+
+=over 4
=item *
-Added C<uupacktool.pl> (handles binary files in source tree).
+now attempts to deal sensibly with the difference in path implications
+between C<""> and C<<E<lt>E<gt>>> quoting in C<#include> statements.
=item *
-Added C<add-package.pl> (adds/updates CPAN modules that are part of Core).
+generates correct correct code for C<#if defined A || defined B> now
+[RT #39130]
=back
@@ -909,8 +924,6 @@
L<perlmodlib> is updated with C<CPAN::API::HOWTO> and
C<Sys::Syslog::win32::Win32>
-L<perlop> adds C</k> modifier in section C<s/PATTERN/REPLACEMENT/egimosxk>
-
L<perlre> documentation updated to reflect the differences between
C<[[:xxxxx:]]> and C<\p{IsXxxxx}> matches. Also added section on C</g> and
C</c> modifiers.
@@ -941,7 +954,7 @@
terminology and how to correctly handle Unicode in Perl scripts.
L<perlvar> and L<perlre> add items C<${^PREMATCH}>, C<${^MATCH}>, and
-C<${^`POSTMATCH}> and also C</k> modifier.
+C<${^`POSTMATCH}>.
L<perlvar> fixes confusion about real GID C<$(> and effective GID C<$)>.
@@ -952,65 +965,6 @@
L<reverse> function documentation received scalar context examples.
-L<perltodo> is updated with:
-
-=over
-
-=item *
-
-removed section L<Ordering of "global" variables|perltodo>.
-
-=item *
-
-removed section L<The roadmap to 5.10|perltodo>.
-
-=item *
-
-added B<-Duse32bit*>.
-
-=item *
-
-added L<__FUNCTION__ for MSVC|perltodo>.
-
-=item *
-
-added more detail about @INC order.
-
-=item *
-
-added section L<merge common code in installperl and installman|perltodo>.
-
-=item *
-
-added section L<merge checkpods and podchecker|perltodo>.
-
-=item *
-
-added section L<Investigate PADTMP hash pessimisation|perltodo>.
-
-=item *
-
-added C<does()> built-in and L<Tied filehandles and write() don't
mix|perltodo>.
-
-=item *
-
-added section L<Unicode and lcE<sol>uc operators|perltodo>.
-
-=item *
-
-added section L<perltodo/Optimize away empty destructors>.
-
-=item *
-
-Maybe the default order of directories in C<@INC> should be modified to support
-upgrade core (dual-life) modules without overwriting files.
-
-=item *
-
-Todo for perl 5.12, virtualize operating system access.
-
-=back
-
L<perlhack> documentation extensively improved by Jarkko Hietaniemi and others.
L<perltoot> provides information on modifying C<@UNIVERSAL::ISA>.
@@ -1025,11 +979,6 @@
=item *
-L<perltodo> was, of course, extensively modified; with the notable marking of
the srlcpy/strcat
-to my_strlcpy/my_strcat update as a TODONE.
-
-=item *
-
L<INSTALL> has been updated and modernized.
=back
@@ -1075,12 +1024,11 @@
=item *
-Regular expression introduces C</k> modifier for matching along with new perl
-variables C<${^PREMATCH}>, C<${^MATCH}>, C<${^POSTMATCH}> which are equivalent
-to C<$`>, C<$&> and C<$'>, B<except> that they are only guaranteed to be
-defined after a successful match that was executed with the C</k> (keep-copy)
-modifier. The use of these variables incurs no global performance penalty,
-unlike their punctuation char equivalents (#32263).
+Many calls to C<strlen()> have been eliminated, either because the length was
+already known, or by adopting or enhancing APIs that pass lengths.
+
+A very stubborn compiler warning in S_emulate_eaccess was killed six
+times.
=item *
@@ -1090,24 +1038,8 @@
=item *
-Substitutions with repeated right hand expressions (ie. C<s///ge>) are now more
-efficient.
-
-
-=item *
-
Stopped memory leak on long /etc/groups entries
-=item *
-
-Recursive regexes now possible. Possessive quantifiers and named captures are
-now possible within the regex engine.
-
-=item *
-
-The MY_CXT API has been made more efficient (and an explicit interpeter
argument
-variant has been added).
-
=back
=head1 Installation and Configuration Improvements
@@ -1130,8 +1062,6 @@
to distinguish real fork() support from fake pseudofork used on Windows
platforms.
-L<ptar> and L<ptardiff> are no longer installed to C<$installbin>
-
C<Config.pod> and C<config.sh> are now placed correctly for cross-compilation.
'unexpand -a' spaces converted to tabs to create smaller Changes files.
@@ -1226,7 +1156,7 @@
=item *
-Passing a raw string of "NaN" to L<nawk(1)> causes a core dump - so the string
+Passing a raw string of "NaN" to L<nawk> causes a core dump - so the string
has been changed to "*NaN*" (31975)
=item *
@@ -1256,6 +1186,8 @@
=item *
+=for fixme
+
Overloading flags are now stored on the referent instead of the reference.
Previously taking a new, unrelated reference to an object could result in
the original (blessed) reference being able to access the overload while
@@ -1295,11 +1227,6 @@
=item *
-Fixed a long-standing bug that caused incorrect line numbers to be
-reported in error messages about elsif blocks.
-
-=item *
-
The tokenizer no longer treats =cute (and other words beginning
with =cut) as a synonym for =cut.
@@ -1351,10 +1278,6 @@
=back
-=item *
-
-Fix MRO behaviour when one undefs C<@ISA> (32542)
-
=item *
Fixed bug RT #35878, croaking from a XSUB called via goto &xsub corrupts perl
@@ -1557,16 +1480,6 @@
=back
-=head3 Symbian
-
-=over 4
-
-=item *
-
-Added support for Symbian series 90.
-
-=back
-
=head2 Smaller fixes
=over 4
@@ -1617,6 +1530,8 @@
Reduced number of calls to C<getpeername> in L<IO::Socket> (29129).
+=for fixme
+
=item *
C<chr(65535)> ought to be allowed in regexes.
@@ -1796,13 +1711,6 @@
function has been disabled because this requires that an interpreter is present
(32235).
-Reorder global variable in C<intrpvar.h> saves another 40 bytes from the
-interpreter structure (#31034). Also delete C<thrdvar.h> and move its contents
-to C<intrpvar.h> (#31245).
-
-Support for B<assertions> and B<-A> is now removed from C<XS> module and in
-C<ext> (#31333).
-
"Bake" the values of C<PERL_REVISION>, C<PERL_VERSION> and C<PERL_SUBVERSION>
into global variables (and hence a shared perl library). Additionally under
C<MULTIPLICITY> record the size of the interpreter structure (total, and for
@@ -1815,6 +1723,10 @@
together into a global variable (C<PL_bincompat_options>). This will allow
comparisons to be made in the future.
+Nicholas Clark allowed symbolic references to have embedded NULs. The new
+public function C<get_cvn_flags> can be used in extensions if you have to
+handle them.
+
=head1 New Tests
=over 4
@@ -2048,3 +1960,7 @@
=cut
+=for rehoming
+The Emacs perl mode (F<emacs/cperl-mode.el>) has been updated to version
+5.23.
+
End of Patch.