In perl.git, the branch blead has been updated

<https://perl5.git.perl.org/perl.git/commitdiff/78a643379185d2a728ff615b2a20bee0c66f9d4b?hp=498b84842835faa317bd30ea8a865ecb85dda258>

- Log -----------------------------------------------------------------
commit 78a643379185d2a728ff615b2a20bee0c66f9d4b
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Wed Nov 1 13:59:05 2017 -0700

    Increase $Carp::Heavy::VERSION to 1.44

commit f12efe04b38a481959bf3e032bdabd77c32abddc
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Wed Nov 1 13:13:00 2017 -0700

    Increase $Carp::VERSION to 1.44

commit b3937e202aaf10c2f8996e2993c880bb38a7a268
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Wed Nov 1 13:11:27 2017 -0700

    Carp: Don’t choke on ISA constant
    
    This broke some time between 1.29 (perl 5.18) and 1.3301 (perl 5.20):
    
    $ perl5.20.1 -e 'package Foo { use constant ISA => 42; Bar::f() } package 
Bar { use Carp; sub f { carp "tun syn" } }'
    Not a GLOB reference at /usr/local/lib/perl5/5.20.1/Carp.pm line 560.
    
    and still persisted in bleadperl (Carp 1.43) until this commit.
    
    The code that goes poking through the symbol table needs to take into
    account that not all stash elements are globs.

commit 28e6a224ef79c1dd15a21ca9219838086e3df115
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Tue Oct 31 22:18:10 2017 -0700

    customized.dat: Add generator note
    
    So that people like me who do not do this very often can see just
    by looking at the file how it got generated.

commit cc851c4b38a5e51a2c6b719e6d60e9a14fa0268e
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Tue Oct 31 22:12:42 2017 -0700

    Porting/Maintainers.pl: vutil.c is no longer CUSTOMIZED

commit 817794ed06753164373b1e73a0e98e885b1274ed
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Tue Oct 31 22:02:49 2017 -0700

    Revert "vutil.c: use new SvPVCLEAR and constant string friendly macros"
    
    This reverts commit 7394beb1401a6ac5e5e19cff7f08486e5141126c.
    
    This change to vutil.c is unnecessary and makes it differ needlessly
    from the CPAN release (CPAN *is* upstream for this file), making syn-
    chronisation harder.

-----------------------------------------------------------------------

Summary of changes:
 Porting/Maintainers.pl      |  1 -
 dist/Carp/lib/Carp.pm       |  5 +++--
 dist/Carp/lib/Carp/Heavy.pm |  2 +-
 dist/Carp/t/Carp.t          | 13 ++++++++++++-
 t/porting/customized.dat    |  8 +++++---
 t/porting/customized.t      |  6 ++++++
 vutil.c                     |  8 ++++----
 7 files changed, 31 insertions(+), 12 deletions(-)

diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl
index a96e7527fe..2fd88cceba 100755
--- a/Porting/Maintainers.pl
+++ b/Porting/Maintainers.pl
@@ -1251,7 +1251,6 @@ use File::Glob qw(:case);
         # only necessary with the CPAN release.
         'CUSTOMIZED'   => [
             qw( lib/version.pm
-                vutil.c
                 vxs.inc
                 ),
         ],
diff --git a/dist/Carp/lib/Carp.pm b/dist/Carp/lib/Carp.pm
index 6127b26f54..623558aada 100644
--- a/dist/Carp/lib/Carp.pm
+++ b/dist/Carp/lib/Carp.pm
@@ -116,7 +116,7 @@ BEGIN {
        ;
 }
 
-our $VERSION = '1.43';
+our $VERSION = '1.44';
 $VERSION =~ tr/_//d;
 
 our $MaxEvalLen = 0;
@@ -593,7 +593,8 @@ sub trusts_directly {
     for my $var (qw/ CARP_NOT ISA /) {
         # Don't try using the variable until we know it exists,
         # to avoid polluting the caller's namespace.
-        if ( $stash->{$var} && *{$stash->{$var}}{ARRAY} && @{$stash->{$var}} ) 
{
+        if ( $stash->{$var} && ref \$stash->{$var} eq 'GLOB'
+          && *{$stash->{$var}}{ARRAY} && @{$stash->{$var}} ) {
            return @{$stash->{$var}}
         }
     }
diff --git a/dist/Carp/lib/Carp/Heavy.pm b/dist/Carp/lib/Carp/Heavy.pm
index 4b8cbe1b94..84b1106545 100644
--- a/dist/Carp/lib/Carp/Heavy.pm
+++ b/dist/Carp/lib/Carp/Heavy.pm
@@ -2,7 +2,7 @@ package Carp::Heavy;
 
 use Carp ();
 
-our $VERSION = '1.43';
+our $VERSION = '1.44';
 $VERSION =~ tr/_//d;
 
 # Carp::Heavy was merged into Carp in version 1.12.  Any mismatched versions
diff --git a/dist/Carp/t/Carp.t b/dist/Carp/t/Carp.t
index 65daed7c6c..b1e399d143 100644
--- a/dist/Carp/t/Carp.t
+++ b/dist/Carp/t/Carp.t
@@ -3,7 +3,7 @@ no warnings "once";
 use Config;
 
 use IPC::Open3 1.0103 qw(open3);
-use Test::More tests => 67;
+use Test::More tests => 68;
 
 sub runperl {
     my(%args) = @_;
@@ -488,6 +488,17 @@ SKIP:
     );
 }
 
+{
+    package Mpar;
+    sub f { Carp::croak "tun syn" }
+
+    package Phou;
+    $Phou::{ISA} = \42;
+    eval { Mpar::f };
+}
+like $@, qr/tun syn/, 'Carp can handle non-glob ISA stash elems';
+
+
 # New tests go here
 
 # line 1 "XA"
diff --git a/t/porting/customized.dat b/t/porting/customized.dat
index 4c49a767bf..3787dfa19b 100644
--- a/t/porting/customized.dat
+++ b/t/porting/customized.dat
@@ -1,3 +1,6 @@
+# Regenerate this file using:
+#     cd t
+#     ./perl -I../lib porting/customized.t --regen
 Devel::PPPort dist/Devel-PPPort/parts/embed.fnc 
e030719d9c6921810554a8e2d398543348b4878c
 Digest cpan/Digest/Digest.pm 43f7f544cb11842b2f55c73e28930da50774e081
 Locale::Maketext::Simple 
cpan/Locale-Maketext-Simple/lib/Locale/Maketext/Simple.pm 
57ed38905791a17c150210cd6f42ead22a7707b6
@@ -5,11 +8,11 @@ Math::Complex cpan/Math-Complex/lib/Math/Complex.pm 
198ea6c6c584f5ea79a0fd7e9d41
 Math::Complex cpan/Math-Complex/t/Complex.t 
4f307ed6fc59f1e5fb0e6b11103fc631b6bdb335
 Math::Complex cpan/Math-Complex/t/Trig.t 
2682526e23a161d54732c2a66393fe4a234d1865
 Memoize cpan/Memoize/Memoize.pm 902092ff91cdec9c7b4bd06202eb179e1ce26ca2
+NEXT cpan/NEXT/lib/NEXT.pm 2c83d03ee361816e53ccb931137d314ab878d19f
+NEXT cpan/NEXT/t/next.t 66fd60eb0f75b6f3eea95d1dee745f9a7a348146
 Net::Ping dist/Net-Ping/t/000_load.t deff5dc2ca54dae28cb19d3631427db127279ac2
 Net::Ping dist/Net-Ping/t/001_new.t 90c9d63509b3efc8941449fbd1ca8b807fa42040
 Net::Ping dist/Net-Ping/t/500_ping_icmp.t 
a003daa5eaf215e58234786bb1fbfbebf669bf44
-NEXT cpan/NEXT/lib/NEXT.pm 2c83d03ee361816e53ccb931137d314ab878d19f
-NEXT cpan/NEXT/t/next.t 66fd60eb0f75b6f3eea95d1dee745f9a7a348146
 Pod::Checker cpan/Pod-Checker/t/pod/contains_bad_pod.xr 
73538fd80dfe6e19ad561fe034009b44460208f6
 Pod::Checker cpan/Pod-Checker/t/pod/selfcheck.t 
8ce3cfd38e4b9bcf5bc7fe7f2a14195e49aed7d8
 Pod::Checker cpan/Pod-Checker/t/pod/testcmp.pl 
a0cd5c8eca775c7753f4464eee96fa916e3d8a16
@@ -22,5 +25,4 @@ perlfaq cpan/perlfaq/lib/perlfaq5.pod 
bcc1b6af3b6dff3973643acf8d5e741463374123
 perlfaq cpan/perlfaq/lib/perlfaq8.pod bffbc0c8fa828aead24e0891a5e789369a8e0743
 podlators pod/perlpodstyle.pod c6500c9950b46e8228d4adbc09a3ee2ef23de2d0
 version cpan/version/lib/version.pm bee369df1bd84e09107a90d72ec12c38bcb97cce
-version vutil.c 7aaa76516123ced7445abe3a015c58007854be85
 version vxs.inc 8498104713e5ce189602dda55dca38bee780c297
diff --git a/t/porting/customized.t b/t/porting/customized.t
index 5c3739198c..d425e5b775 100644
--- a/t/porting/customized.t
+++ b/t/porting/customized.t
@@ -74,10 +74,16 @@ my $data_fh;
 
 if ( $regen ) {
   open $data_fh, '>:raw', $customised or die "Can't open $customised";
+  print $data_fh <<'#';
+# Regenerate this file using:
+#     cd t
+#     ./perl -I../lib porting/customized.t --regen
+#
 }
 else {
   open $data_fh, '<:raw', $customised or die "Can't open $customised";
   while (<$data_fh>) {
+    next if /^#/;
     chomp;
     my ($module,$file,$sha) = split ' ';
     $customised{ $module }->{ $file } = $sha;
diff --git a/vutil.c b/vutil.c
index c033820fa5..34c0b55d57 100644
--- a/vutil.c
+++ b/vutil.c
@@ -491,10 +491,10 @@ Perl_new_version(pTHX_ SV *ver)
            ver = SvRV(ver);
 
        /* Begin copying all of the elements */
-       if ( hv_existss(MUTABLE_HV(ver), "qv") )
+       if ( hv_exists(MUTABLE_HV(ver), "qv", 2) )
            (void)hv_stores(MUTABLE_HV(hv), "qv", newSViv(1));
 
-       if ( hv_existss(MUTABLE_HV(ver), "alpha") )
+       if ( hv_exists(MUTABLE_HV(ver), "alpha", 5) )
            (void)hv_stores(MUTABLE_HV(hv), "alpha", newSViv(1));
        {
            SV ** svp = hv_fetchs(MUTABLE_HV(ver), "width", FALSE);
@@ -840,7 +840,7 @@ Perl_vnumify(pTHX_ SV *vs)
        Perl_croak(aTHX_ "Invalid version object");
 
     /* see if various flags exist */
-    if ( hv_existss(MUTABLE_HV(vs), "alpha") )
+    if ( hv_exists(MUTABLE_HV(vs), "alpha", 5 ) )
        alpha = TRUE;
 
     if (alpha) {
@@ -978,7 +978,7 @@ Perl_vstringify(pTHX_ SV *vs)
            return &PL_sv_undef;
     }
     else {
-       if ( hv_existss(MUTABLE_HV(vs), "qv") )
+       if ( hv_exists(MUTABLE_HV(vs), "qv", 2) )
            return VNORMAL(vs);
        else
            return VNUMIFY(vs);

-- 
Perl5 Master Repository

Reply via email to