diff --git a/addons/addon-search/src/SearchEngine.ts b/addons/addon-search/src/SearchEngine.ts index 7e89c03a1..1760bc2bd 100644 --- a/addons/addon-search/src/SearchEngine.ts +++ b/addons/addon-search/src/SearchEngine.ts @@ -60,7 +60,7 @@ export class SearchEngine { this._terminal.clearSelection(); return undefined; } - if (startCol > this._terminal.cols) { + if (startCol >= this._terminal.cols) { throw new Error(`Invalid col: ${startCol} to search in terminal of ${this._terminal.cols} cols`); } diff --git a/addons/addon-web-links/src/WebLinkProvider.ts b/addons/addon-web-links/src/WebLinkProvider.ts index 0a826eb3a..5df5d268a 100644 --- a/addons/addon-web-links/src/WebLinkProvider.ts +++ b/addons/addon-web-links/src/WebLinkProvider.ts @@ -57,7 +57,8 @@ function isUrl(urlString: string): boolean { export class LinkComputer { public static computeLink(y: number, regex: RegExp, terminal: Terminal, activate: (event: MouseEvent, uri: string) => void): ILink[] { - const rex = new RegExp(regex.source, (regex.flags || '') + 'g'); + const flags = regex.flags.includes('g') ? regex.flags : `${regex.flags}g`; + const rex = new RegExp(regex.source, flags); const [lines, startLineIndex] = LinkComputer._getWindowedLineStrings(y - 1, terminal); const line = lines.join(''); diff --git a/addons/addon-webgl/src/TextureAtlas.ts b/addons/addon-webgl/src/TextureAtlas.ts index 53d2d056f..9d42ca9e1 100644 --- a/addons/addon-webgl/src/TextureAtlas.ts +++ b/addons/addon-webgl/src/TextureAtlas.ts @@ -191,7 +191,7 @@ export class TextureAtlas implements ITextureAtlas { return newPage; } - const sortedMergingPagesIndexes = mergingPages.map(e => e.glyphs[0].texturePage).sort((a, b) => a > b ? 1 : -1); + const sortedMergingPagesIndexes = mergingPages.map(e => e.glyphs[0].texturePage).sort((a, b) => a - b); const mergedPageIndex = this.pages.length - mergingPages.length; // Merge into the new page