This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Fix debugger to handle Mac OS psedofiles
authorChris Nandor <pudge@pobox.com>
Fri, 1 Mar 2002 17:32:52 +0000 (17:32 +0000)
committerChris Nandor <pudge@pobox.com>
Fri, 1 Mar 2002 17:32:52 +0000 (17:32 +0000)
p4raw-id: //depot/maint-5.6/macperl@14933

lib/DB.pm
lib/perl5db.pl

index 711acc0..d099193 100644 (file)
--- 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') {
index 63b4381..c536e7e 100644 (file)
@@ -504,6 +504,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 (($stop,$action) = split(/\0/,$dbline{$line})) {
        if ($stop eq '1') {