diff --git a/lib/ace/edit_session.js b/lib/ace/edit_session.js index fc4a3fcf..f3f2315f 100644 --- a/lib/ace/edit_session.js +++ b/lib/ace/edit_session.js @@ -1425,13 +1425,18 @@ var EditSession = function(text, mode) { } } - splits = this.$wrapData[docRow] || []; + // clamp row before clamping column, for selection on last line + var maxRow = this.getLength()-1 + if(docRow > maxRow) + docRow = maxRow; + foldLine = this.getFoldLine(docRow); line = foldLine ? this.getFoldDisplayLine(foldLine) : this.getLine(docRow); if (this.$useWrapMode) { + splits = this.$wrapData[docRow] || []; docColumn = split = splits[screenRow - row - 1] || 0; line = line.substring(split); }