From b01e4c86402d27c42535f10be3b85a4a943fd376 Mon Sep 17 00:00:00 2001 From: Fabian Jakobs Date: Sat, 19 Feb 2011 11:36:58 +0100 Subject: [PATCH] reset undo stack after setValue() calls --- lib/ace/edit_session.js | 8 +++++--- lib/ace/undomanager.js | 8 ++++++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/lib/ace/edit_session.js b/lib/ace/edit_session.js index 628e15c8..cc8af85c 100644 --- a/lib/ace/edit_session.js +++ b/lib/ace/edit_session.js @@ -94,8 +94,9 @@ var EditSession = function(text, mode) { }; this.setValue = function(text) { - this.doc.setValue(text); - this.$deltas = []; + this.doc.setValue(text); + this.$deltas = []; + this.$undoManager.reset(); }; this.getValue = @@ -130,7 +131,8 @@ var EditSession = function(text, mode) { this.$defaultUndoManager = { undo: function() {}, - redo: function() {} + redo: function() {}, + reset: function() {} }; this.getUndoManager = function() { diff --git a/lib/ace/undomanager.js b/lib/ace/undomanager.js index 15b22e06..d4ad5dfe 100644 --- a/lib/ace/undomanager.js +++ b/lib/ace/undomanager.js @@ -38,8 +38,7 @@ define(function(require, exports, module) { var UndoManager = function() { - this.$undoStack = []; - this.$redoStack = []; + this.reset(); }; (function() { @@ -65,6 +64,11 @@ var UndoManager = function() { this.$undoStack.push(deltas); } }; + + this.reset = function() { + this.$undoStack = []; + this.$redoStack = []; + }; }).call(UndoManager.prototype);