In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/0cb3abac7ce8e46384e09eaa26fafa0af738ad61?hp=c62e754c9aa399aa832a4bebf95b9ce8d3f119b2>

- Log -----------------------------------------------------------------
commit 0cb3abac7ce8e46384e09eaa26fafa0af738ad61
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Oct 12 23:22:39 2014 -0700

    perldelta for 73f4c4f

M       pod/perldelta.pod

commit f704f251cfe7f2359e96542b453199aa2dbb283b
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Oct 12 23:20:27 2014 -0700

    perldelta for 987c969

M       pod/perldelta.pod

commit db98db4eec526ca512c91ad63b23b42f5b0a433d
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Oct 12 23:17:44 2014 -0700

    perldelta for afc8007

M       pod/perldelta.pod

commit 357205d57da1ca4f15ebb6d7f0d16d57d277c350
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Oct 12 23:16:35 2014 -0700

    perldelta for split-to-array
    
    4ecee20 op.c: Distangle split and common-vars
    fd017c0 Optimise @lexarray = split...
    ef7999f Optimise my(@array)=split
    4574270 opt.t: Test split-to-array optimisation

M       pod/perldelta.pod

commit 7646b3d559dd087307048fb06a720db9ba4d835f
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Oct 12 23:11:16 2014 -0700

    perldelta for 821956c

M       pod/perldelta.pod

commit 852ef7e9fcf87b553a9dfb5a000f69333b03e82f
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Oct 12 23:08:58 2014 -0700

    perldelta for de183bb

M       pod/perldelta.pod

commit c3f18a8fba62685932d1f14d004af6e3022824b7
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Oct 12 23:06:23 2014 -0700

    perldelta for bcff414

M       pod/perldelta.pod

commit f03d0d50f4ee5a017d1ba8df0d76d6bc24348186
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Oct 12 23:05:47 2014 -0700

    perldelta for deparsing with CORE:: prefix
    
    3188a82 Deparse with CORE:: to avoid lex sub conflicts
    e54915d Deparse sub calls quietly
    7741cee Finish deparsing ‘my sub if; CORE::if...’

M       pod/perldelta.pod

commit dbe3c92904b599361e37437d7d022b61ffae9a29
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Oct 12 23:02:05 2014 -0700

    perldelta for a21eb52

M       pod/perldelta.pod

commit c1662923fd698c3467e36017e0b303046f173e13
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Oct 12 23:00:40 2014 -0700

    perldelta for 4c62787/#122771

M       pod/perldelta.pod

commit 325f4225173fcd0e77660053a1f23fcd8d27020b
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Oct 12 22:57:50 2014 -0700

    perldelta for f8a7cce and 88a758b

M       pod/perldelta.pod

commit 4a9fafe535362d8998119d8bffd8357c27589401
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Oct 12 22:56:11 2014 -0700

    perldelta for 2258401

M       pod/perldelta.pod

commit 4e3e9c07274790d43052247ed0a945f075d79641
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Oct 12 19:39:36 2014 -0700

    perldelta for f351564 and 5f4d849

M       pod/perldelta.pod

commit 432450d22530af72b40c3f2345ff284edf5701b1
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Oct 12 19:39:09 2014 -0700

    perldelta for c8ec376

M       pod/perldelta.pod

commit 14937635ba7fceed2a3b3256fce1d21c70b31abe
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Oct 12 19:28:52 2014 -0700

    perldelta for c997e36 and 6bd144e0f

M       pod/perldelta.pod

commit 4cad5dc893fce4ae73aa135242e65adfc26be579
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Oct 12 18:11:48 2014 -0700

    perldelta for 157fb5a

M       pod/perldelta.pod

commit 5058ae7498de9449cddc628aae9954db72e1c9d7
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Oct 12 18:09:10 2014 -0700

    perldelta for 1e9a122

M       pod/perldelta.pod

commit 02dde54385cd5b9ccc67cf0125a8058fb40bd335
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Oct 12 18:07:12 2014 -0700

    perldelta for 8fb0127

M       pod/perldelta.pod

commit eed77337e6194bb1a9dc8bede8c14a69f47d793f
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Oct 12 18:05:45 2014 -0700

    Update perlguts for PADMY changes

M       pod/perlguts.pod

commit eee3e3021df1a54fbbae497b1d1c817aa9f2fc29
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Oct 12 18:04:38 2014 -0700

    perlguts typo

M       pod/perlguts.pod

commit 8e2708f3a2d07628739cf7e85786306cb07a34ee
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Oct 12 18:02:44 2014 -0700

    perldelta for PADMY changes
    
    145bf8e Remove most uses of PADMY
    a9f1090 Peek.t should not expect PADMY under 5.21.5
    c068384 Stop setting PADMY; renumber PADSTALE

M       pod/perldelta.pod

commit 8405c65d644b2709c555cb6ec75feb1e1bb10d39
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Oct 12 18:01:19 2014 -0700

    perldelta for ecf05a5

M       pod/perldelta.pod

commit 8f4983af649ac4874f565aaa7a3f930e3aa7551c
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Oct 12 17:58:32 2014 -0700

    B: Document GPFLAGS

M       ext/B/B.pm

commit 24d3d8cd6cd32bf0c6abd8ade38c92a571f09059
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Oct 12 17:56:22 2014 -0700

    perldelta for 14d9114

M       pod/perldelta.pod

commit 94959c633a6b4a4064eb26a8358a7808ae11b8ee
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Oct 12 14:56:46 2014 -0700

    perldelta for 926f5fc

M       pod/perldelta.pod

commit 227d08c866241e7c3b61e93d1fc36c0e4b6c188a
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Oct 12 14:53:29 2014 -0700

    perldelta for a623f8939

M       pod/perldelta.pod
-----------------------------------------------------------------------

Summary of changes:
 ext/B/B.pm        |   4 ++
 pod/perldelta.pod | 116 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 pod/perlguts.pod  |   6 ++-
 3 files changed, 122 insertions(+), 4 deletions(-)

diff --git a/ext/B/B.pm b/ext/B/B.pm
index 8388541..b51e7f5 100644
--- a/ext/B/B.pm
+++ b/ext/B/B.pm
@@ -906,6 +906,10 @@ If you're working with globs at runtime, and need to 
disambiguate
 
 =item FLAGS
 
+=item GPFLAGS
+
+This last one is present only in perl 5.22.0 and higher.
+
 =back
 
 =head2 B::IO Methods
diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index 924e208..276498b 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -27,6 +27,12 @@ here, but most should go in the L</Performance Enhancements> 
section.
 
 [ List each enhancement as a =head2 entry ]
 
+=head2 New double-diamond operator
+
+C<<< <<>>> >>> is like C<< <> >> but uses three-argument C<open> to open
+each file in @ARGV.  So each element of @ARGV is an actual file name, and
+"|foo" won't be treated as a pipe open.
+
 =head2 Perl now supports POSIX 2008 locale currency additions.
 
 On platforms that are able to handle POSIX.1-2008, the
@@ -129,6 +135,26 @@ Non-magical/non-tied scalars that contain only a floating 
point value and are
 on most Perl builds with 64 bit integers now use 8-32 less bytes of memory
 depending on OS.
 
+=item *
+
+In C<@array = split>, the assigment can be optimised away with C<split>
+writing directly to the array.  This optimisation was happening only for
+package arrays other than @_ and only if the argument to split was an
+explicit constant or scalar other than $_.  Now this optimisation happens
+almost all the time.
+
+=item *
+
+C<join> is now subject to constant folding.  Moreover, C<join> with a
+scalar or constant for the separator and a single-item list to join is
+simplified to a stringification.  The separator doesn't even get evaluated.
+
+=item *
+
+C<qq(@array)> is implemented using two ops: a stringify op and a join op.
+If the qq contains nothing but a single array, the stringification is
+optimised away.
+
 =back
 
 =head1 Modules and Pragmata
@@ -163,6 +189,29 @@ Avoid reading beyond the end of a buffer. [perl #122629]
 
 =item *
 
+L<B::Deparse> has been upgraded from version 1.28 to 1.29.
+
+Parenthesised arrays in lists passed to C<\> are now correctly deparsed
+with parentheses (e.g., C<\(@a, (@b), @c)> now retains the parentheses
+around @b), this preserving the flattening behaviour of referenced
+parenthesised arrays.  Formerly, it only worked for one array: C<\(@a)>.
+
+C<local our> is now deparsed correctly, with the C<our> included.
+
+C<for($foo; !$bar; $baz) {...}> was deparsed without the C<!> (or C<not>).
+This has been fixed.
+
+Core keywords that conflict with lexical subroutines are now deparsed with
+the C<CORE::> prefix.
+
+C<foreach state $x (...) {...}> now deparses correctly with C<state> and
+not C<my>.
+
+C<our @array = split(...)> now deparses correctly with C<our> in those
+cases where the assignment is optimised away.
+
+=item *
+
 L<DynaLoader> has been upgraded from version 1.26 to 1.27.
 
 Remove dl_nonlazy global if unused in Dynaloader. [perl #122926]
@@ -274,7 +323,8 @@ XXX Changes (i.e. rewording) of diagnostic messages go here
 
 =item *
 
-XXX Describe change here
+'"my" variable &foo::bar can't be in a package' has been reworded to say
+'subroutine' instead of 'variable'.
 
 =back
 
@@ -418,6 +468,18 @@ C<Perl_tmps_grow> which is marked as public API but 
undocumented has been
 removed from public API. If you use C<EXTEND_MORTAL> macro in your XS code to
 preextend the mortal stack, you are unaffected by this change.
 
+=item *
+
+C<cv_name>, which was introduced in 5.21.4, has been changed incompatibly.
+It now has a flags field that allows the caller to specify whether the name
+should be fully qualified.  See L<perlapi/cv_name>.
+
+=item *
+
+Internally Perl no longer uses the C<SVs_PADMY> flag.  C<SvPADMY()> now
+returns a true value for anything not marked PADTMP.  C<SVs_PADMY> is now
+defined as 0.
+
 =back
 
 =head1 Selected Bug Fixes
@@ -431,7 +493,57 @@ files in F<ext/> and F<lib/> are best summarized in 
L</Modules and Pragmata>.
 
 =item *
 
-XXX
+Locking and unlocking values via L<Hash::Util> or C<Internals::SvREADONLY>
+no longer has any affect on values that are read-only to begin.  Unlocking
+such values could result in crashes, hangs or other erratic behaviour.
+
+=item *
+
+The internal C<looks_like_number> function (which L<Scalar::Util> provides
+access to) began erroneously to return true for "-e1" in 5.21.4, affecting
+also C<-'-e1'>.  This has been fixed.
+
+=item *
+
+The flip-flop operator (C<..> in scalar context) would return the same
+scalar each time, unles the containing subroutine was called recursively.
+Now it always returns a new scalar.  [perl #122829]
+
+=item *
+
+Some unterminated C<(?(...)...)> constructs in regular expressions would
+either crash or give erroneous error messages.  C</(?(1)/> is one such
+example.
+
+=item *
+
+C<pack "w", $tied> no longer calls FETCH twice.
+
+=item *
+
+List assignments like C<($x, $z) = (1, $y)> now work correctly if $x and $y
+have been aliased by C<foreach>.
+
+=item *
+
+Some patterns including code blocks with syntax errors, such as
+C</ (?{(^{})/>, would hang or fail assertions on debugging builds.  Now
+they produce errors.
+
+=item *
+
+An assertion failure when parsing C<sort> with debugging enabled has been
+fixed.  [perl #122771]
+
+=item *
+
+C<*a = *b; @a = split //, $b[1]> could do a bad read and produce junk
+results.
+
+=item *
+
+In C<() = @array = split>, the C<() => at the beginning no longer confuses
+the optimiser, making it assume a limit of 1.
 
 =back
 
diff --git a/pod/perlguts.pod b/pod/perlguts.pod
index ab2885d..e9aba64 100644
--- a/pod/perlguts.pod
+++ b/pod/perlguts.pod
@@ -1770,10 +1770,12 @@ A scratchpad keeps SVs which are lexicals for the 
current unit and are
 targets for opcodes.  A previous version of this document
 stated that one can deduce that an SV lives on a scratchpad
 by looking on its flags: lexicals have C<SVs_PADMY> set, and
-I<target>s have C<SVs_PADTMP> set.  But this have never been fully true.
+I<target>s have C<SVs_PADTMP> set.  But this has never been fully true.
 C<SVs_PADMY> could be set on a variable that no longer resides in any pad.
 While I<target>s do have C<SVs_PADTMP> set, it can also be set on variables
-that have never resided in a pad, but nonetheless act like I<target>s.
+that have never resided in a pad, but nonetheless act like I<target>s.  As
+of perl 5.21.5, the C<SVs_PADMY> flag is no longer used and is defined as
+0.  C<SvPADMY()> now returns true for anything without C<SVs_PADTMP>.
 
 The correspondence between OPs and I<target>s is not 1-to-1.  Different
 OPs in the compile tree of the unit can use the same target, if this

--
Perl5 Master Repository

Reply via email to