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) ->