In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/8b9712e0b77b52b04db44f78e16770283126e80a?hp=a8cecd9d25c77e0dcdb769e272dc146e1bf7afa5>

- Log -----------------------------------------------------------------
commit 8b9712e0b77b52b04db44f78e16770283126e80a
Author: Father Chrysostomos <[email protected]>
Date:   Thu Jun 7 23:48:14 2012 -0700

    perldelta for $@=3; warn

M       pod/perldelta.pod

commit 9c3080964b8766403561afa3d6e80a811e3bfb74
Author: Father Chrysostomos <[email protected]>
Date:   Thu Jun 7 23:46:18 2012 -0700

    perldelta for -$utf8

M       pod/perldelta.pod

commit a7143705c77bcb8b0ee917e0119252c6e0497008
Author: Father Chrysostomos <[email protected]>
Date:   Thu Jun 7 23:45:16 2012 -0700

    perldelta for -"-10" with gmagic

M       pod/perldelta.pod

commit 844115ec1265989c44303bcf4fb397bd03ffddab
Author: Father Chrysostomos <[email protected]>
Date:   Thu Jun 7 23:44:10 2012 -0700

    perldelta for -$str_with_cached_num

M       pod/perldelta.pod

commit e811dbaa4b8bdd619fb33941c41a8df4009994ad
Author: Father Chrysostomos <[email protected]>
Date:   Thu Jun 7 23:40:55 2012 -0700

    perldelta for numeric opts, gmg, and 64-bit ints

M       pod/perldelta.pod

commit 38d77b7f3b083e863850d44f39bed1eea7fecf62
Author: Father Chrysostomos <[email protected]>
Date:   Thu Jun 7 23:38:40 2012 -0700

    perldelta for warn gmagic fixes

M       pod/perldelta.pod

commit c0df136dcba7bcadc48498b3233c9973b4d98307
Author: Father Chrysostomos <[email protected]>
Date:   Thu Jun 7 23:35:16 2012 -0700

    perldelta for prototype($1)

M       pod/perldelta.pod

commit 2aab098d094cf0a7b13c627bc17b14c3191d8c78
Author: Father Chrysostomos <[email protected]>
Date:   Thu Jun 7 23:31:39 2012 -0700

    perldelta for open, <&, and $1

M       pod/perldelta.pod

commit 6fe02df8da7dca8a55a73e06b8cbd6926e256acb
Author: Father Chrysostomos <[email protected]>
Date:   Thu Jun 7 23:28:42 2012 -0700

    perldelta for UNIVERSAL::can($num,...)

M       pod/perldelta.pod

commit 8dffc0ab19d358b2f5510c0e7f1b3ed435e26cd9
Author: Father Chrysostomos <[email protected]>
Date:   Thu Jun 7 23:25:39 2012 -0700

    perldelta for ‘Not a format ref’

M       pod/perldelta.pod

commit fbdb83f33ea2c8d5f42aa4ca98fb8d8499928e05
Author: Father Chrysostomos <[email protected]>
Date:   Thu Jun 7 23:23:19 2012 -0700

    perldelta for B::COP::stashpv and utf8/nulls

M       pod/perldelta.pod

commit 5cefbec95ac656e7b8937930e60e9e3761e77865
Author: Father Chrysostomos <[email protected]>
Date:   Thu Jun 7 23:22:41 2012 -0700

    perldelta for B::COP::stashoff

M       pod/perldelta.pod

commit b16ca463545a377fa963a7dd744ac3107716a142
Author: Father Chrysostomos <[email protected]>
Date:   Thu Jun 7 23:20:52 2012 -0700

    perldelta for caller crashing on SvOOK str

M       pod/perldelta.pod

commit f8ef51fd631e602b4f4486d4e6d1bed39e67e32e
Author: Father Chrysostomos <[email protected]>
Date:   Thu Jun 7 23:17:22 2012 -0700

    perldelta for cop_stashoff

M       pod/perldelta.pod

commit 9b9df0bb45b64fe50e68919dfc48b7dff50be88b
Author: Father Chrysostomos <[email protected]>
Date:   Thu Jun 7 20:02:19 2012 -0700

    perldelta for #78742 — eval "__PACKAGE__"

M       pod/perldelta.pod

commit a1d2df3641d7e45ed98a44531d0e09c561888885
Author: Father Chrysostomos <[email protected]>
Date:   Thu Jun 7 19:54:36 2012 -0700

    perldelta: fix pod syntax

M       pod/perldelta.pod

commit d8816adcc1ea49c4bdcf10f3bf33f286d703d5df
Author: Father Chrysostomos <[email protected]>
Date:   Thu Jun 7 18:01:07 2012 -0700

    perldelta for rv2cv not cloning closures

M       pod/perldelta.pod

commit 4a3013099e71fa1d96439c5f3c8b3478f9e34659
Author: Father Chrysostomos <[email protected]>
Date:   Thu Jun 7 16:14:18 2012 -0700

    perldelta for ‘Runaway prototype’ removal

M       pod/perldelta.pod

commit b7e9bef4379136a8cd73d18396b4c10e296765aa
Author: Father Chrysostomos <[email protected]>
Date:   Thu Jun 7 16:12:49 2012 -0700

    perldelta for study code removal

M       pod/perldelta.pod

commit b6d5888cfa3eedfc571114295b1acf1f6897bf2a
Author: Father Chrysostomos <[email protected]>
Date:   Thu Jun 7 16:10:36 2012 -0700

    perldelta for #113060

M       pod/perldelta.pod

commit b9dc63e8207866cc1806bbc6c468c79f653a92df
Author: Father Chrysostomos <[email protected]>
Date:   Thu Jun 7 15:59:59 2012 -0700

    perldelta for #97478

M       pod/perldelta.pod

commit d9661073524de014d39261b9b89b24bd9771ee77
Author: Father Chrysostomos <[email protected]>
Date:   Thu Jun 7 14:57:06 2012 -0700

    perldelta tweaks

M       pod/perldelta.pod

commit 028c87190db1b7d7f24f04c37dbd734b73e6dcef
Author: Father Chrysostomos <[email protected]>
Date:   Thu Jun 7 14:56:32 2012 -0700

    perldelta for new coresubs

M       pod/perldelta.pod

commit 4d219cc294919c4718440e6420749e385ed9a2a2
Author: Father Chrysostomos <[email protected]>
Date:   Thu Jun 7 10:02:29 2012 -0700

    perldelta for #111782

M       pod/perldelta.pod

commit d67d4c0ef3de0aa73bbe7f136218b4361b72d706
Author: Father Chrysostomos <[email protected]>
Date:   Thu Jun 7 09:57:28 2012 -0700

    perldelta for #76546

M       pod/perldelta.pod

commit 701da2e9c0c46f4ed842533c8eb007a62b40d8d2
Author: Father Chrysostomos <[email protected]>
Date:   Thu Jun 7 09:44:57 2012 -0700

    perldelta for #9423

M       pod/perldelta.pod

commit c506fc7e26db316f8ae371f8a9854eef1e2e090b
Author: Father Chrysostomos <[email protected]>
Date:   Thu Jun 7 09:42:24 2012 -0700

    perldelta for #111510

M       pod/perldelta.pod

commit dc5c17b5ed9cd51878c60e51fe38e6cb00b54f4c
Author: Father Chrysostomos <[email protected]>
Date:   Wed Jun 6 15:55:16 2012 -0700

    cop.h: Clarify comment

M       cop.h
-----------------------------------------------------------------------

Summary of changes:
 cop.h             |    3 +-
 pod/perldelta.pod |  165 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 2 files changed, 163 insertions(+), 5 deletions(-)

diff --git a/cop.h b/cop.h
index 9f3762e..af98965 100644
--- a/cop.h
+++ b/cop.h
@@ -387,7 +387,8 @@ struct cop {
     line_t      cop_line;       /* line # of this command */
     /* label for this construct is now stored in cop_hints_hash */
 #ifdef USE_ITHREADS
-    PADOFFSET  cop_stashoff;   /* package line was compiled in */
+    PADOFFSET  cop_stashoff;   /* offset into PL_stashpad, for the
+                                  package the line was compiled in */
     char *     cop_file;       /* file name the following line # is from */
 #else
     HV *       cop_stash;      /* package line was compiled in */
diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index afa6406..808146c 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -28,6 +28,18 @@ here, but most should go in the L</Performance Enhancements> 
section.
 
 [ List each enhancement as a =head2 entry ]
 
+=head2 More CORE:: subs
+
+Several more built-in functions have been added as subroutines to the
+CORE:: namespace, namely, those non-overridable keywords that can be
+implemented without custom parsers: C<defined>, C<delete>, C<exists>,
+C<glob>, C<pos>, C<protoytpe>, C<scalar>, C<split>, C<study>, C<undef>,
+
+As some of these have prototypes, C<prototype('CORE::...')> has been
+changed not to make a distinction between overridable and non-overridable
+keywords.  This is to make C<prototype('CORE::pos')> consistent with
+C<prototype(&CORE::pos)>.
+
 =head1 Security
 
 XXX Any security-related notices go here.  In particular, any security
@@ -110,15 +122,37 @@ make use of them.
 
 =item *
 
+L<B> has been upgraded from version 1.35 to 1.36.
+
+C<B::COP::stashlen> has been replaced with C<B::COP::stashoff>.
+
+C<B::COP::stashpv> now supports UTF8 package names and embedded nulls.
+
+=item *
+
+L<ExtUtils::CBuilder> has been upgraded from version 0.280206 to 0.280208.
+
+It no longer fails when trying to embed manifests on Windows
+[perl #111782, #111798].
+
+=item *
+
 L<File::DosGlob> has been upgraded from version 1.07 to 1.08.
 
 There are no visible changes, only minor internal refactorings.
 
 =item *
 
-L<IO> has been upgraded from version 1.25_06 to version 1.25_07.
+L<File::Spec::Unix> has been upgraded from version 3.39_02 to 3.39_03.
+
+C<abs2rel> could produce incorrect results when given two relative paths or
+the root directory twice [perl #111510].
+
+=item *
+
+L<IO> has been upgraded from version 1.25_06 to 1.25_07.
 
-C<sync()> can now be called on read only file handles [perl #64772].
+C<sync()> can now be called on read-only file handles [perl #64772].
 
 =item *
 
@@ -129,7 +163,8 @@ does nothing other than issue a warning that it is no 
longer supported.
 
 =item *
 
-L<Unicode::UCD> has been upgraded from version 0.43 to version 0.44.
+L<Unicode::UCD> has been upgraded from version 0.43 to 0.44.
+
 This adds a function L<all_casefolds()|Unicode::UCD/all_casefolds()>
 that returns all the casefolds.
 
@@ -227,6 +262,22 @@ XXX Describe change here
 
 =back
 
+=head2 Removals of Diagnostics
+
+=over 4
+
+=item *
+
+The "Runaway prototype" warning that occurs in bizarre cases has been
+removed as being unhelpful and inconsistent.
+
+=item *
+
+The "Not a format reference" error has been removed, as the only case in
+which it could be triggered was a bug.
+
+=back
+
 =head1 Utility Changes
 
 XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go
@@ -343,7 +394,16 @@ be noted as well.
 
 =item *
 
-XXX
+The C<study> function was made a no-op in 5.16.  It was simply disabled via
+a C<return> statement; the code was left in place.  Now the code supporting
+what C<study> used to do has been removed.
+
+=item *
+
+Under threaded perls, there is no longer a separate PV allocated for every
+COP to store its package name (C<< cop->stashpv >>).  Instead, there is an
+offset (C<< cop->stashoff >>) into the new C<PL_stashpad> array, which
+holds stash pointers.
 
 =back
 
@@ -364,6 +424,103 @@ far.  In v5.16, it worked on Unicodes 6.0 and 6.1, but 
there were
 various bugs for earlier releases; the older the release the more
 problems.
 
+=item *
+
+C<vec> no longer produces "uninitialized" warnings in lvalue context
+[perl #9423].
+
+=item *
+
+An optimisation involving fixed strings in regular expressions could cause
+a severe performance penalty in edge cases.  This has been fixed
+[perl #76546].
+
+=item *
+
+The "Can't find an opnumber" message that C<prototype> produces when passed
+a string like "CORE::nonexistent_keyword" is now passes UTF8 and embedded
+nulls through unchanged [perl #97478].
+
+=item *
+
+C<prototype> now treats magical variables like C<$1> the same way as
+non-magical variables when checking for the CORE:: prefix, instead of
+treating them as subroutine names.
+
+=item *
+
+Under threaded perls, a run-time code block in a regular expression could
+corrupt the package name stored in the op tree, resulting in bad reads
+in C<caller>, and possibly crashes [perl #113060].
+
+=item *
+
+Referencing a closure prototype (C<\&{$_[1]}> in an attribute handler for a
+closure) no longer results in a copy of the subroutine (or assertion
+failures on debugging builds).
+
+=item *
+
+C<eval '__PACKAGE__'> now returns the right answer on threaded builds if
+the current package has been assigned over (as in
+C<*ThisPackage:: = *ThatPackage::>) [perl #78742].
+
+=item *
+
+If a package is deleted by code that it calls, it is possible for C<caller>
+to see a stack frame belonging to that deleted package.  C<caller> could
+crash if the stash's memory address was reused for a scalar and a
+substitution was performed on the same scalar [perl #113486].
+
+=item *
+
+C<UNIVERSAL::can> no longer treats its first argument differently
+depending on whether it is a string or number internally.
+
+=item *
+
+C<open> with "<&" for the mode checks to see whether the third argument is
+a number, in determining whether to treat it as a file descriptor or a
+handle name.  Magical variables like C<$1> were always failing the numeric
+check and being treated as handle names.
+
+=item *
+
+C<warn>'s handling of magical variables (C<$1>, ties) has undergone several
+fixes.  FETCH is only called once now on a tied argument or a tied C<$@>
+[perl #97480].  Tied variables returning objects that stringify as "" are
+no longer ignored.  A tied C<$@> that happened to return a reference the
+I<previous> time is was used is no longer ignored.
+
+=item *
+
+C<warn ""> now treats C<$@> with a number in it the same way, regardless of
+whether it happened via C<$@=3> or C<$@="3">.  It used to ignore the
+former.  Now it appends "\t...caught", as it has always done with
+C<$@="3">.
+
+=item *
+
+Numeric operators on magical variables (e.g., S<C<$1 + 1>>) used to use
+floating point operations even where integer operations were more appropriate, 
resulting in loss of accuracy on 64-bit platforms
+[perl #109542].
+
+=item *
+
+Unary negation no longer treats a string as a number if the string happened
+to be used as a number some time.  So, if $x contains the string "dogs",
+C<-$x> returns "-dogs" even if C<$y=0+$x> has happened at some point.
+
+=item *
+
+In Perl 5.14, C<-'-10'> was fixed to return "10", not "+10".  But magical
+variables (C<$1>, ties) were not fixed till now [perl #57706].
+
+=item *
+
+Unary negation now treats strings consistently, regardless of the internal
+UTF8 flag.
+
 =back
 
 =head1 Known Problems

--
Perl5 Master Repository

Reply via email to