diff --git a/lib/ace/editor.js b/lib/ace/editor.js index 4055d2b2..807d1d2a 100644 --- a/lib/ace/editor.js +++ b/lib/ace/editor.js @@ -228,9 +228,15 @@ var Editor =function(renderer, session) { }; this.onDocumentChange = function(e) { - var data = e.data; - this.bgTokenizer.start(data.firstRow); - this.renderer.updateLines(data.firstRow, data.lastRow); + var delta = e.data; + var range = delta.range; + + this.bgTokenizer.start(range.start.row); + if (range.start.row == range.end.row) + var lastRow = range.end.row; + else + lastRow = Infinity; + this.renderer.updateLines(range.start.row, lastRow); // update cursor because tab characters can influence the cursor position this.renderer.updateCursor(this.getCursorPosition(), this.$overwrite);