From f5edd846055392fbd84f4db342d07b8eadeeaa40 Mon Sep 17 00:00:00 2001 From: Florian Angerer <florian.angerer@oracle.com> Date: Wed, 15 Nov 2017 19:07:10 +0100 Subject: [PATCH] Adjusted prompt in DefaultConsoleHandler for non-interactive mode. --- .../truffle/r/launcher/DefaultConsoleHandler.java | 10 ++++++++-- .../src/com/oracle/truffle/r/launcher/RCommand.java | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/com.oracle.truffle.r.launcher/src/com/oracle/truffle/r/launcher/DefaultConsoleHandler.java b/com.oracle.truffle.r.launcher/src/com/oracle/truffle/r/launcher/DefaultConsoleHandler.java index f5f1e0cd9b..a395a0e613 100644 --- a/com.oracle.truffle.r.launcher/src/com/oracle/truffle/r/launcher/DefaultConsoleHandler.java +++ b/com.oracle.truffle.r.launcher/src/com/oracle/truffle/r/launcher/DefaultConsoleHandler.java @@ -31,13 +31,15 @@ import java.io.PrintStream; public class DefaultConsoleHandler extends ConsoleHandler { + private final boolean interactive; private final BufferedReader in; private final PrintStream out; private String prompt; - public DefaultConsoleHandler(InputStream in, OutputStream out) { + public DefaultConsoleHandler(InputStream in, OutputStream out, boolean interactive) { this.in = new BufferedReader(new InputStreamReader(in)); this.out = new PrintStream(out); + this.interactive = interactive; } @Override @@ -46,7 +48,11 @@ public class DefaultConsoleHandler extends ConsoleHandler { if (prompt != null) { out.print(prompt); } - return in.readLine(); + String line = in.readLine(); + if ((line == null || "".equals(line.trim())) && prompt != null && !interactive) { + out.println(); + } + return line; } catch (IOException e) { throw new RuntimeException(e); } diff --git a/com.oracle.truffle.r.launcher/src/com/oracle/truffle/r/launcher/RCommand.java b/com.oracle.truffle.r.launcher/src/com/oracle/truffle/r/launcher/RCommand.java index 0377e5456a..7519a55c5b 100644 --- a/com.oracle.truffle.r.launcher/src/com/oracle/truffle/r/launcher/RCommand.java +++ b/com.oracle.truffle.r.launcher/src/com/oracle/truffle/r/launcher/RCommand.java @@ -218,7 +218,7 @@ public class RCommand { if (useReadLine) { return new JLineConsoleHandler(inStream, outStream, rsp.isSlave()); } else { - return new DefaultConsoleHandler(inStream, outStream); + return new DefaultConsoleHandler(inStream, outStream, isInteractive); } } } -- GitLab