Further paring down of perldelta
Jesse Vincent [Sat, 19 Dec 2009 22:52:37 +0000 (17:52 -0500)]
pod/perl5113delta.pod

index ea14955..da3f2cb 100644 (file)
@@ -20,10 +20,7 @@ XXX Any important notices here
 
 =head1 Incompatible Changes
 
-XXX For a release on a stable branch, this section aspires to be:
-
-    There are no changes intentionally incompatible with 5.11.3. If any
-    exist, they are bugs and reports are welcome.
+=item Filehandles are blessed directly into C<IO::Handle::>, as L<FileHandle/> is merely a wrapper around L<IO::Handle/>.
 
 
 =head1 Core Enhancements
@@ -167,7 +164,17 @@ have a F<Changes> file that could be cribbed.
 
 =over 4
 
-=item C<XXX>
+=item C<warnings::fatal_enabled>
+
+    Add code and starting perldoc for warnings::fatal_enabled.
+    
+    This is an analog for warnings::enabled, except it tests whether the
+    given category has been set fatal using "use warnings FATAL => foo".
+    This is mostly for symmetry.
+    
+    Assumes that the fatal bit for a category will have an offset one higher
+    than the regular bit for the category, because otherwise much rewriting
+    of __chk would be required.
 
 XXX
 
@@ -177,9 +184,13 @@ XXX
 
 =over 4
 
-=item C<XXX>
+=item Don't make C<use legacy> die on unknown legacy names
+
+So we can use C<use legacy "qubits"> to avoid the new "qubit" behaviour,
+without worrying about perls that didn't have qubit support at all. :)
+
+NOTE: C<B<legacy>> will be removed before 5.12.0.
 
-XXX
 
 =back
 
@@ -205,6 +216,11 @@ XXX
     Update Archive::Extract to cpan version 0.36
 
 XXX
+=item
+
+    File::Find was not resolving paths of the form "/..////../" correctly.
+    Fixed by adding a quantifier to the substitution parameter in
+    contract_name().
 
 =back
 
@@ -277,15 +293,62 @@ XXX
     Make distclean work again
 XXX
 
+=head2 Testing improvements
+
+=over 4
+
+=item It's now possible to override C<PERL5OPT> and friends in F<t/TEST>
+
+=back
+
 =head2 Platform Specific Changes
 
 =over 4
 
 =item Win32
 
+=over 4 
+
+=item *
+
+Always add a manifest resource to C<perl.exe> to specify the <trustInfo>
+settings for Windows Vista and later.  Without this setting Windows
+will treat C<perl.exe> as a legacy application and apply various
+heuristics like redirecting access to protected file system areas
+(like the "Program Files" folder) to the users "VirtualStore"
+instead of generating a proper "permission denied" error.
+
+For VC8 and VC9 this manifest setting is automatically generated by
+the compiler/linker (together with the binding information for their
+respective runtime libraries); for all other compilers we need to
+embed the manifest resource explicitly in the external resource file.
+
+This change also requests the Microsoft Common-Controls version 6.0
+(themed controls introduced in Windows XP) via the dependency list
+in the assembly manifest.  For VC8 and VC9 this is specified using the
+C</manifestdependency> linker commandline option instead.
+
+=back
+
+=item cygwin
+
+=over 4
+
+=item Enable IPv6 support on cygwin 1.7 and newer
+
+=back
 
 =item OpenVMS
 
+=over 4
+
+=item Make -UDEBUGGING the default on VMS for 5.12.0.
+
+Like it has been everywhere else for ages and ages.  Also make
+command-line selection of -UDEBUGGING and -DDEBUGGING work in
+configure.com; before the only way to turn it off was by saying
+no in answer to the interactive question.
+
 =back
 
 =head1 Selected Bug Fixes
@@ -298,7 +361,29 @@ L</Modules and Pragmata>.
 
 =item *
 
-XXX
+Ensure that pp_qr returns a new regexp SV each time. Resolves RT #69852.
+
+Instead of returning a(nother) reference to the (pre-compiled) regexp in the
+optree, use reg_temp_copy() to create a copy of it, and return a reference to
+that. This resolves issues about Regexp::DESTROY not being called in a timely
+fashion (the original bug tracked by RT #69852), as well as bugs related to
+blessing regexps, and of assigning to regexps, as described in correspondence
+added to the ticket.
+
+It transpires that we also need to undo the SvPVX() sharing when ithreads
+cloning a Regexp SV, because mother_re is set to NULL, instead of a cloned
+copy of the mother_re. This change might fix bugs with regexps and threads in
+certain other situations, but as yet neither tests nor bug reports have
+indicated any problems, so it might not actually be an edge case that it's
+possible to reach.
+
+=item  *
+
+Several compilation errors and segfaults when perl was built with C<-Dmad> were fixed.
+
+=item *
+
+Fixes for lexer API changes in 5.11.2 which broke NYTProf's savesrc option.
 
 =back
 
@@ -463,37 +548,11 @@ Date:   Wed Dec 16 15:42:19 2009 -0800
     The included test has only been tested on Windows and Linux;
     the device names for OS/2 and VMS are just best guesses...
 
-    
-commit 2574563ed1cc89a9149d4a253b94199eab5bdf71
-Author: Tim Bunce <Tim.Bunce@pobox.com>
-Date:   Tue Dec 15 23:04:11 2009 +0000
-
-    Allow override of PERL5OPT etc in t/TEST
-
-commit 6a158b577769363e3a34f3dcb7321a0e933d3353
-Author: Rafael Garcia-Suarez <rgs@consttype.org>
-Date:   Wed Dec 16 00:04:34 2009 +0100
-
-    Don't make C<use legacy> die on unknown legacy names
-    
-    So we can use C<use legacy "qubits"> to avoid the new "qubit" behaviour,
-    without worrying about perls that didn't have qubit support at all. :)
-
 commit 0f907b96d618c97cd2e020841a70ae037954a616
 
     [perl #70171] 5.10.0 -> 5.10.1 Regression in fafafbaf70 (Big slowdown in 5.10 @_ parameter passing)
     
-    In this case my %x = %$x assigns a hash to itself. This causes the
-    hv_clear in pp_aassign to wipe away the hash before it can be copied.
-    The Ă¢\80\98panic: attempt to copy freed scalarĂ¢\80\99 error is triggered by this
-    line, which copies the value:
-        sv_setsv(tmpstr,*relem);        /* value */
-    
-    The solution is to make sure the OPpASSIGN_COMMON flag is on in such
-    cases, so that pp_aassign copies everything before doing the assignment.
-
 commit 2ab54efd6265713df5cd4bd0927024245675c1c2
-Author: Michael Breen <perl@mbreen.com>
 
     fix bug 67156: overload: nomethod(..., '!') return value inverted
 
@@ -501,16 +560,6 @@ commit 412147f664b7f5805591ad996d7e5a9e70b3d80f
 
     [perl #71204] diagnostics.pm suppresses 'Use of uninitialized value in range (or flip)' warning
     
-    (and bump version of diagnostics.pm)
-
-commit 2653dd3c22bd18d7877da53d515dc31c46d8fbea
-Author: Reini Urban <rurban@x-ray.at>
-Date:   Mon Dec 14 13:04:37 2009 +0100
-
-    cygwin IPv6 since 1.7
-    
-    Use g++ as default linker
-    IPv6 support for 1.7
 
 commit 69dc4b30f4725ad5f212d45d3c856ac1caaacf17
 Author: Father Chrysostomos <sprout@cpan.org>
@@ -545,19 +594,7 @@ Date:   Sun Dec 13 08:06:43 2009 +0100
 
     proper error on "grep $x (1,2,3)". Solves [perl #37314]
 
-commit 1cb985b013ea71b82afbc114ed06f94d451f5e04
-
-    Throw away uncleanable scopes when exiting a pseudo-forked process.
-    
-    Commit adab9969 tried to clean up those additional scopes, but failed
-    because some of the memory was allocated from a different pool. To
-    avoid triggering the assert() in perl_destruct() this change instead
-    moves the one remaining scope back to the root of the stack, effectively
-    discarding the additional frames without any further processing.
-
 commit 8a27a13e89107aaf68c0748b68ee71fbd86d774b
-Author: Father Chrysostomos <sprout@cpan.org>
-Date:   Mon Dec 7 14:58:40 2009 +0100
 
     [perl #71076] sort with active sub (5.10 regression)
     
@@ -580,26 +617,6 @@ commit c9930541bfa04399c3b648e83c9b750cee1154fb
 
     [perl #70802] -i'*' refuses to work
 
-commit c2123ae380a372d506d1b6938667bd785fd8728b
-Author: Nicholas Clark <nick@ccl4.org>
-Date:   Wed Dec 2 16:01:10 2009 +0000
-
-    Ensure that pp_qr returns a new regexp SV each time. Resolves RT #69852.
-    
-    Instead of returning a(nother) reference to the (pre-compiled) regexp in the
-    optree, use reg_temp_copy() to create a copy of it, and return a reference to
-    that. This resolves issues about Regexp::DESTROY not being called in a timely
-    fashion (the original bug tracked by RT #69852), as well as bugs related to
-    blessing regexps, and of assigning to regexps, as described in correspondence
-    added to the ticket.
-    
-    It transpires that we also need to undo the SvPVX() sharing when ithreads
-    cloning a Regexp SV, because mother_re is set to NULL, instead of a cloned
-    copy of the mother_re. This change might fix bugs with regexps and threads in
-    certain other situations, but as yet neither tests nor bug reports have
-    indicated any problems, so it might not actually be an edge case that it's
-    possible to reach.
-
 commit adab996997d7ef1b54d382f5ab4304f438cd1dd0
 
     Cleanup all scopes before exiting a pseudo-forked process.
@@ -610,9 +627,6 @@ commit adab996997d7ef1b54d382f5ab4304f438cd1dd0
 
 =item *
 
-Improvements to fix C++ compilation errors when -Dmad is defined
-
-Fixes for -Dmad: double free or corruption
 
 
 commit 576b33a19ccaf98d4dfe201d529c55c3747f0cb6
@@ -637,55 +651,6 @@ commit ff868e665bf85a829dc47bfa1243b26d4367cacd
 
     Add error codes for getaddrinfo() and getnameinfo()
 
-commit 17cc9359ea8ee1b546aa067b91362160e3c1e1ee
-Author: Zefram <zefram@fysh.org>
-Date:   Wed Nov 25 22:17:52 2009 +0000
-
-    perl-5.11.2 breaks NYTProf savesrc option (Lexer API suspected)
-    
-    Tim Bunce wrote:
-    >The primary issue is the off-by-one error in the array indexing.
-    
-    There's a bit more to it than that.  The indexing was off-by-one for
-    *some* places that process a new line, but correct for others, so the
-    saved source as a whole was mangled rather than simply offset.  Also,
-    there were some redundant calls to update_debugger_info(), so some lines
-    got saved twice, in some cases off-by-one for one saving and not for
-    the other.  The saved source is, therefore, hopelessly broken in 5.11.2.
-    
-    Attached patch fixes the source saving.  Includes a new test, which works
-    through all reachable places that source lines get saved.  This should
-    close RT #70804.
-    
-    -zefram
-
-commit ec983580254c32fd44889fde43973ac5dd74257b
-
-    Add code and starting perldoc for warnings::fatal_enabled.
-    
-    This is an analog for warnings::enabled, except it tests whether the
-    given category has been set fatal using "use warnings FATAL => foo".
-    This is mostly for symmetry.
-    
-    Assumes that the fatal bit for a category will have an offset one higher
-    than the regular bit for the category, because otherwise much rewriting
-    of __chk would be required.
-
-commit 6b1226db4432ba7f08619ebe4c5365f692dcbbf7
-
-    Add missing library to VC++ section of Win32 dmake makefile
-
-commit 5e8632492467a144fabe819ac1f4206ecde8d14d
-
-    Avoid circularity in $(LINK_FLAGS) definition in Win32 dmake makefile
-
-commit dbb3120a48c1483138e02a3fadf359e5b664ae11
-
-    Fix code-before-declaration error on Win32 with recent VC++ compilers
-    
-    (We only #define SET_INVALID_PARAMETER_HANDLER for VC2005 and later, so
-    users of earlier compilers will not have seen this error)
-
 commit 61fc5122f0d8a509834282b8ecb3252d2e4c9f5d
 
     Make unicode semantics the default
@@ -702,42 +667,3 @@ commit 6a0e50422a84b53e998825128c56791913cd03aa
 Author: Craig A. Berry <craigberry@mac.com>
 Date:   Sat Nov 21 11:17:38 2009 -0600
 
-    Make -UDEBUGGING the default on VMS for 5.12.0.
-    
-    Like it has been everywhere else for ages and ages.  Also make
-    command-line selection of -UDEBUGGING and -DDEBUGGING work in
-    configure.com; before the only way to turn it off was by saying
-    no in answer to the interactive question.
-
-commit 4ebea3c679ca93eb90d62be76bf8eb3cd7d14160
-Author: Jan Dubois <jand@activestate.com>
-Date:   Thu Apr 30 16:53:20 2009 -0700
-
-    Always add a manifest resource to perl.exe to specify the <trustInfo>
-    settings for Windows Vista and later.  Without this setting Windows
-    will treat perl.exe as a legacy application and apply various
-    heuristics like redirecting access to protected file system areas
-    (like the "Program Files" folder) to the users "VirtualStore"
-    instead of generating a proper "permission denied" error.
-    
-    For VC8 and VC9 this manifest setting is automatically generated by
-    the compiler/linker (together with the binding information for their
-    respective runtime libraries); for all other compilers we need to
-    embed the manifest resource explicitly in the external resource file.
-    
-    This change also requests the Microsoft Common-Controls version 6.0
-    (themed controls introduced in Windows XP) via the dependency list
-    in the assembly manifest.  For VC8 and VC9 this is specified using the
-    /manifestdependency linker commandline option instead.
-
-commit 51393fc07355ffd0a4b6b212fd676ee37de23e09
-
-    File::Find was not resolving paths of the form "/..////../" correctly.
-    Fixed by adding a quantifier to the substitution parameter in
-    contract_name().
-
-commit 31c9a3ace4f559b79a21319b8903e92f53b44868
-Author: Nicholas Clark <nick@ccl4.org>
-Date:   Fri Nov 20 10:23:54 2009 +0000
-
-    Always bless filehandles into IO::Handle:: - don't try for FileHandle:: first.