--- old/src/jdk.scripting.nashorn.shell/share/classes/jdk/nashorn/tools/jjs/HistoryObject.java 2015-08-19 04:57:53.738331500 +0530 +++ new/src/jdk.scripting.nashorn.shell/share/classes/jdk/nashorn/tools/jjs/HistoryObject.java 2015-08-19 04:57:53.353309500 +0530 @@ -26,6 +26,9 @@ package jdk.nashorn.tools.jjs; import java.io.IOException; +import java.util.Collections; +import java.util.HashSet; +import java.util.Set; import java.util.function.Function; import jdk.internal.jline.console.history.FileHistory; import jdk.internal.jline.console.history.History; @@ -38,6 +41,16 @@ * A script friendly object that exposes history of commands to scripts. */ final class HistoryObject extends AbstractJSObject { + private static final Set props; + static { + final HashSet s = new HashSet<>(); + s.add("clear"); + s.add("forEach"); + s.add("print"); + s.add("size"); + props = Collections.unmodifiableSet(s); + } + private final FileHistory hist; HistoryObject(final FileHistory hist) { @@ -72,6 +85,11 @@ return "[object history]"; } + @Override + public Set keySet() { + return props; + } + private void print() { for (History.Entry e : hist) { System.out.println(e.value());