diff options
-rw-r--r-- | src/repl/scala/tools/nsc/interpreter/Pasted.scala | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/repl/scala/tools/nsc/interpreter/Pasted.scala b/src/repl/scala/tools/nsc/interpreter/Pasted.scala index 5f388eb15b..f8d8c2ddb1 100644 --- a/src/repl/scala/tools/nsc/interpreter/Pasted.scala +++ b/src/repl/scala/tools/nsc/interpreter/Pasted.scala @@ -21,7 +21,13 @@ abstract class Pasted { def PromptString: String def AltPromptString: String = "scala> " - private val testBoth = PromptString != AltPromptString + /* `testBoth` cannot be a val, as `Pasted` is inherited by `object paste` in ILoop, + which would cause `val testBoth` to be initialized before `val PromptString` was. + + object paste extends Pasted { + val PromptString = prompt.lines.toList.last + */ + private def testBoth = PromptString != AltPromptString private val spacey = " \t".toSet def matchesPrompt(line: String) = matchesString(line, PromptString) || testBoth && matchesString(line, AltPromptString) |