This commit is contained in:
@@ -185,13 +185,16 @@ detail is settled at its own milestone.
|
|||||||
too — CommonMark destination spelling `emitLink` and `tryImageLine` share, and the six
|
too — CommonMark destination spelling `emitLink` and `tryImageLine` share, and the six
|
||||||
concerns that file carries are one fewer for it. `AttributeKind` and `AttributeVocabulary`
|
concerns that file carries are one fewer for it. `AttributeKind` and `AttributeVocabulary`
|
||||||
follow the walk into `adf/`, the vocabulary a string-typed attribute grammar needs and
|
follow the walk into `adf/`, the vocabulary a string-typed attribute grammar needs and
|
||||||
HTML will want too, not a markdown spelling. Two questions land here. The node tables are
|
HTML will want too, not a markdown spelling.
|
||||||
a second copy of `spec/flavour.md`'s prose with no drift guard, and a mistyped attribute
|
**Settled** (the maintainer, 2026-08-27): `markdown/` parts here as well, into `emit/` and
|
||||||
name degrades into a false refusal no test catches — 3g builds the guard where a wrong
|
`parse/` with the shared set at the root — the grammar module, emphasis matching,
|
||||||
entry starts refusing documents, if it is worth building. And whether `markdown/` parts
|
destination spelling, the tables' markdown halves — and `parse/` arriving with 3b's first
|
||||||
again into its emit and parse halves now, while the move is still mechanical and the
|
file, the rule `html/` already follows. And the node tables, a second copy of
|
||||||
shared set — the grammar module, emphasis matching, destination spelling, the tables'
|
`spec/flavour.md`'s prose whose mistyped attribute name degrades into a false refusal no
|
||||||
markdown halves — is already known.
|
test catches, get their guard: a test reads the spec's node sections, takes each
|
||||||
|
`name (type)` list and asserts it equals the table, leaving the spec the source a human
|
||||||
|
writes with no build step and no generated file. It is built at 3g, where a wrong entry
|
||||||
|
starts refusing documents.
|
||||||
- [ ] **3b — The leaf blocks.** The line walk that opens and closes a block, ahead of any inline
|
- [ ] **3b — The leaf blocks.** The line walk that opens and closes a block, ahead of any inline
|
||||||
parsing: paragraph, ATX and setext heading, thematic break, fenced and indented code
|
parsing: paragraph, ATX and setext heading, thematic break, fenced and indented code
|
||||||
block, the HTML block whose lines it swallows whether or not the construct then errors,
|
block, the HTML block whose lines it swallows whether or not the construct then errors,
|
||||||
@@ -206,14 +209,15 @@ detail is settled at its own milestone.
|
|||||||
rather than editing them.
|
rather than editing them.
|
||||||
- [ ] **3c — The container blocks.** Blockquote, bullet and ordered list: the continuation a
|
- [ ] **3c — The container blocks.** Blockquote, bullet and ordered list: the continuation a
|
||||||
marker's width sets, lazy continuation, and the tightness ADF does not record — `> `
|
marker's width sets, lazy continuation, and the tightness ADF does not record — `> `
|
||||||
repeated being two bytes a level, so this is the cheapest way to reach §11's 500. Two
|
repeated being two bytes a level, so this is the cheapest way to reach §11's 500.
|
||||||
decisions land here, each holding a `corpus/unspellable/` document. Whether a claimed
|
**Settled** (the maintainer, 2026-08-27): a claimed line ends lazy continuation, so a
|
||||||
line interrupts a paragraph is pinned for the plain case and unstated for the lazy one — a
|
closing fence on the line after a blockquote's open paragraph closes its container instead
|
||||||
closing fence on the line after a blockquote's open paragraph is lazy continuation in
|
of continuing the paragraph CommonMark would fold it into. Claiming at block level is
|
||||||
CommonMark, which would swallow the fence and leave the container unclosed, and 2e1's
|
already absolute, and this binds input alone — 2e1's `closing-fence-line` orders the
|
||||||
`closing-fence-line` orders its blockquote away from that edge meanwhile. And 2b's
|
emitter's blockquote away from the edge either way — so `spec/flavour.md`'s claiming
|
||||||
tight-versus-blank separation, which `nested-list-tight` waits on: how the parser reads a
|
paragraph gains the case here. 2b's tight-versus-blank separation lands here too, the one
|
||||||
nested list after a block is the spelling the emitter owes, one answer for both.
|
`nested-list-tight` waits on: how the parser reads a nested list after a block is the
|
||||||
|
spelling the emitter owes, one answer for both.
|
||||||
- [ ] **3d — Inline text.** The inline scanner over a block's content: backslash escapes,
|
- [ ] **3d — Inline text.** The inline scanner over a block's content: backslash escapes,
|
||||||
entity references decoding to their characters, code spans and the literal they hold —
|
entity references decoding to their characters, code spans and the literal they hold —
|
||||||
directive syntax and `~~` included — CommonMark's own hard breaks, a trailing backslash
|
directive syntax and `~~` included — CommonMark's own hard breaks, a trailing backslash
|
||||||
@@ -260,15 +264,15 @@ detail is settled at its own milestone.
|
|||||||
named error, a carry inside a mark spelling another, and the three carve-outs' escapes
|
named error, a carry inside a mark spelling another, and the three carve-outs' escapes
|
||||||
reading as the literal text they hold.
|
reading as the literal text they hold.
|
||||||
- [ ] **3k — The CommonMark spec suite.** Checked in at `corpus/commonmark-spec/`, pinned to
|
- [ ] **3k — The CommonMark spec suite.** Checked in at `corpus/commonmark-spec/`, pinned to
|
||||||
the version it ships, `corpus/README.md` gaining the kind. What it asserts is the
|
the version it ships, `corpus/README.md` gaining the kind.
|
||||||
question, and there are three answers. §2's canonical fixpoint alone — every example
|
**Settled** (the maintainer, 2026-08-27): three checks an example must pass, the reference
|
||||||
either a named error, or emitting markdown that parses and emits to itself byte for byte —
|
HTML each ships read as corpus data — which adds no format and no direction (§1). §2's
|
||||||
is self-consistency, which a parser returning the empty document and one dropping every
|
canonical fixpoint: a named error, or markdown that parses and emits to itself byte for
|
||||||
emphasis both pass. Each example ships its own reference HTML, and reading that as corpus
|
byte. That HTML's text, tags stripped and entities decoded, against the parsed document's
|
||||||
data adds no format and no direction (§1): the fixpoint plus that HTML's text with tags
|
concatenated `text`. And a count of the dozen elements the CommonMark subset covers
|
||||||
stripped, against the parsed document's concatenated `text`, catches the first, and the
|
against the marks and nodes they map to. The fixpoint alone is self-consistency a parser
|
||||||
fixpoint plus a count of the dozen elements the CommonMark subset covers catches both. The
|
returning the empty document passes, and the text alone one dropping every emphasis; the
|
||||||
pick, and the exception list whichever it is, are the maintainer's. One outcome is no
|
counts close both. The exception list stays the maintainer's. One outcome is no
|
||||||
exception and must not be filed as one: valid CommonMark parsing to a document
|
exception and must not be filed as one: valid CommonMark parsing to a document
|
||||||
`adfToMarkdown` refuses is a §2 hole, which is what three of `corpus/unspellable/`'s four
|
`adfToMarkdown` refuses is a §2 hole, which is what three of `corpus/unspellable/`'s four
|
||||||
hold until 3c, 3e and 3h land their answers. The parser's `ConvertErrorCode` additions
|
hold until 3c, 3e and 3h land their answers. The parser's `ConvertErrorCode` additions
|
||||||
|
|||||||
Reference in New Issue
Block a user