summaryrefslogtreecommitdiff
path: root/MANIFEST
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2018-02-26 01:23:53 -0800
committerFather Chrysostomos <sprout@cpan.org>2018-02-27 09:15:52 -0800
commit5c8d1071aaf72214e66b1a224890384ab6ca5153 (patch)
tree434ec93b46a8c90e71a13d681c7ab7876c4c6e37 /MANIFEST
parentf88ca576baabd4517ec5766efa11b1e1fc8109af (diff)
downloadperl-5c8d1071aaf72214e66b1a224890384ab6ca5153.tar.gz
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.
Diffstat (limited to 'MANIFEST')
-rw-r--r--MANIFEST1
1 files changed, 1 insertions, 0 deletions
diff --git a/MANIFEST b/MANIFEST
index acc1bcba7f..b054110b65 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -2975,6 +2975,7 @@ 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/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