Overview
Comment: | [core][js] catch error in Map |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk | core |
Files: | files | file ages | folders |
SHA3-256: |
bfd183b930d210959cd1a2207c546e46 |
User & Date: | olr on 2017-07-31 05:41:46 |
Other Links: | manifest | tags |
Context
2017-07-31
| ||
06:52 | [core][js] log error with helpers check-in: 6eb67129ef user: olr tags: trunk, core | |
05:41 | [core][js] catch error in Map check-in: bfd183b930 user: olr tags: trunk, core | |
04:55 | [fx][core][js] WebExtension: merge with 0053e9898b check-in: a43bd18afb user: olr tags: trunk, fx | |
Changes
Modified gc_core/js/jsex_regex.js from [cba83b3853] to [ebc9cfd90d].
︙ | ︙ | |||
21 22 23 24 25 26 27 | return null; } let codePos; let iPos = 0; m.start = [m.index]; m.end = [this.lastIndex]; | > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > > > > | 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | return null; } let codePos; let iPos = 0; m.start = [m.index]; m.end = [this.lastIndex]; try { if (m.length > 1) { // there is subgroup(s) if (aGroupsPos !== null) { // aGroupsPos is defined for (let i = 1; i <= m.length-1; i++) { codePos = aGroupsPos[i-1]; if (typeof codePos === "number") { // position as a number m.start.push(m.index + codePos); m.end.push(m.index + codePos + m[i].length); } else if (codePos === "$") { // at the end of the pattern m.start.push(this.lastIndex - m[i].length); m.end.push(this.lastIndex); } else if (codePos === "w") { // word in the middle of the pattern iPos = m[0].search("[ ’,()«»“”]"+m[i]+"[ ,’()«»“”]") + 1 + m.index m.start.push(iPos); m.end.push(iPos + m[i].length) } else if (codePos === "*") { // anywhere iPos = m[0].indexOf(m[i]) + m.index; m.start.push(iPos); m.end.push(iPos + m[i].length) } else if (codePos === "**") { // anywhere after previous group iPos = m[0].indexOf(m[i], m.end[i-1]-m.index) + m.index; m.start.push(iPos); m.end.push(iPos + m[i].length) } else if (codePos.startsWith(">")) { // >x:_ // todo: look in substring x iPos = m[0].indexOf(m[i]) + m.index; m.start.push(iPos); m.end.push(iPos + m[i].length); } else { console.error("# Error: unknown positioning code in regex [" + this.source + "], for group[" + i.toString() +"], code: [" + codePos + "]"); } } } else { // no aGroupsPos for (let subm of m.slice(1)) { iPos = m[0].indexOf(subm) + m.index; m.start.push(iPos); m.end.push(iPos + subm.length); } } } } catch (e) { console.error(e); } return m; } RegExp.prototype.grammalecte = true; } |