X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2Fperldb.pl;h=84543dfc769aadf10c6e2ee2999fd9d8184f1c3d;hb=79a0689e17f959bdb246dc37bbbbfeba4c2b3b56;hp=7b3e0aad7ae0e03835e01f8bcbb410df6696e42c;hpb=ff2452de34aca0717369277df00e15764613e5c1;p=p5sagit%2Fp5-mst-13.2.git diff --git a/lib/perldb.pl b/lib/perldb.pl index 7b3e0aa..84543df 100644 --- a/lib/perldb.pl +++ b/lib/perldb.pl @@ -1,6 +1,6 @@ package DB; -$header = '$Header: perldb.pl,v 3.0.1.1 89/10/26 23:14:02 lwall Locked $'; +$header = '$Header: perldb.pl,v 3.0.1.2 90/03/12 16:39:39 lwall Locked $'; # # This file is automatically included if you do perl -d. # It's probably not useful to include this yourself. @@ -10,6 +10,10 @@ $header = '$Header: perldb.pl,v 3.0.1.1 89/10/26 23:14:02 lwall Locked $'; # have a breakpoint. It also inserts a do 'perldb.pl' before the first line. # # $Log: perldb.pl,v $ +# Revision 3.0.1.2 90/03/12 16:39:39 lwall +# patch13: perl -d didn't format stack traces of *foo right +# patch13: perl -d wiped out scalar return values of subroutines +# # Revision 3.0.1.1 89/10/26 23:14:02 lwall # patch1: RCS expanded an unintended $Header in lib/perldb.pl # @@ -385,9 +389,8 @@ sub sub { $single |= 4 if $#stack == $deep; local(@args) = @_; for (@args) { - if (/^Stab/ && length($_) == length($_main{'_main'})) { + if (/^StB\000/ && length($_) == length($_main{'_main'})) { $_ = sprintf("%s",$_); - print "ARG: $_\n"; } else { s/'/\\'/g; @@ -397,14 +400,16 @@ sub sub { push(@sub, $sub . '(' . join(', ', @args) . ') from ' . $line); if (wantarray) { @i = &$sub; + --$#sub; + $single |= pop(@stack); + @i; } else { $i = &$sub; - @i = $i; + --$#sub; + $single |= pop(@stack); + $i; } - --$#sub; - $single |= pop(@stack); - @i; } $single = 1; # so it stops on first executable statement