From: Jesse Vincent Date: Sat, 19 Dec 2009 22:52:37 +0000 (-0500) Subject: Further paring down of perldelta X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=ecb374736fc633d7a24b560c2afe20a3a3d9f069;p=p5sagit%2Fp5-mst-13.2.git Further paring down of perldelta --- diff --git a/pod/perl5113delta.pod b/pod/perl5113delta.pod index ea14955..da3f2cb 100644 --- a/pod/perl5113delta.pod +++ b/pod/perl5113delta.pod @@ -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, as L is merely a wrapper around L. =head1 Core Enhancements @@ -167,7 +164,17 @@ have a F file that could be cribbed. =over 4 -=item C +=item C + + 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 +=item Don't make C die on unknown legacy names + +So we can use C to avoid the new "qubit" behaviour, +without worrying about perls that didn't have qubit support at all. :) + +NOTE: C> 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 and friends in F + +=back + =head2 Platform Specific Changes =over 4 =item Win32 +=over 4 + +=item * + +Always add a manifest resource to C to specify the +settings for Windows Vista and later. Without this setting Windows +will treat C 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 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. =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 -Date: Tue Dec 15 23:04:11 2009 +0000 - - Allow override of PERL5OPT etc in t/TEST - -commit 6a158b577769363e3a34f3dcb7321a0e933d3353 -Author: Rafael Garcia-Suarez -Date: Wed Dec 16 00:04:34 2009 +0100 - - Don't make C die on unknown legacy names - - So we can use C 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 ‘panic: attempt to copy freed scalar’ 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 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 -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 @@ -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 -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 -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 -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 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 -Date: Thu Apr 30 16:53:20 2009 -0700 - - Always add a manifest resource to perl.exe to specify the - 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 -Date: Fri Nov 20 10:23:54 2009 +0000 - - Always bless filehandles into IO::Handle:: - don't try for FileHandle:: first.