From 5fc0e0b26e5755f6b119e4d5ed3d79eedb7653ff Mon Sep 17 00:00:00 2001 From: nightwing Date: Wed, 1 May 2013 16:30:02 +0400 Subject: [PATCH] do not call unshift in getTextRange --- lib/ace/document.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/ace/document.js b/lib/ace/document.js index a60ed0e9..0fb91209 100644 --- a/lib/ace/document.js +++ b/lib/ace/document.js @@ -231,15 +231,15 @@ var Document = function(text) { **/ this.getTextRange = function(range) { if (range.start.row == range.end.row) { - return this.$lines[range.start.row].substring(range.start.column, - range.end.column); - } - else { - var lines = this.getLines(range.start.row+1, range.end.row-1); - lines.unshift((this.$lines[range.start.row] || "").substring(range.start.column)); - lines.push((this.$lines[range.end.row] || "").substring(0, range.end.column)); - return lines.join(this.getNewLineCharacter()); + return this.$lines[range.start.row] + .substring(range.start.column, range.end.column); } + var lines = this.getLines(range.start.row, range.end.row); + lines[0] = (lines[0] || "").substring(range.start.column); + var l = lines.length - 1; + if (range.end.row - range.start.row == l) + lines[l] = lines[l].substring(0, range.end.column); + return lines.join(this.getNewLineCharacter()); }; this.$clipPosition = function(position) {