diff options
author | Ilya Zakharevich <ilya@math.berkeley.edu> | 2001-07-02 23:38:18 -0400 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2001-07-03 11:34:47 +0000 |
commit | 98ea0861606992b8f44a095970e7fe280b04ad7a (patch) | |
tree | 9aa7cecb4e378f36c8d8490a495c5a1b09d42f0c /lib/perl5db.pl | |
parent | bd60b2b92942fb3f95fd620ac382c2af3b6afe97 (diff) | |
download | perl-98ea0861606992b8f44a095970e7fe280b04ad7a.tar.gz |
debugger fixes
Message-ID: <20010703033818.A16788@math.ohio-state.edu>
The $^S is working again.
p4raw-id: //depot/perl@11120
Diffstat (limited to 'lib/perl5db.pl')
-rw-r--r-- | lib/perl5db.pl | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/lib/perl5db.pl b/lib/perl5db.pl index 579bf69835..1c20f576d4 100644 --- a/lib/perl5db.pl +++ b/lib/perl5db.pl @@ -342,8 +342,8 @@ $inhibit_exit = $option{PrintRet} = 1; # These guys may be defined in $ENV{PERL5DB} : $rl = 1 unless defined $rl; -$warnLevel = 0 unless defined $warnLevel; -$dieLevel = 0 unless defined $dieLevel; +$warnLevel = 1 unless defined $warnLevel; +$dieLevel = 1 unless defined $dieLevel; $signalLevel = 1 unless defined $signalLevel; $pre = [] unless defined $pre; $post = [] unless defined $post; @@ -2682,7 +2682,8 @@ sub dbdie { if ($dieLevel < 2) { die @_ if $^S; # in eval propagate } - eval { require Carp } if defined $^S; # If error/warning during compilation, + # No need to check $^S, eval is much more robust nowadays + eval { require Carp }; #if defined $^S;# If error/warning during compilation, # require may be broken. die(@_, "\nCannot print stack trace, load with -MCarp option to see stack") @@ -2692,7 +2693,13 @@ sub dbdie { # inside DB::DB, but not in Carp). my ($mysingle,$mytrace) = ($single,$trace); $single = 0; $trace = 0; - my $mess = Carp::longmess(@_); + my $mess = "@_"; + { + package Carp; # Do not include us in the list + eval { + $mess = Carp::longmess(@_); + }; + } ($single,$trace) = ($mysingle,$mytrace); die $mess; } |