In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/75484d6bb1409577211ab22358d6ca9ad2b9c21c?hp=984730495a07ed8cbe2958b05c20564fd24321e2>
- Log ----------------------------------------------------------------- commit 75484d6bb1409577211ab22358d6ca9ad2b9c21c Author: Father Chrysostomos <[email protected]> Date: Mon Sep 27 06:21:53 2010 -0700 Version bump and perldelta for Carp M lib/Carp.pm M pod/perldelta.pod commit 7154346bc9cb62d058f942090edfc5fc4d1e956a Author: Aaron Crane <[email protected]> Date: Mon Sep 27 12:02:01 2010 +0100 [perl #78082] Carp.pm: Avoid autovivification of CORE::GLOBAL::caller And add a test to prevent this happening again. M lib/Carp.pm M lib/Carp.t ----------------------------------------------------------------------- Summary of changes: lib/Carp.pm | 5 +++-- lib/Carp.t | 9 +++++++-- pod/perldelta.pod | 8 ++++++++ 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/lib/Carp.pm b/lib/Carp.pm index 0e9105a..4b3f4f6 100644 --- a/lib/Carp.pm +++ b/lib/Carp.pm @@ -1,6 +1,6 @@ package Carp; -our $VERSION = '1.18'; +our $VERSION = '1.19'; our $MaxEvalLen = 0; our $Verbose = 0; @@ -86,7 +86,8 @@ sub caller_info { @DB::args = (); # Don't let anyone see the address of $i local $@; my $where = eval { - my $gv = B::svref_2object(\&CORE::GLOBAL::caller)->GV; + my $func = defined &{"CORE::GLOBAL::caller"} ? \&{"CORE::GLOBAL::caller"} : return ''; + my $gv = B::svref_2object($func)->GV; my $package = $gv->STASH->NAME; my $subname = $gv->NAME; return unless defined $package && defined $subname; diff --git a/lib/Carp.t b/lib/Carp.t index 1c59987..8240cd3 100644 --- a/lib/Carp.t +++ b/lib/Carp.t @@ -11,9 +11,14 @@ my $Is_VMS = $^O eq 'VMS'; use Carp qw(carp cluck croak confess); -plan tests => 56; +BEGIN { + plan tests => 56; -ok 1; + # This test must be run at BEGIN time, because code later in this file + # sets CORE::GLOBAL::caller + ok !exists $CORE::GLOBAL::{caller}, + "Loading doesn't create CORE::GLOBAL::caller" +} { local $SIG{__WARN__} = sub { like $_[0], qr/ok (\d+)\n at.+\b(?i:carp\.t) line \d+$/, 'ok 2\n' }; diff --git a/pod/perldelta.pod b/pod/perldelta.pod index d461e61..a5ed058 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -169,6 +169,14 @@ XXX =item * +C<Carp> has been upgraded from version 1.18 to 1.19. + +It no longer autovivifies the C<*CORE::GLOBAL::caller> glob, something it +started doing in 1.18, which was released with perl 5.13.4 +L<[perl #78082]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=78082> + +=item * + C<Data::Dumper> has been upgraded from version 2.128 to 2.129. C<Dumpxs> no longer crashes with globs returned by C<*$io_ref> -- Perl5 Master Repository
