In perl.git, the branch sprout/carp-strval has been updated

<https://perl5.git.perl.org/perl.git/commitdiff/c6edd2e99cc4d0329c61165ff9fa4b453622d6b4?hp=16ee47fe0e6db78371331e9f1f5f13f7965cc631>

  discards  16ee47fe0e6db78371331e9f1f5f13f7965cc631 (commit)
- Log -----------------------------------------------------------------
commit c6edd2e99cc4d0329c61165ff9fa4b453622d6b4
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Mon Feb 26 01:23:53 2018 -0800

    Carp: Avoid run-time mods; StrVal workarounds
    
    Carp needs to avoid loading modules while reporting errors, because
    it may be invoked via $SIG{__DIE__} after a syntax error, when BEGIN
    blocks are forbidden.
    
    Before this commit (as of v5.27.8-360-gc99363a) it was doing just that
    for reference arguments within stack traces.
    
    That means we either need to load overload.pm at start-up so that
    overload::StrVal is already available, or avoid overload::StrVal
    altogether.
    
    It turns out that various versions of overload::StrVal have
    their own problems that prevent Carp from using them (out-
    lined in the comments added to Carp.pm and also described at
    <https://rt.perl.org/Ticket/Display.html?id=132902#txn-1535564>).
    
    So we now follow two approaches:  If overloading.pm is available, use
    that; otherwise, use a hideous workaround inspired by ancient imple-
    entations of overload::StrVal and Scalar::Util::blessed, while avoid-
    ing the bugs in those old versions.

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

Summary of changes:
 MANIFEST | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MANIFEST b/MANIFEST
index 2b8859ca66..b054110b65 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -2974,8 +2974,8 @@ dist/Carp/t/Carp_overloadless.t           See if Carp 
handles overloads that dont use ove
 dist/Carp/t/errno.t            See if Carp preserves $! and $^E
 dist/Carp/t/heavy.t            See if Carp::Heavy works
 dist/Carp/t/heavy_mismatch.t           See if Carp::Heavy catches version 
mismatch
-dist/Carp/t/stack_after_err.t  Test stack traces after syntax errors
 dist/Carp/t/rt52610_crash.t            Test that we can gracefully handle 
serializing the stack with stack-refcounting bugs
+dist/Carp/t/stack_after_err.t  Test stack traces after syntax errors
 dist/Carp/t/stash_deletion.t           See if Carp handles stash deletion
 dist/Carp/t/swash.t            See if Carp avoids breaking swash loading
 dist/Carp/t/vivify_gv.t                See if Carp leaves utf8:: stuff alone

-- 
Perl5 Master Repository

Reply via email to