Mercurial > hg > openjdk > jdk9 > nashorn
changeset 1799:ca08ca9bef23
Merge
author | lana |
---|---|
date | Thu, 20 Oct 2016 20:01:31 +0000 |
parents | 9400b8826985 (current diff) e8627495578f (diff) |
children | ac561634520e 1e7049278c4c |
files | |
diffstat | 2 files changed, 19 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/jdk.scripting.nashorn.shell/share/classes/jdk/nashorn/tools/jjs/Console.java Thu Oct 20 18:38:11 2016 +0000 +++ b/src/jdk.scripting.nashorn.shell/share/classes/jdk/nashorn/tools/jjs/Console.java Thu Oct 20 20:01:31 2016 +0000 @@ -42,6 +42,8 @@ import jdk.internal.jline.console.ConsoleReader; import jdk.internal.jline.console.KeyMap; import jdk.internal.jline.extra.EditingHistory; +import jdk.internal.misc.Signal; +import jdk.internal.misc.Signal.Handler; class Console implements AutoCloseable { private static final String DOCUMENTATION_SHORTCUT = "\033\133\132"; //Shift-TAB @@ -68,6 +70,21 @@ in.addCompleter(completer); Runtime.getRuntime().addShutdownHook(new Thread((Runnable)this::saveHistory)); bind(DOCUMENTATION_SHORTCUT, (ActionListener)evt -> showDocumentation(docHelper)); + try { + Signal.handle(new Signal("CONT"), new Handler() { + @Override public void handle(Signal sig) { + try { + in.getTerminal().reset(); + in.redrawLine(); + in.flush(); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + }); + } catch (IllegalArgumentException ignored) { + //the CONT signal does not exist on this platform + } } String readLine(final String prompt) throws IOException {
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/NashornScriptEngineFactory.java Thu Oct 20 18:38:11 2016 +0000 +++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/NashornScriptEngineFactory.java Thu Oct 20 20:01:31 2016 +0000 @@ -129,10 +129,11 @@ @Override public String getProgram(final String... statements) { + Objects.requireNonNull(statements); final StringBuilder sb = new StringBuilder(); for (final String statement : statements) { - sb.append(statement).append(';'); + sb.append(Objects.requireNonNull(statement)).append(';'); } return sb.toString();