projects
/
spider.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
a00356d
)
do some ring printing if carp et al are called
author
Dirk Koopman
<djk@tobit.co.uk>
Fri, 24 Apr 2020 23:47:02 +0000
(
00:47
+0100)
committer
Dirk Koopman
<djk@tobit.co.uk>
Fri, 24 Apr 2020 23:47:02 +0000
(
00:47
+0100)
perl/DXDebug.pm
patch
|
blob
|
history
diff --git
a/perl/DXDebug.pm
b/perl/DXDebug.pm
index ca5339a154c5080c3f6f5074e4321f5f3442b783..634bf97211bda5e8d70cb48621e69059342dffda 100644
(file)
--- a/
perl/DXDebug.pm
+++ b/
perl/DXDebug.pm
@@
-52,27
+52,29
@@
if (!defined $DB::VERSION) {
local $^W=0;
eval qq( sub confess {
\$SIG{__DIE__} = 'DEFAULT';
local $^W=0;
eval qq( sub confess {
\$SIG{__DIE__} = 'DEFAULT';
- DXDebug::dbgprintring() unless DXDebug::isdbg('chan');
- DXDebug::dbgclearring();
+ DXDebug::dbgprintring() if DXDebug('nologchan');
DXDebug::dbg(\$@);
DXDebug::dbg(Carp::shortmess(\@_));
exit(-1);
}
sub croak {
\$SIG{__DIE__} = 'DEFAULT';
DXDebug::dbg(\$@);
DXDebug::dbg(Carp::shortmess(\@_));
exit(-1);
}
sub croak {
\$SIG{__DIE__} = 'DEFAULT';
- DXDebug::dbgprintring() unless DXDebug::isdbg('chan');
- DXDebug::dbgclearring();
+ DXDebug::dbgprintring() if DXDebug('nologchan');
DXDebug::dbg(\$@);
DXDebug::dbg(Carp::longmess(\@_));
exit(-1);
}
DXDebug::dbg(\$@);
DXDebug::dbg(Carp::longmess(\@_));
exit(-1);
}
- sub carp { DXDebug::dbg(Carp::shortmess(\@_)); }
- sub cluck { DXDebug::dbg(Carp::longmess(\@_)); }
- );
+ sub carp {
+ DXDebug::dbgprintring(25) if DXDebug('nologchan');
+ DXDebug::dbg(Carp::shortmess(\@_));
+ }
+ sub cluck {
+ DXDebug::dbgprintring(25) if DXDebug('nologchan');
+ DXDebug::dbg(Carp::longmess(\@_));
+ } );
CORE::die(Carp::shortmess($@)) if $@;
CORE::die(Carp::shortmess($@)) if $@;
-}
-else {
+} else {
eval qq( sub confess { die Carp::longmess(\@_); };
sub croak { die Carp::shortmess(\@_); };
sub cluck { warn Carp::longmess(\@_); };
eval qq( sub confess { die Carp::longmess(\@_); };
sub croak { die Carp::shortmess(\@_); };
sub cluck { warn Carp::longmess(\@_); };
@@
-215,8
+217,10
@@
sub longmess
sub dbgprintring
{
return unless $fp;
sub dbgprintring
{
return unless $fp;
+ my $count = shift || $dbgringlth+1;
my $first;
my $first;
- while (my $l = shift @dbgring) {
+ my $l;
+ for ( ; $count > 0 && ($l = shift @dbgring); --$count) {
my ($t, $str) = split /\^/, $l, 2;
next unless $t;
my $lt = time;
my ($t, $str) = split /\^/, $l, 2;
next unless $t;
my $lt = time;