Tests for change #21284.
[p5sagit/p5-mst-13.2.git] / lib / Carp / Heavy.pm
index 5228b9b..c3d3c26 100644 (file)
@@ -12,7 +12,7 @@ Carp heavy machinery - no user serviceable parts inside
 # On one line so MakeMaker will see it.
 use Carp;  our $VERSION = $Carp::VERSION;
 
-our ($CarpLevel, $MaxArgNums, $MaxEvalLen, $MaxLenArg, $Verbose);
+our ($CarpLevel, $MaxArgNums, $MaxEvalLen, $MaxArgLen, $Verbose);
 
 sub caller_info {
   my $i = shift(@_) + 1;
@@ -50,7 +50,7 @@ sub format_arg {
       $arg = defined($overload::VERSION) ? overload::StrVal($arg) : "$arg";
   }
   $arg =~ s/'/\\'/g;
-  $arg = str_len_trim($arg, $MaxLenArg);
+  $arg = str_len_trim($arg, $MaxArgLen);
   
   # Quote it?
   $arg = "'$arg'" unless $arg =~ /^-?[\d.]+\z/;
@@ -77,14 +77,14 @@ sub get_status {
 # the sub/require/eval
 sub get_subname {
   my $info = shift;
-  if (defined($info->{eval})) {
-    my $eval = $info->{eval};
+  if (defined($info->{evaltext})) {
+    my $eval = $info->{evaltext};
     if ($info->{is_require}) {
       return "require $eval";
     }
     else {
       $eval =~ s/([\\\'])/\\$1/g;
-      return str_len_trim($eval, $MaxEvalLen);
+      return "eval '" . str_len_trim($eval, $MaxEvalLen) . "'";
     }
   }
 
@@ -237,6 +237,7 @@ sub trusts {
 sub trusts_directly {
     my $class = shift;
     no strict 'refs';
+    no warnings 'once'; 
     return @{"$class\::CARP_NOT"}
       ? @{"$class\::CARP_NOT"}
       : @{"$class\::ISA"};