In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/cb3bb32963f6366f29f0f629f2757c07d2e1ebab?hp=ef9c94e2505a1b36fa63319a632e9b86a35609d8>
- Log ----------------------------------------------------------------- commit cb3bb32963f6366f29f0f629f2757c07d2e1ebab Author: Father Chrysostomos <[email protected]> Date: Sun Nov 16 12:57:22 2014 -0800 perldelta: fix pod syntax M pod/perldelta.pod commit b1a4e8b3fdb0d2522906309735659e2f280eee1e Author: Father Chrysostomos <[email protected]> Date: Sun Nov 16 12:55:51 2014 -0800 perldelta for #121827 / 3a100dabd M pod/perldelta.pod commit 15d464c42c1b83190444ca2c959259ceba68df38 Author: Father Chrysostomos <[email protected]> Date: Sun Nov 16 12:50:36 2014 -0800 perldelta for 6b6b21da8 M pod/perldelta.pod commit f4e81f960553fc75149cdba0d279587519f576a4 Author: Father Chrysostomos <[email protected]> Date: Sun Nov 16 12:46:29 2014 -0800 perldelta: Sort updated modules M pod/perldelta.pod commit c0b328239f08ddccafa94468a30099372e1f0345 Author: Father Chrysostomos <[email protected]> Date: Sun Nov 16 12:45:24 2014 -0800 perldelta for ff781254a3 M pod/perldelta.pod commit 9ec867d303cffadd6a5b0254413c3c221d50d4be Author: Karen Etheridge <[email protected]> Date: Sun Nov 16 10:40:05 2014 -0800 Update ExtUtils-Manifest to CPAN version 1.69 [DELTA] 1.69 2014-11-16 - also skip _build_params, generated by Module::Build::Tiny M cpan/ExtUtils-Manifest/lib/ExtUtils/MANIFEST.SKIP M cpan/ExtUtils-Manifest/lib/ExtUtils/Manifest.pm commit 391823f28e84fca58dbbc5e4e47f9796444076b3 Author: Father Chrysostomos <[email protected]> Date: Sun Nov 16 11:30:16 2014 -0800 perldelta for #123103 / 1d5686ec7b M pod/perldelta.pod commit dd200dffba293d067d2b7a88f9f7325761e59858 Author: Father Chrysostomos <[email protected]> Date: Sun Nov 16 11:27:52 2014 -0800 perldelta for 96d7c888 M pod/perldelta.pod commit 295f78158f737b0323f915a97e46166b726b2cba Author: Father Chrysostomos <[email protected]> Date: Sun Nov 16 11:25:55 2014 -0800 perldelta for f4725fad1a M pod/perldelta.pod commit 2af7c6b6563ee6655e221fc47a9f7039f30e8212 Author: Father Chrysostomos <[email protected]> Date: Sun Nov 16 11:22:25 2014 -0800 perldelta for #122782 / e660c409 M pod/perldelta.pod commit fdcaecb777487e26b059d4d1fb3a5cbdf6413832 Author: Father Chrysostomos <[email protected]> Date: Sun Nov 16 11:17:34 2014 -0800 perldelta for #122829 / 00e40766a M pod/perldelta.pod commit 8af808bfac48ad8d0a4617de3b1f3bb66a1999ed Author: Father Chrysostomos <[email protected]> Date: Sun Nov 16 11:15:18 2014 -0800 perldelta for #121374 / a2b5b206 M pod/perldelta.pod commit 94c9bf9037efacce7593a7d64cb95218e23ce58e Author: Father Chrysostomos <[email protected]> Date: Sun Nov 16 11:13:11 2014 -0800 perldelta for #123057 / e4e95921 M pod/perldelta.pod commit cff8e04ede525c8f9636b4c47a3c1a73499dbeeb Author: Father Chrysostomos <[email protected]> Date: Sun Nov 16 11:09:24 2014 -0800 perldelta for 03d05f6e34e M pod/perldelta.pod commit 25a8e2be58e4f86d5b735dd60625b2270ff76d42 Author: Father Chrysostomos <[email protected]> Date: Sun Nov 16 11:07:29 2014 -0800 perldelta for c57eecc5 M pod/perldelta.pod commit fe609065e04c75a41a4a2daf441fbc10f395bbd6 Author: Father Chrysostomos <[email protected]> Date: Sun Nov 16 11:03:54 2014 -0800 perldelta for 82209a5 M pod/perldelta.pod commit 76acbf4f8765a3e7de84a2cb8c9bda11b7a1c63d Author: Father Chrysostomos <[email protected]> Date: Sun Nov 16 11:01:22 2014 -0800 perldelta for 25f5d5405 M pod/perldelta.pod commit d109137ee5209a6d34ddebbd3795c7428fb6c02e Author: Father Chrysostomos <[email protected]> Date: Sun Nov 16 11:00:32 2014 -0800 perldelta for ce409cc88 M pod/perldelta.pod commit 480961b603bded4a742fa6ba7d3c2741f5073edb Author: Father Chrysostomos <[email protected]> Date: Sun Nov 16 10:59:17 2014 -0800 perldelta for #122695 / 51a82aa9fb M pod/perldelta.pod commit 4a3282284d2dcbfdde4af42dcbf949f965f50264 Author: Father Chrysostomos <[email protected]> Date: Sun Nov 16 10:57:15 2014 -0800 perldelta for #122680 / e1729dc6ad M pod/perldelta.pod commit 857f4fb1c22a29afdfe39e929702476b8a82d7c5 Author: Father Chrysostomos <[email protected]> Date: Sun Nov 16 10:53:41 2014 -0800 perldelta for #123029 Inadvertently fixed by c0683843e92. Follow-up commits specific to this bug: c4a33ec [perl #123029]: add regression test a4f1ca6 state.t: Improve test for #123029 9f53080 sv.c: Always #define COW threshold constants M pod/perldelta.pod commit b7cd83328ee41452e22add8af69f68a30c17136a Author: Father Chrysostomos <[email protected]> Date: Sun Nov 16 10:43:41 2014 -0800 perldelta for fa367bcbf7 M pod/perldelta.pod ----------------------------------------------------------------------- Summary of changes: cpan/ExtUtils-Manifest/lib/ExtUtils/MANIFEST.SKIP | 3 + cpan/ExtUtils-Manifest/lib/ExtUtils/Manifest.pm | 8 +- pod/perldelta.pod | 121 ++++++++++++++++++++-- 3 files changed, 124 insertions(+), 8 deletions(-) diff --git a/cpan/ExtUtils-Manifest/lib/ExtUtils/MANIFEST.SKIP b/cpan/ExtUtils-Manifest/lib/ExtUtils/MANIFEST.SKIP index 725f84e..51f9944 100644 --- a/cpan/ExtUtils-Manifest/lib/ExtUtils/MANIFEST.SKIP +++ b/cpan/ExtUtils-Manifest/lib/ExtUtils/MANIFEST.SKIP @@ -31,6 +31,9 @@ \bBUILD.COM$ \bbuild.com$ +# and Module::Build::Tiny generated files +\b_build_params$ + # Avoid temp and backup files. ~$ \.old$ diff --git a/cpan/ExtUtils-Manifest/lib/ExtUtils/Manifest.pm b/cpan/ExtUtils-Manifest/lib/ExtUtils/Manifest.pm index ce0007b..45fd1e8 100644 --- a/cpan/ExtUtils-Manifest/lib/ExtUtils/Manifest.pm +++ b/cpan/ExtUtils-Manifest/lib/ExtUtils/Manifest.pm @@ -5,12 +5,12 @@ use Config; use File::Basename; use File::Copy 'copy'; use File::Find; -use File::Spec; +use File::Spec 0.8; use Carp; use strict; use warnings; -our $VERSION = '1.68'; +our $VERSION = '1.69'; our @ISA = ('Exporter'); our @EXPORT_OK = qw(mkmanifest manicheck filecheck fullcheck skipcheck @@ -63,6 +63,10 @@ our $DEFAULT_MSKIP = File::Spec->catfile( dirname(__FILE__), "$MANIFEST.SKIP" ); ExtUtils::Manifest - utilities to write and check a MANIFEST file +=head1 VERSION + +version 1.69 + =head1 SYNOPSIS use ExtUtils::Manifest qw(...funcs to import...); diff --git a/pod/perldelta.pod b/pod/perldelta.pod index 793cc83..a44767e 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -37,6 +37,20 @@ is now implemented on Win32. It has the same limitations as C<system LIST> on Win32, since the Win32 API doesn't accept program arguments as a list. +=head2 Assignment to list repetition + +C<(...) x ...> can now be used within a list that is assigned to, as long +as the left-hand side is a valid lvalue. This allows C<(undef,undef,$foo) += that_function()> to be written as C<((undef)x2, $foo) = that_function()>. + +=head2 C<close> now sets C<$!> + +When an I/O error occurs, the fact that there has been an error is recorded +in the handle. C<close> returns false for such a handle. Previously, the +value of C<$!> would be untouched by C<close>, so the common convention of +writing C<close $fh or die $!> did not work reliably. Now the handle +records the value of C<$!>, too, and C<close> restores it. + =head1 Security XXX Any security-related notices go here. In particular, any security @@ -110,7 +124,11 @@ There may well be none in a stable release. =item * -XXX +C<(...)x1>, C<("constant")x0> and C<($scalar)x0> are now optimised in list +context. If the right-hand argument is a constant 1, the repetition +operator disappears. If the right-hand argument is a constant 0, the whole +expressions is optimised to the empty list, so long as the left-hand +argument is a simple scalar or constant. C<(foo())x0> is not optimised. =back @@ -140,14 +158,21 @@ XXX =item * -L<IO::Socket> has been upgraded from version 1.37 to 1.38. +L<B::Deparse> has been upgraded from version 1.29 to 1.30. -Document the limitations of the isconnected() method. [perl #123096] +It now deparses C<+sub : attr { ... }> correctly at the start of a +statement. Without the initial C<+>, C<sub> would be a statement label. =item * L<DynaLoader> has been upgraded from version 1.27 to 1.28. +=item * + +L<IO::Socket> has been upgraded from version 1.37 to 1.38. + +Document the limitations of the isconnected() method. [perl #123096] + =back =head2 Removed Modules and Pragmata @@ -239,6 +264,10 @@ L<Can't do %s("%s") on non-UTF-8 locale; resolved to "%s".|perldiag/Can't do %s( =back +=item * + +L<Warning: unable to close filehandle %s properly: %s|perldiag/"Warning: unable to close filehandle %s properly: %s"> + =back =head2 Changes to Existing Diagnostics @@ -249,7 +278,11 @@ XXX Changes (i.e. rewording) of diagnostic messages go here =item * -XXX Describe change here +L<Quantifier unexpected on zero-length expression in regex mE<sol>%sE<sol>|perldiag/"Quantifier unexpected on zero-length expression in regex m/%s/">. + +This message has had the S<"<-- HERE"> marker removed, as it was always +placed at the end of the regular expression, regardless of where the +problem actually occurred. [perl #122680] =back @@ -391,6 +424,22 @@ C<screaminstr> has been removed. Although marked as public API, it is undocumented and has no usage in modern perl versions on CPAN Grep. Calling it has been fatal since 5.17.0. +=item * + +C<newDEFSVOP>, C<block_start>, C<block_end> and C<intro_my> have been added +to the API. + +=item * + +The internal C<convert> function in F<op.c> has been renamed +C<op_convert_list> and added to the API. + +=item * + +C<sv_magic> no longer forbids "ext" magic on read-only values. After all, +perl can't know whether the custom magic will modify the SV or not. +[perl #123103] + =back =head1 Selected Bug Fixes @@ -429,6 +478,59 @@ In Perl 5.20.0, C<$^N> accidentally had the internal UTF8 flag turned off if accessed from a code block within a regular expression, effectively UTF8-encoding the value. This has been fixed. [perl #123135] +=item * + +A failed C<semctl> call no longer overwrites existing items on the stack, +causing C<(semctl(-1,0,0,0))[0]> to give an "uninitialized" warning. + +=item * + +C<else{foo()}> with no space before C<foo> is now better at assigning the +right line number to that statement. [perl #122695] + +=item * + +Sometimes the assignment in C<@array = split> gets optimised and C<split> +itself writes directly to the array. This caused a bug, preventing this +assignment from being used in lvalue context. So +C<(@a=split//,"foo")=bar()> was an error. (This bug probably goes back to +Perl 3, when the optimisation was added.) This optimisation, and the bug, +started to happen in more cases in 5.21.5. It has now been fixed. +[perl #123057] + +=item * + +When argument lists that fail the checks installed by subroutine +signatures, the resulting error messages now give the file and line number +of the caller, not of the called subroutine. [perl #121374] + +=item * + +Flip-flop operators (C<..> and C<...> in scalar context) used to maintain +a separate state for each recursion level (the number of times the +enclosing sub was called recursively), contrary to the documentation. Now +each closure has one internal state for each flip-flop. [perl #122829] + +=item * + +C<use>, C<no>, statement labels, special blocks (C<BEGIN>) and pod are now +permitted as the first thing in a C<map> or C<grep> block, the block after +C<print> or C<say> (or other functions) returning a handle, and within +C<${...}>, C<@{...}>, etc. [perl #122782] + +=item * + +The repetition operator C<x> now propagates lvalue context to its left-hand +argument when used in contexts like C<foreach>. That allows +C<for(($#that_array)x2) { ... }> to work as expected if the loop modifies +$_. + +=item * + +C<(...) x ...> in scalar context used to corrupt the stack if one operand +were an object with "x" overloading, causing erratic behaviour. +[perl #121827] + =back =head1 Known Problems @@ -456,8 +558,15 @@ XSUB CV*s from going through optree CV* expecting code. =item * -XXX Add anything here that we forgot to add, or were mistaken about, in -the perldelta of a previous release. +Due to a mistake in the string-copying logic, copying the value of a state +variable could instead steal the value and undefine the variable. This +bug, introduced in 5.20, would happen mostly for long strings (1250 chars +or more), but could happen for any strings under builds with copy-on-write +disabled. [perl #123029] + +This bug was actually fixed in 5.21.5, but it was not until after that +release that this bug, and the fact that it had been fixed, were +discovered. =back -- Perl5 Master Repository
