package Carp;
-our $VERSION = '1.03';
+our $VERSION = '1.04';
=head1 NAME
=cut
-
+# disable these by default, so they can live w/o require Carp
$CarpInternal{Carp}++;
$CarpInternal{warnings}++;
+$Internal{Exporter}++;
+$Internal{'Exporter::Heavy'}++;
$CarpLevel = 0; # How many extra package levels to skip on carp.
# How many calls to skip on confess.
# Reconciling these notions is hard, use
sub longmess {
{
- local $@;
- # XXX fix require to not clear $@?
+ local($@, $!);
+ # XXX fix require to not clear $@ or $!?
# don't use require unless we need to (for Safe compartments)
require Carp::Heavy unless $INC{"Carp/Heavy.pm"};
}
sub shortmess { # Short-circuit &longmess if called via multiple packages
{
- local $@;
- # XXX fix require to not clear $@?
+ local($@, $!);
+ # XXX fix require to not clear $@ or $!?
# don't use require unless we need to (for Safe compartments)
require Carp::Heavy unless $INC{"Carp/Heavy.pm"};
}