From b765ef344a970e3e12974cf161fe31bee60ce8ca Mon Sep 17 00:00:00 2001 From: Jan Lahoda Date: Tue, 11 Oct 2016 12:33:15 +0200 Subject: [PATCH] 8166890: JShell: locks forever when input is piped Only read cursor position if connected to a terminal. Reviewed-by: rfield, shinyafox --- .../share/classes/jdk/internal/jline/console/ConsoleReader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jdk/src/jdk.internal.le/share/classes/jdk/internal/jline/console/ConsoleReader.java b/jdk/src/jdk.internal.le/share/classes/jdk/internal/jline/console/ConsoleReader.java index 84341e1e181..999b0f7bd91 100644 --- a/jdk/src/jdk.internal.le/share/classes/jdk/internal/jline/console/ConsoleReader.java +++ b/jdk/src/jdk.internal.le/share/classes/jdk/internal/jline/console/ConsoleReader.java @@ -2339,7 +2339,7 @@ public class ConsoleReader Stack pushBackChar = new Stack(); - if (terminal.isAnsiSupported()) { + if (terminal.isAnsiSupported() && System.console() != null) { //detect the prompt length by reading the cursor position from the terminal //the real prompt length could differ from the simple prompt length due to //use of escape sequences: