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 f5f1e0cd9b5ca3d6aafc7e16004cdd3045505e9e..a395a0e613e5bfeac692cdc4491c79885c79f202 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 0377e5456aa8f40fb5a605e8cc842f8cf9dc54bd..7519a55c5be64eb086227e09cc603cf22af82c8a 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); } } }