Skip to content

Commit 48d6460

Browse files
authored
Merge pull request #1421 from cswinter/repl-inversion-fix
Fix #1411: Give REPL output in correct order
2 parents e0d34de + bc07944 commit 48d6460

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

src/dotty/tools/dotc/repl/CompilingInterpreter.scala

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -88,11 +88,11 @@ class CompilingInterpreter(
8888
private var printResults: Boolean = true
8989
private var delayOutput: Boolean = false
9090

91-
var previousOutput: List[String] = Nil
91+
val previousOutput = ListBuffer.empty[String]
9292

9393
override def lastOutput() = {
94-
val prev = previousOutput
95-
previousOutput = Nil
94+
val prev = previousOutput.toList
95+
previousOutput.clear()
9696
prev
9797
}
9898

@@ -129,7 +129,7 @@ class CompilingInterpreter(
129129
// we drop the final `$' from module classes.
130130
out.flush()
131131
} else {
132-
previousOutput = (/*clean*/(msg) + "\n") :: previousOutput
132+
previousOutput += (/*clean*/(msg) + "\n")
133133
}
134134
}
135135
}
@@ -220,7 +220,7 @@ class CompilingInterpreter(
220220
else {
221221
val (resultStrings, succeeded) = req.loadAndRun()
222222
if (delayOutput)
223-
previousOutput = resultStrings.map(clean) ::: previousOutput
223+
previousOutput ++= resultStrings.map(clean)
224224
else if (printResults || !succeeded)
225225
resultStrings.map(x => out.print(clean(x)))
226226
if (succeeded) {

src/dotty/tools/dotc/repl/Interpreter.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,5 +41,5 @@ trait Interpreter {
4141
def delayOutputDuring[T](operation: => T): T
4242

4343
/** Gets the last output not printed immediately */
44-
def lastOutput(): List[String]
44+
def lastOutput(): Seq[String]
4545
}

0 commit comments

Comments
 (0)