From fa50e9705e6c816a78aa6befbde35332f9dcd9a0 Mon Sep 17 00:00:00 2001 From: Corey Johnson & Nathan Sobo Date: Tue, 10 Apr 2012 10:25:22 -0700 Subject: [PATCH] No longer push empty batches onto undo stack --- spec/app/undo-manager-spec.coffee | 9 +++++++++ src/app/undo-manager.coffee | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/spec/app/undo-manager-spec.coffee b/spec/app/undo-manager-spec.coffee index a2ba830e2..f187335c1 100644 --- a/spec/app/undo-manager-spec.coffee +++ b/spec/app/undo-manager-spec.coffee @@ -136,3 +136,12 @@ describe "UndoManager", -> expect(buffer.lineForRow(4)).not.toContain("while") expect(buffer.lineForRow(4)).toContain("slongaz") + + it "does not store empty batches", -> + buffer.insert([0,0], "foo") + undoManager.startUndoBatch() + undoManager.endUndoBatch() + + undoManager.undo() + expect(buffer.lineForRow(0)).not.toContain("foo") + diff --git a/src/app/undo-manager.coffee b/src/app/undo-manager.coffee index c32bbb491..fdb2f7966 100644 --- a/src/app/undo-manager.coffee +++ b/src/app/undo-manager.coffee @@ -40,7 +40,7 @@ class UndoManager endUndoBatch: (ranges) -> @currentBatch.newSelectionRanges = ranges - @undoHistory.push(@currentBatch) + @undoHistory.push(@currentBatch) if @currentBatch.length > 0 @currentBatch = null preservingHistory: (fn) ->