summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorChris Nandor <pudge@pobox.com>2002-03-04 12:48:12 -0500
committerAbhijit Menon-Sen <ams@wiw.org>2002-03-11 03:02:47 +0000
commitaa057b67fd1a188e25f81780a894bf7db377546c (patch)
treec952b8f70da6e259a5779d37672fd9807af70dbd /lib
parent375122d71fe65bb12f4aac78313fa2d23fd511f3 (diff)
downloadperl-aa057b67fd1a188e25f81780a894bf7db377546c.tar.gz
debugger filenames for Mac OS - db.patch (1/1)
Message-Id: <pudge-3FDB8F.17481204032002@onion.valueclick.com> p4raw-id: //depot/perl@15150
Diffstat (limited to 'lib')
-rw-r--r--lib/DB.pm10
-rw-r--r--lib/perl5db.pl8
2 files changed, 18 insertions, 0 deletions
diff --git a/lib/DB.pm b/lib/DB.pm
index 96e436b7e0..342f5d82ec 100644
--- a/lib/DB.pm
+++ b/lib/DB.pm
@@ -93,6 +93,16 @@ sub DB {
$usrctxt = "package $DB::package;"; # this won't let them modify, alas
local(*DB::dbline) = "::_<$DB::filename";
+
+ # we need to check for pseudofiles on Mac OS (these are files
+ # not attached to a filename, but instead stored in Dev:Pseudo)
+ # since this is done late, $DB::filename will be "wrong" after
+ # skippkg
+ if ($^O eq 'MacOS' && $#DB::dbline < 0) {
+ $DB::filename = 'Dev:Pseudo';
+ *DB::dbline = "::_<$DB::filename";
+ }
+
my ($stop, $action);
if (($stop,$action) = split(/\0/,$DB::dbline{$DB::lineno})) {
if ($stop eq '1') {
diff --git a/lib/perl5db.pl b/lib/perl5db.pl
index 3365691a7e..711755eed9 100644
--- a/lib/perl5db.pl
+++ b/lib/perl5db.pl
@@ -667,6 +667,14 @@ sub DB {
$usercontext = '($@, $!, $^E, $,, $/, $\, $^W) = @saved;' .
"package $package;"; # this won't let them modify, alas
local(*dbline) = $main::{'_<' . $filename};
+
+ # we need to check for pseudofiles on Mac OS (these are files
+ # not attached to a filename, but instead stored in Dev:Pseudo)
+ if ($^O eq 'MacOS' && $#dbline < 0) {
+ $filename_ini = $filename = 'Dev:Pseudo';
+ *dbline = $main::{'_<' . $filename};
+ }
+
$max = $#dbline;
if ($dbline{$line} && (($stop,$action) = split(/\0/,$dbline{$line}))) {
if ($stop eq '1') {