diff --git a/src/vs/editor/common/model/textModel.ts b/src/vs/editor/common/model/textModel.ts index 44af80dd2b4..7b80aec512f 100644 --- a/src/vs/editor/common/model/textModel.ts +++ b/src/vs/editor/common/model/textModel.ts @@ -491,17 +491,20 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo if (lineNumber < 1) { lineNumber = 1; - } - if (lineNumber > this._lines.length) { - lineNumber = this._lines.length; - } - - if (column < 1) { column = 1; } - var maxColumn = this.getLineMaxColumn(lineNumber); - if (column > maxColumn) { - column = maxColumn; + else if (lineNumber > this._lines.length) { + lineNumber = this._lines.length; + column = this.getLineMaxColumn(lineNumber); + } + else { + var maxColumn = this.getLineMaxColumn(lineNumber); + if (column < 1) { + column = 1; + } + else if (column > maxColumn) { + column = maxColumn; + } } return new Position(lineNumber, column); @@ -837,4 +840,4 @@ export class RawText { }); } -} \ No newline at end of file +} diff --git a/src/vs/workbench/api/node/extHostDocuments.ts b/src/vs/workbench/api/node/extHostDocuments.ts index df2d8c72622..c2b3e69ab63 100644 --- a/src/vs/workbench/api/node/extHostDocuments.ts +++ b/src/vs/workbench/api/node/extHostDocuments.ts @@ -393,24 +393,25 @@ export class ExtHostDocumentData extends MirrorModel2 { if (line < 0) { line = 0; - hasChanged = true; - } - - if (line >= this._lines.length) { - line = this._lines.length - 1; - hasChanged = true; - } - - if (character < 0) { character = 0; hasChanged = true; } - - let maxCharacter = this._lines[line].length; - if (character > maxCharacter) { - character = maxCharacter; + else if (line >= this._lines.length) { + line = this._lines.length - 1; + character = this._lines[line].length; hasChanged = true; } + else { + let maxCharacter = this._lines[line].length; + if (character < 0) { + character = 0; + hasChanged = true; + } + else if (character > maxCharacter) { + character = maxCharacter; + hasChanged = true; + } + } if (!hasChanged) { return position; @@ -673,4 +674,4 @@ export class MainThreadDocuments { } }, onUnexpectedError); } -} \ No newline at end of file +}