diff --git a/src/markdown/parse/inline-content.ts b/src/markdown/parse/inline-content.ts index 1cf736e..93f57fa 100644 --- a/src/markdown/parse/inline-content.ts +++ b/src/markdown/parse/inline-content.ts @@ -39,7 +39,7 @@ type Run = { canClose: boolean; canOpen: boolean; character: string; index: numb // `container` is `undefined` inside a directive's content slot, the emitter's `bracketed`. type Scan = { container: LineContainer | undefined - // Pieces below this have been walked for openers to deactivate: one left active reaches closeLink, whose image and carry guards refuse what literal brackets hold fine. + // Pieces below this have been walked for openers to deactivate: one left active reaches closeLink, whose image and carry guards refuse a span going literal anyway. deactivatedBefore: number definitions: LinkDefinitions openingSpellableLink: boolean @@ -369,7 +369,7 @@ function closeLink(scan: Scan, at: number, inner: readonly Piece[], definition: // CommonMark: no link nests inside another, though an image's description holds one. function deactivateOpeners(scan: Scan, before: number): void { - for (let index = Math.min(scan.deactivatedBefore, before); index < before; index += 1) { + for (let index = scan.deactivatedBefore; index < before; index += 1) { const piece = scan.pieces[index] if (piece?.kind === 'open' && !piece.image) piece.active = false } diff --git a/src/markdown/parse/markdown-to-adf.test.ts b/src/markdown/parse/markdown-to-adf.test.ts index b2f32bd..12073f8 100644 --- a/src/markdown/parse/markdown-to-adf.test.ts +++ b/src/markdown/parse/markdown-to-adf.test.ts @@ -841,7 +841,6 @@ test('leaves the brackets of a link whose text already holds one the text they a ]) }) -// Literal brackets hold what no mark may, so the openers they doom give way before closeLink refuses a carry or an image inside them. test('keeps the carry and the image the brackets a nested link leaves literal hold', () => { assert.deepEqual(content(markdownToAdf('[[](/c)!adf:carry{json="{\\"type\\":\\"blockCard\\"}"}](/w)\n')), [ { content: [text('[['), marked('http://x/', link('http://x/')), text('](/c)'), { type: 'blockCard' }, text('](/w)')], type: 'paragraph' },