Change 34738 by [EMAIL PROTECTED] on 2008/11/05 21:35:57

        More tidying. Move descriptions of bug fixes in module to their
        "ugraded" section.

Affected files ...

... //depot/maint-5.8/perl/pod/perl589delta.pod#18 edit

Differences ...

==== //depot/maint-5.8/perl/pod/perl589delta.pod#18 (text) ====
Index: perl/pod/perl589delta.pod
--- perl/pod/perl589delta.pod#17~34737~ 2008-11-05 12:05:52.000000000 -0800
+++ perl/pod/perl589delta.pod   2008-11-05 13:35:57.000000000 -0800
@@ -157,6 +157,10 @@
 C<Module::CoreList> is a hash of hashes that is keyed on perl version as
 indicated in C<$]>. The bundled version is 2.12
 
+=item *
+
+C<Win32API::File> now available in core on Microsoft Windows.
+
 =back
 
 =head2 Updated Modules
@@ -256,6 +260,30 @@
 
 C<B::Deparse> upgraded to version 0.87
 
+=over 4
+
+=item *
+
+properly deparse C<print readpipe $x, $y>.
+
+=item *
+
+now handles C<''->()>, C<::()>, C<sub :: {}>, I<etc.> correctly [RT #43010].
+All bugs in parsing these kinds of syntax are now fixed:
+
+    perl -MO=Deparse -e '"my %h = "->()'
+    perl -MO=Deparse -e '::->()'
+    perl -MO=Deparse -e 'sub :: {}'
+    perl -MO=Deparse -e 'package a; sub a::b::c {}'
+    perl -MO=Deparse -e 'sub the::main::road {}'
+
+=item *
+
+does B<not> deparse C<$^H{v_string}>, which is automatically set by the
+internals.
+
+=back
+
 =item *
 
 C<B::Lint> upgraded to version 1.11
@@ -502,6 +530,12 @@
 
 =item *
 
+C<IO> upgraded to version 1.23
+
+Reduced number of calls to C<getpeername> in C<IO::Socket>.
+
+=item *
+
 C<IPC::SysV> upgraded to version 2.00
 
 =item *
@@ -1088,6 +1122,11 @@
 Many calls to C<strlen()> have been eliminated, either because the length was
 already known, or by adopting or enhancing APIs that pass lengths.
 
+=item * 
+
+C<index> is now faster if the search string is stored in UTF-8 but only 
contains
+characters in the Latin-1 range.
+
 =back
 
 =head1 Installation and Configuration Improvements
@@ -1230,7 +1269,7 @@
 =item *
 
 Passing a raw string of "NaN" to L<nawk> causes a core dump - so the string
-has been changed to "*NaN*" (31975)
+has been changed to "*NaN*"
 
 =back
 
@@ -1240,13 +1279,34 @@
 
 =item *
 
-When using a shared perl library C<installperl> no longer installs static
+When using a shared perl library F<installperl> no longer installs static
 library files, import library files and export library files (of statically
 linked extensions) and empty bootstrap files (of dynamically linked
 extensions).
 
 This fixes a problem building PAR-Packer on Win32 with a debug build of perl.
 
+=item *
+
+Various improvements to the win32 build process, includding support for Visual
+C++ 2005 Express Edition (aka Visual C++ 8.x).
+
+=item * 
+
+F<perl.exe> will now have an icon if built with MinGW or Borland. 
+
+=item *
+
+Improvements to the perl-static.exe build process.
+
+=item *
+
+Add Win32 makefile option to link all extensions statically.
+
+=item *
+
+The F<WinCE> directory has been merged into the F<Win32> directory.
+
 =back
 
 =head1 Selected Bug Fixes
@@ -1386,35 +1446,6 @@
 
 =item *
 
-Fixed bug on RT #43010, now C<B::Deparse> handles ''->(), ::(), sub :: {}, 
-etc correctly (31268). All bugs in parsing these kind of syntax are now fixed:
-
-=over
-
-=item *
-
-perl -MO=Deparse -e '"my %h = "->()'
-
-=item *
-
-perl -MO=Deparse -e '::->()'
-
-=item *
-
-perl -MO=Deparse -e 'sub :: {}'
-
-=item *
-
-perl -MO=Deparse -e 'package a; sub a::b::c {}'
-
-=item *
-
-perl -MO=Deparse -e 'sub the::main::road {}'
-
-=back
-
-=item *
-
 Fixed bug RT #35878, croaking from a XSUB called via goto &xsub corrupts perl
 internals.
 
@@ -1471,17 +1502,13 @@
 
 =item *
 
-Mutex protection added in PerlIOStdio_close to avoid race conditions.  May
-fix threads free.t and blocks.t failures on OS X on 5.8.x (33502).
+Mutex protection added in C<PerlIOStdio_close> to avoid race conditions.
+Hopefully this fixes failures in the threads tests F<free.t> and F<blocks.t>.
 
 =item *
 
-Added forked terminal support to debugger under MacOSX (29415)
-
-=item *
-
-L<perl5db.pl> has been updated for Mac OS X 10.5 (as there is now a direct
-accessor for the tty device name) to update the window title.
+Added forked terminal support to the debugger, with the ability to update the
+window title.
 
 =back
 
@@ -1494,8 +1521,6 @@
 C<File::Find> used to fail when the target dir is a bare drive letter and
 C<no_chdir> is 1 (the default is 0). (RT #41555)
 
-C<Win32API::File> added to the core
-
 =item *
 
 A build problem with specifying C<USE_MULTI> and C<USE_ITHREADS> but without
@@ -1508,23 +1533,7 @@
 
 =item *
 
-Various improvements to the win32 build process, includding support for Visual 
C++ 2005 Express Edition (aka Visual C++ 8.x). Also you should now have an icon 
for perl.exe if built with MinGW or Borland. 
-
-=item *
-
-Improvements to the perl-static.exe build process.
-
-=item *
-
-Add Win32 makefile option to link all extensions statically.
-
-=item *
-
-Merge WinCE into Win32 directory (30281-30284, 20862)
-
-=item *
-
-Fixed bug RT #54828 in C<perlio.c> when calling C<Binmode()> on Win32 and 
Cgywin
+Fixed bug RT #54828 in C<perlio.c> when calling C<binmode> on Win32 and Cgywin
 may cause segmentation fault.
 
 =back
@@ -1535,28 +1544,24 @@
 
 =item *
 
-Fixed PerlIO::Scalar in-memory file record-style reads.
+Fixed C<PerlIO::Scalar> in-memory file record-style reads.
 
 =item *
 
-Make pipe shutdown on VMS care about whether PerlIO has already shut down 
(33005)
+pipe shutdown at process exit should now be more robust.
 
 =item *
 
-Fix VMS exit handling broken in Test::Harness 2.64 (33008)
+Bugs in VMS exit handling tickled by C<Test::Harness> 2.64 have been fixed.
 
 =item *
 
-Fix fcntl locking capability test in C<configure.com> (31756)
+Fix fcntl locking capability test in C<configure.com>.
 
 =item *
 
 Replaced C<shrplib='define'> with C<useshrplib='true'> on VMS.
 
-=item *
-
-Fix missing C<PerlIO_releaseFILE> in C<VMS::Stdio::getname> (31384)
-
 =back
 
 =head3 OS/2
@@ -1580,7 +1585,7 @@
 
 =item *
 
-Aligned floating point build policies for cc and gcc. 
+Aligned floating point build policies for F<cc> and F<gcc>.
 
 =back
 
@@ -1590,18 +1595,8 @@
 
 =item *
 
-Revisited a patch from 5.6.1 for RH7.2 for Intel's icc (RT #7916), added an 
aditional check for $Config{gccversion}.
-
-=back
-
-=head3 Windows and OS/2
-
-=over 4
-
-=item *
-
-A build problem with specifying C<USE_MULTI> and C<USE_ITHREADS> but without
-C<USE_IMP_SYS> has been fixed.
+Revisited a patch from 5.6.1 for RH7.2 for Intel's F<icc> (RT #7916), added an
+aditional check for C<$Config{gccversion}>.
 
 =back
 
@@ -1621,7 +1616,7 @@
 
 =item *
 
-It's now possible to overload C<eq> when using C<nomethod>.
+It is now possible to overload C<eq> when using C<nomethod>.
 
 =item *
 
@@ -1638,43 +1633,14 @@
 
 =item *
 
-L<B::Deparse> has been instructed on:
-
-=over
-
-=item *
-
-how to properly deparse C<print readpipe $x, $y>.
-
-=item *
-
-B<not> to deparse C<$^H{v_string}>, which is automatically set by the 
internals.
-
-=back
-
-=item *
-
 C<keys %+> no longer throws an C<'ambiguous'> warning.
 
-=item * 
-
-C<index> works faster now if the search string is stored in UTF-8 but actually
-fits into Latin-1.
-
-=item * 
-
-Reduced number of calls to C<getpeername> in L<IO::Socket> (29129).
-
 =for fixme
 
 =item *
 
 C<chr(65535)> ought to be allowed in regexes.
 
-=item *
-
-L<ExtUtils::MakeMaker> now detects DragonFlyBSD as a BSDish operating system 
(33006)
-
 =item * 
 
 Using C<#!perl -d> could trigger an assertion, which has been fixed (30075).
@@ -1682,12 +1648,11 @@
 =item *
 
 Don't stringify tied code references in C<@INC> when calling C<require>.
-(30068)
 
 =item *
 
 Code references in C<@INC> report the correct file name when C<__FILE__> is
-used (30068).
+used.
 
 =item *
 
@@ -1730,10 +1695,6 @@
 
 =item *
 
-C<B> now can compile outside of the perl source tree.
-
-=item *
-
 On some systems, changes to C<$ENV{TZ}> would not always be
 respected by the underlying calls to C<localtime_r>.  Perl now
 forces the inspection of the environment on these systems.  (29213)
@@ -1754,11 +1715,6 @@
 be set even if backreferences or optional sub-patterns C<(?:...)?> are
 used.  (30100)
 
-=item *
-
-Avoid a subtle problem which caused L<SQL::Translator> to mistakenly
-see a proxy constant subroutines as a GV (typeglob structure). (32172)
-
 =back
 
 =head1 New or Changed Diagnostics
@@ -1805,25 +1761,35 @@
 
 =head1 Changed Internals
 
-The new API function C<newSV_type> can be used to replace more efficiently the
-common idiom
+The new API macro C<newSVpvs()> can be used in place of constructions such as
+C<newSVpvn("ISA", 3)>. It takes a single string constant, and at C compile
+time determins its length.
+
+The new API function C<newSV_type> can be used as a more efficient replacement
+of the common idiom
 
     sv = newSV(0);
     sv_upgrade(sv, type);
 
-=for fixme newSVpvn_flags()
+Similarly C<newSVpvn_flags()> can be used to combine C<newSVpv()> with
+C<sv_2mortal()> or the equivalent C<sv_newmortal()> with C<sv_setpvn()>
 
-=for fixme mPUSHs() and mXPUSHs (and we fixed bugs)
+Two new macros C<mPUSHs()> and C<mXPUSHs()> are added, to make it easier to
+push mortal SVs onto the stack. They were then used to fix several bugs where
+values on the stack had not been mortalised.
 
 A C<sigbit> public function was added to test the sign of a NV. It maps to the
 system one when available.
 
 C<av_reify>, C<lex_end>, C<mod>, C<op_clear>, C<pop_return>,
 C<qerror>, C<setdefout>, C<vivify_defelem> and C<yylex> are now
-visible to perl core extensions. This was required by L<Data::Alias>.
+visible to perl core extensions. This was required by C<Data::Alias>.
 
 C<find_runcv> is now visible to perl core extensions. This was required to
-allow L<Sub::Current> to work on Windows.
+allow C<Sub::Current> to work on Windows.
+
+C<ptr_table*> functions are now available in unthreaded perl. C<Storable>
+takes advantage of this.
 
 C<set> magic on localizing/assigning to a magic variable will now only
 trigger for I<container magics>, i.e. it will for C<%ENV> or C<%SIG>
@@ -1832,37 +1798,30 @@
 A lot of small improvents in the code base were made due to reports from
 the Coverity static code analyzer.
 
-C<ptr_table> functions are now available in unthreaded perl.
-
 Corrected use and documentation of C<gv_stashpv>, C<gv_stashpvn>, C<gv_stashsv>
 functions (last parameter is a bitmask, not boolean).
 
 C<PERL_SYS_INIT>, C<PERL_SYS_INIT3> and C<PERL_SYS_TERM> macros have been
-changed into functions (31970).
-
-Machine generated C<B::Asmdata> via C<bytecode.pl> is now more warnings free 
and
-read C<@optype> and C<@specialsv_name> from ext/B/B.pm (#32264, #32266)
+changed into functions.
 
-C<PERLSYS_TERM> no longer requires a context (32216). In C<PerlIO_teardown>
-is now also called without a context (32215), and debugging output in this
-function has been disabled because this requires that an interpreter is present
-(32235).
-
-"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
-this version) and under C<PERL_GLOBAL_STRUCT> the size of the global variables
-structure. Coupled with PL_bincompat_options this will allow 5.10.1 (and
-later), when compiled with a shared perl library, to perform sanity checks in
-C<main()> to verify that the shared library is indeed binary compatible.
+C<PERLSYS_TERM> no longer requires a context. In C<PerlIO_teardown>
+is now also called without a context, and debugging output in this
+function has been disabled because that required that an interpreter was
+present, an invalid assumption at termination time.
 
 All compile time options which affect binary compatability have been grouped
-together into a global variable (C<PL_bincompat_options>). This will allow
-comparisons to be made in the future.
+together into a global variable (C<PL_bincompat_options>).
 
-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.
+The values of C<PERL_REVISION>, C<PERL_VERSION> and C<PERL_SUBVERSION> are
+now backed into global variables (and hence into any shared perl library).
+Additionally under C<MULTIPLICITY>, the perl executable now record the size of
+the interpreter structure (total, and for this version). Coupled with
+PL_bincompat_options this will allow 5.8.10 (and later), when compiled with a
+shared perl library, to perform sanity checks in C<main()> to verify that the
+shared library is indeed binary compatible.
+
+Symbolic references can now have embedded NULs. The new public function
+C<get_cvn_flags> can be used in extensions if you have to handle them.
 
 =for fixme
 
@@ -1940,7 +1899,7 @@
 
 =item *
 
-Significantly improved testing for C<$/> usage with PerlIO::Scalar in-memory
+Significantly improved testing for C<$/> usage with C<PerlIO::Scalar> in-memory
 files.
 
 =item *
@@ -2018,6 +1977,12 @@
 
 =head1 Known Problems
 
+=for fixme
+
+strict in evals
+warnings
+many bug fixes present in 5.10.0 can't be backported
+
 None.
 
 =head1 Platform Specific Notes
@@ -2040,7 +2005,7 @@
 
 =item *
 
-C<Win32API> updated to 0.1001_01 (30411)
+C<Win32API> updated to 0.1001_01
 
 =item *
 
@@ -2048,7 +2013,7 @@
 
 =item *
 
-C<File::Spec::Win32> upgraded to version 3.2701 (see above).
+C<File::Spec::Win32> upgraded to version 3.2701
 
 =back
 
@@ -2077,11 +2042,11 @@
 
 =item *
 
-C<File::Spec::VMS> upgraded to version 3.2701 (see above).
+C<File::Spec::VMS> upgraded to version 3.2701
 
 =item *
 
-C<VMS::XSSymSet> upgraded to 1.1 (31236).
+C<VMS::XSSymSet> upgraded to 1.1.
 
 =back
 
End of Patch.

Reply via email to