mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-67327 Undo: Correct bulk undo processing at document end
Corrected deferred changes processing during end -> start direction.
This commit is contained in:
@@ -243,7 +243,7 @@ public class TextChangesStorage {
|
||||
if (newChangeStart <= storedClientStart && newChangeEnd >= storedClientEnd) {
|
||||
myChanges.remove(i);
|
||||
insertionIndex = i;
|
||||
newChangeEnd -= changeEntry.change.getText().length();
|
||||
newChangeEnd -= changeEntry.change.getDiff();
|
||||
i--;
|
||||
continue;
|
||||
}
|
||||
|
||||
+7
@@ -109,6 +109,13 @@ public class TextChangesStorageTest {
|
||||
checkChanges(c("", 2, 5));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void adjacentDeletesFromEndToStart() {
|
||||
delete(5, 6);
|
||||
delete(4, 5);
|
||||
checkChanges(c("", 4, 6));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void singleReplace() {
|
||||
replace("abc", 3, 4);
|
||||
|
||||
Reference in New Issue
Block a user