summaryrefslogtreecommitdiff
path: root/src/library/scala/collection/mutable/ObservableBuffer.scala
diff options
context:
space:
mode:
authorAleksandar Prokopec <axel22@gmail.com>2012-05-18 17:35:20 +0200
committerAleksandar Prokopec <axel22@gmail.com>2012-05-18 17:35:20 +0200
commit093075a2f771e8f2b993d2ac808edbb7e4027657 (patch)
treedf8c5779aba53de91b92fab7c7e599f946ff203b /src/library/scala/collection/mutable/ObservableBuffer.scala
parent34fa132820ddef5d789dd6efd00dc2f3a1d27a63 (diff)
downloadscala-093075a2f771e8f2b993d2ac808edbb7e4027657.tar.gz
scala-093075a2f771e8f2b993d2ac808edbb7e4027657.tar.bz2
scala-093075a2f771e8f2b993d2ac808edbb7e4027657.zip
Fixes SI-4461.
No review.
Diffstat (limited to 'src/library/scala/collection/mutable/ObservableBuffer.scala')
-rw-r--r--src/library/scala/collection/mutable/ObservableBuffer.scala14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/library/scala/collection/mutable/ObservableBuffer.scala b/src/library/scala/collection/mutable/ObservableBuffer.scala
index a619edf281..6b5079e402 100644
--- a/src/library/scala/collection/mutable/ObservableBuffer.scala
+++ b/src/library/scala/collection/mutable/ObservableBuffer.scala
@@ -70,4 +70,18 @@ trait ObservableBuffer[A] extends Buffer[A] with Publisher[Message[A] with Undoa
def undo() { throw new UnsupportedOperationException("cannot undo") }
})
}
+
+ abstract override def insertAll(n: Int, elems: collection.Traversable[A]) {
+ super.insertAll(n, elems)
+ var curr = n - 1
+ val msg = elems.foldLeft(new Script[A]() with Undoable {
+ def undo() { throw new UnsupportedOperationException("cannot undo") }
+ }) {
+ case (msg, elem) =>
+ curr += 1
+ msg += Include(Index(curr), elem)
+ }
+ publish(msg)
+ }
+
}