From 1283b11f0ecad713370883018ea2dc36e5f0a6a5 Mon Sep 17 00:00:00 2001 From: Mostafa Eweda Date: Thu, 8 Mar 2012 20:29:21 +0200 Subject: [PATCH 1/2] Fixed a typo in placeholder that was stopping the cancel to work --- lib/ace/placeholder.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/ace/placeholder.js b/lib/ace/placeholder.js index f0fa5b46..f8141690 100644 --- a/lib/ace/placeholder.js +++ b/lib/ace/placeholder.js @@ -60,7 +60,7 @@ var PlaceHolder = function(session, length, pos, others, mainClass, othersClass) this.$pos = pos; // Used for reset - this.$undoStackDepth = session.getUndoManager().$undoStack ? session.getUndoManager().$undoStack.length : -1; + this.$undoStackDepth = session.getUndoManager().$undostack ? session.getUndoManager().$undostack.length : -1; this.setup(); session.selection.on("changeCursor", this.$onCursorChange); @@ -202,7 +202,7 @@ var PlaceHolder = function(session, length, pos, others, mainClass, othersClass) if(this.$undoStackDepth === -1) throw Error("Canceling placeholders only supported with undo manager attached to session."); var undoManager = this.session.getUndoManager(); - var undosRequired = undoManager.$undoStack.length - this.$undoStackDepth; + var undosRequired = undoManager.$undostack.length - this.$undoStackDepth; for (var i = 0; i < undosRequired; i++) { undoManager.undo(true); } From 0329c100317daa52c751bb4b3ed8c32596e80693 Mon Sep 17 00:00:00 2001 From: Mostafa Eweda Date: Fri, 9 Mar 2012 00:52:20 +0200 Subject: [PATCH 2/2] Fixing typo followup, try fixing the corrupted tests --- lib/ace/placeholder_test.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/ace/placeholder_test.js b/lib/ace/placeholder_test.js index fb1ddf01..bafb1de3 100644 --- a/lib/ace/placeholder_test.js +++ b/lib/ace/placeholder_test.js @@ -140,6 +140,8 @@ module.exports = { "test: cancel": function(next) { var session = new EditSession("var a = 10;\nconsole.log(a, a);", new JavaScriptMode()); session.setUndoManager(new UndoManager()); + // hack around the difference between full ACE context and C9 world + session.getUndoManager().$undostack = session.getUndoManager().$undoStack; var editor = new Editor(new MockRenderer(), session); var p = new PlaceHolder(session, 1, {row: 0, column: 4}, [{row: 1, column: 12}, {row: 1, column: 15}]);