From: Peter Scott <Peter@PSDT.com>
Date: Mon, 4 Sep 2000 13:16:38 +0000 (-0700)
Subject: perl5db.pl [Was: Re: Debugger question]
X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=20928eff080431b8f531d604674100ee3d2b91eb;p=p5sagit%2Fp5-mst-13.2.git

perl5db.pl [Was: Re: Debugger question]
Message-Id: <4.3.2.7.2.20000904130939.00adae90@mail2a.jpl.nasa.gov>

p4raw-id: //depot/perl@7032
---

diff --git a/lib/perl5db.pl b/lib/perl5db.pl
index 586cfd8..5418b57 100644
--- a/lib/perl5db.pl
+++ b/lib/perl5db.pl
@@ -617,7 +617,7 @@ EOP
 			    next CMD;
 			} 
 		    }
-		    $cmd =~ /^q$/ && ($exiting = 1) && exit $?;
+                   $cmd =~ /^q$/ && ($fall_off_end = 1) && exit $?;
 		    $cmd =~ /^h$/ && do {
 			print_help($help);
 			next CMD; };
@@ -1430,7 +1430,7 @@ EOP
 		$piped= "";
 	    }
 	}			# CMD:
-	$exiting = 1 unless defined $cmd;
+       $fall_off_end = 1 unless defined $cmd; # Emulate `q' on EOF
 	foreach $evalarg (@$post) {
 	  &eval;
 	}
@@ -2684,10 +2684,11 @@ sub end_report {
 }
 
 END {
-  $finished = $inhibit_exit;	# So that some keys may be disabled.
+  $finished = 1 if $inhibit_exit;      # So that some keys may be disabled.
+  $fall_off_end = 1 unless $inhibit_exit;
   # Do not stop in at_exit() and destructors on exit:
-  $DB::single = !$exiting && !$runnonstop;
-  DB::fake::at_exit() unless $exiting or $runnonstop;
+  $DB::single = !$fall_off_end && !$runnonstop;
+  DB::fake::at_exit() unless $fall_off_end or $runnonstop;
 }
 
 package DB::fake;