In perl.git, the branch blead has been updated

<https://perl5.git.perl.org/perl.git/commitdiff/d594884e1d755afc27a0fee39c2025cc581a3dc4?hp=d3a1131a9f5192057ba3745eab6315cb4c8a9713>

- Log -----------------------------------------------------------------
commit d594884e1d755afc27a0fee39c2025cc581a3dc4
Author: Zefram <zef...@fysh.org>
Date:   Sat Feb 24 00:40:13 2018 +0000

    better comments about Carp overload logic
    
    The comments originally added by commit
    c99363aa273278adcad39f32026629b700f9bbc3 for [perl #132828] were unclear
    and a bit over-excited.

commit d0d5e94f451e1e9fec149a7b7a2aaa3ee56f6499
Author: Zefram <zef...@fysh.org>
Date:   Sat Feb 24 00:25:15 2018 +0000

    remove spurious _ part of Carp version number
    
    Commit 4764858cb80e76fdba33cc1b3be8fcdef26df754 unwisely
    changed Carp's version number to an underscored one.  Commit
    c99363aa273278adcad39f32026629b700f9bbc3 incremented the underscored
    part and copied it to Carp::Heavy.  With blead being upstream for Carp,
    there is no reason for it to have an underscored version number.

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

Summary of changes:
 dist/Carp/lib/Carp.pm       | 21 ++++++++++-----------
 dist/Carp/lib/Carp/Heavy.pm |  2 +-
 2 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/dist/Carp/lib/Carp.pm b/dist/Carp/lib/Carp.pm
index 8f93af11ac..610e07fe1a 100644
--- a/dist/Carp/lib/Carp.pm
+++ b/dist/Carp/lib/Carp.pm
@@ -116,7 +116,7 @@ BEGIN {
        ;
 }
 
-our $VERSION = '1.47_02';
+our $VERSION = '1.47';
 $VERSION =~ tr/_//d;
 
 our $MaxEvalLen = 0;
@@ -336,17 +336,16 @@ sub format_arg {
         }
         else
         {
-            # this particular bit of magic looking code is responsible for 
disabling overloads
-            # while we are stringifing arguments, otherwise if an overload 
calls a Carp sub we
-            # could end up in infinite recursion, which means we will exhaust 
the C stack and
-            # then segfault. Calling Carp obviously should not trigger an 
untrappable exception
-            # from Carp itself! - Yves
             if ($pack->can("((")) {
-                # this eval is required, or fail the overload test
-                # in dist/Carp/t/vivify_stash.t, which is really quite weird.
-                # Even if we never enter this block, the presence of the 
require
-                # causes the test to fail. This seems like it might be a bug
-                # in require. Needs further investigation - Yves
+               # Argument is blessed into a class with overloading, and
+               # so might have an overloaded stringification.  We don't
+               # want to risk getting the overloaded stringification,
+               # so we need to use overload::StrVal() below.  But it's
+               # possible that the overload module hasn't been loaded:
+               # overload methods can be installed without it.  So load
+               # the module here.  The eval layer here avoids the
+               # compile-time effect of require vivifying the target
+               # module's stash.
                 eval "require overload; 1"
                     or return "use overload failed";
             }
diff --git a/dist/Carp/lib/Carp/Heavy.pm b/dist/Carp/lib/Carp/Heavy.pm
index 75ca4c5225..a82325f4ce 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.47_02';
+our $VERSION = '1.47';
 $VERSION =~ tr/_//d;
 
 # Carp::Heavy was merged into Carp in version 1.12.  Any mismatched versions

-- 
Perl5 Master Repository

Reply via email to