summaryrefslogtreecommitdiff
path: root/lib/perl5db.pl
diff options
context:
space:
mode:
authorspidb@cpan.org <spidb@cpan.org>2002-03-29 01:34:11 -0500
committerJarkko Hietaniemi <jhi@iki.fi>2002-03-29 17:19:26 +0000
commit471505cc5beed1a51617bf50cddf9bd18ee2824b (patch)
tree67b7072f3547cd9d1df9724a5d7fb96b9994bb83 /lib/perl5db.pl
parent9d1313d87d8eeca5cc6669cd8bfc73c4c3d1aeb7 (diff)
downloadperl-471505cc5beed1a51617bf50cddf9bd18ee2824b.tar.gz
Re: debugger debuggers wanted
Message-Id: <200203291134.GAA15727@Orb.Nashua.NH.US> p4raw-id: //depot/perl@15607
Diffstat (limited to 'lib/perl5db.pl')
-rw-r--r--lib/perl5db.pl12
1 files changed, 7 insertions, 5 deletions
diff --git a/lib/perl5db.pl b/lib/perl5db.pl
index 093fc2cb1e..6e9a9d5e4d 100644
--- a/lib/perl5db.pl
+++ b/lib/perl5db.pl
@@ -1,7 +1,7 @@
package DB;
# Debugger for Perl 5.00x; perl5db.pl patch level:
-$VERSION = 1.17;
+$VERSION = 1.19;
$header = "perl5db.pl version $VERSION";
# It is crucial that there is no lexicals in scope of `eval ""' down below
@@ -318,6 +318,8 @@ sub eval {
# + v(view code), V(view Variables) # ... (was w,V)
# Changes: 1.18: Mar 17, 2002 Richard Foley <richard.foley@rfi.net>
# + fixed missing cmd_O bug
+# Changes: 1.19: Mar 29, 2002 Spider Boardman
+# + Added missing local()s -- DB::DB is called recursively.
#
####################################################################
@@ -664,9 +666,9 @@ sub DB {
}
$runnonstop = 0 if $single or $signal; # Disable it if interactive.
&save;
- ($package, $filename, $line) = caller;
- $filename_ini = $filename;
- $usercontext = '($@, $!, $^E, $,, $/, $\, $^W) = @saved;' .
+ local($package, $filename, $line) = caller;
+ local $filename_ini = $filename;
+ local $usercontext = '($@, $!, $^E, $,, $/, $\, $^W) = @saved;' .
"package $package;"; # this won't let them modify, alas
local(*dbline) = $main::{'_<' . $filename};
@@ -677,7 +679,7 @@ sub DB {
*dbline = $main::{'_<' . $filename};
}
- $max = $#dbline;
+ local $max = $#dbline;
if ($dbline{$line} && (($stop,$action) = split(/\0/,$dbline{$line}))) {
if ($stop eq '1') {
$signal |= 1;