RT#113960: perl5db should ignore /dev/tty on non-Unix systems
authorJames E Keenan <jkeenan@cpan.org>
Wed, 4 Jan 2017 18:17:19 +0000 (18:17 +0000)
committerAaron Crane <arc@cpan.org>
Wed, 4 Jan 2017 18:17:19 +0000 (18:17 +0000)
If a Win32 system happens to have a \dev\tty file at the root of the current
drive, we were incorrectly treating that as an indicator that the system is
in fact Unix-like.

Fix this by looking at the filesystem for that file only after considering
all the OS platforms that we know aren't Unix-like in that way.

lib/perl5db.pl

index 4668a1f..265b444 100644 (file)
@@ -1533,14 +1533,6 @@ We then determine what the console should be on various systems:
         undef $console;
     }
 
-=item * Unix - use F</dev/tty>.
-
-=cut
-
-    elsif ( -e "/dev/tty" ) {
-        $console = "/dev/tty";
-    }
-
 =item * Windows or MSDOS - use C<con>.
 
 =cut
@@ -1565,6 +1557,17 @@ We then determine what the console should be on various systems:
         $console = 'sys$command';
     }
 
+# Keep this penultimate, on the grounds that it satisfies a wide variety of
+# Unix-like systems that would otherwise need to be identified individually.
+
+=item * Unix - use F</dev/tty>.
+
+=cut
+
+    elsif ( -e "/dev/tty" ) {
+        $console = "/dev/tty";
+    }
+
 # Keep this last.
 
     else {