diff options
author | Aleksandar Prokopec <axel22@gmail.com> | 2012-05-18 17:35:20 +0200 |
---|---|---|
committer | Aleksandar Prokopec <axel22@gmail.com> | 2012-05-18 17:35:20 +0200 |
commit | 093075a2f771e8f2b993d2ac808edbb7e4027657 (patch) | |
tree | df8c5779aba53de91b92fab7c7e599f946ff203b /src/library/scala/collection/mutable/ObservableBuffer.scala | |
parent | 34fa132820ddef5d789dd6efd00dc2f3a1d27a63 (diff) | |
download | scala-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.scala | 14 |
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) + } + } |