From beed1ea8114ea05ebf615bdffae9ac8659f7a396 Mon Sep 17 00:00:00 2001 From: Paul Phillips Date: Mon, 13 Dec 2010 15:26:15 +0000 Subject: More repl hardening, and a new jline jar which ... More repl hardening, and a new jline jar which fixes a paste issue on OSX. No review. --- lib/jline.jar.desired.sha1 | 2 +- src/compiler/scala/tools/nsc/Interpreter.scala | 12 ++++++++++-- src/jline/src/main/java/jline/console/ConsoleReader.java | 6 +++++- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/lib/jline.jar.desired.sha1 b/lib/jline.jar.desired.sha1 index a3b6d973ba..b4bb3735ea 100644 --- a/lib/jline.jar.desired.sha1 +++ b/lib/jline.jar.desired.sha1 @@ -1 +1 @@ -148e01293f7413bfec4628c7a68eeceb9b0319c7 ?jline.jar +13404501b00eab5da766756105ba177fcc381bf5 ?jline.jar diff --git a/src/compiler/scala/tools/nsc/Interpreter.scala b/src/compiler/scala/tools/nsc/Interpreter.scala index f9eddd2eda..44dd0698d1 100644 --- a/src/compiler/scala/tools/nsc/Interpreter.scala +++ b/src/compiler/scala/tools/nsc/Interpreter.scala @@ -122,11 +122,19 @@ class Interpreter(val settings: Settings, out: PrintWriter) { true } catch { - case MissingRequirementError(msg) => println(""" + case x: AbstractMethodError => + println(""" + |Failed to initialize compiler: abstract method error. + |This is most often remedied by a full clean and recompile. + |""".stripMargin + ) + x.printStackTrace() + false + case x: MissingRequirementError => println(""" |Failed to initialize compiler: %s not found. |** Note that as of 2.8 scala does not assume use of the java classpath. |** For the old behavior pass -usejavacp to scala, or if using a Settings - |** object programatically, settings.usejavacp.value = true.""".stripMargin.format(msg) + |** object programatically, settings.usejavacp.value = true.""".stripMargin.format(x.req) ) false } diff --git a/src/jline/src/main/java/jline/console/ConsoleReader.java b/src/jline/src/main/java/jline/console/ConsoleReader.java index fe9e85aed9..44b0cbf866 100644 --- a/src/jline/src/main/java/jline/console/ConsoleReader.java +++ b/src/jline/src/main/java/jline/console/ConsoleReader.java @@ -513,7 +513,11 @@ public class ConsoleReader * fixes backspace issue, where it assumes that the terminal is doing this. */ private final void newlineAtWrap() throws IOException { - if (terminal.newlineAtWrapNeeded()) { + /** On OSX this leads to failure to paste lines longer than the + * the terminal width. It spews some ansi control and truncates + * the paste. + */ + if (false && terminal.newlineAtWrapNeeded()) { int width = getTerminal().getWidth(); if ((getCursorPosition() % width == 0) && getCurrentPosition() >= width) -- cgit v1.2.3