diff --git a/lib/ace/placeholder.js b/lib/ace/placeholder.js index 4b5ba4e7..f0fa5b46 100644 --- a/lib/ace/placeholder.js +++ b/lib/ace/placeholder.js @@ -117,6 +117,8 @@ var PlaceHolder = function(session, length, pos, others, mainClass, othersClass) var range = delta.range; if(range.start.row !== range.end.row) return; if(range.start.row !== this.pos.row) return; + if (this.$updating) return; + this.$updating = true; var lengthDiff = delta.action === "insertText" ? range.end.column - range.start.column : range.start.column - range.end.column; if(range.start.column >= this.pos.column && range.start.column <= this.pos.column + this.length + 1) { @@ -169,9 +171,11 @@ var PlaceHolder = function(session, length, pos, others, mainClass, othersClass) this.others[i]._emit("change", {value: this.others[i]}); } } + this.$updating = false; }; this.onCursorChange = function(event) { + if (this.$updating) return; var pos = this.session.selection.getCursor(); if(pos.row === this.pos.row && pos.column >= this.pos.column && pos.column <= this.pos.column + this.length) { this.showOtherMarkers();