Skip to content

chore: bump the engine past the language attribute - #33

Closed
dereuromark wants to merge 1 commit into
mainfrom
chore/bump-engine-language-attribute
Closed

chore: bump the engine past the language attribute#33
dereuromark wants to merge 1 commit into
mainfrom
chore/bump-engine-language-attribute

Conversation

@dereuromark

Copy link
Copy Markdown
Contributor

The pin sat at carve-rs 6f1d9bf, four commits before the {:TAG} language attribute shipped.

[x]{:fr}
<p>[x]{:fr}</p>                      <!-- this package -->
<p><span lang="fr">x</span></p>      <!-- carve-js, carve-php, carve-rs, carve-py, carve-go -->

Same document, two answers, decided by which binding the reader installed. {:fr} is exact sugar for {lang=fr}, {:} is the explicit "language unknown" form desugaring to lang="", and a malformed tag leaves the whole block literal instead of half-parsing it.

Measured in carve-rs 9130a7c - the revision this moves to - against carve-php 520ea41 and carve-js a59df0fa: byte-identical on the sugar, the empty form, the collision with an authored lang=, the padding rule ({: fr} is the empty attribute plus a boolean) and the malformed cases.

The bump also brings the Markdown importer, which is where the new pulldown-cmark, memchr and unicase entries in the lock come from.

Companion bumps: markup-carve/carve-py#38 and markup-carve/carve-go#38 (both merged), and markup-carve/carve-wasm for the same window.

The pin sat at carve-rs 6f1d9bf, four commits before the `{:TAG}` language
attribute shipped. So this package left

    [x]{:fr}

as literal text while carve-js, carve-php, carve-rs, carve-py and carve-go all
rendered `<span lang="fr">x</span>`: the same document, two answers, decided by
which binding the reader installed.

`{:fr}` is exact sugar for `{lang=fr}`, `{:}` is the explicit "language
unknown" form that desugars to `lang=""`, and a malformed tag leaves the whole
block literal rather than half-parsing it.

Measured in carve-rs 9130a7c, the revision this moves to, against carve-php
520ea41 and carve-js a59df0fa: byte-identical on the sugar, the empty form, the
collision with an authored `lang=`, the padding rule and the malformed cases.
The bump also brings the Markdown importer, which is where the new
pulldown-cmark entries in the lock come from.
@dereuromark

Copy link
Copy Markdown
Contributor Author

Superseded by #34, which is merged.

This branch pins carve-rs 9130a7c7. main now pins 98de7874, and 9130a7c7 is an ancestor of it, 44 commits behind. Merging this as it stands would move the engine pin backwards, taking composite figures (PART 9 section 4c) and the cell-attribute order back out, and the corpus job would go from 0 diverging documents to some number greater than zero.

The language-attribute change this branch was opened for is included in 98de7874, so nothing here is lost by closing it. Measured on main after #34: 1025/1025 corpus documents byte-identical through the built artifact.

@dereuromark

Copy link
Copy Markdown
Contributor Author

This would regress the engine pin. Merging it as it stands removes composite figures from carve-wasm.

It bumps to 9130a7c7. Since it was opened, markup-carve/carve-wasm#34 moved the pin to 98de7874, and 9130a7c7 is an ANCESTOR of that by 44 commits - so this is a move backwards, not forwards. carve-rs gained PART 9 §4c in markup-carve/carve-rs#986 (49c513d6) and the cell-attribute rule in #996, both of which land between the two revisions.

Measured: figure_group appears in eleven carve-rs source files at 98de7874 and in zero at 9130a7c7. carve-wasm's corpus went from 94 divergences to 0 on the current pin; taking it back to 9130a7c7 reintroduces the eleven 318-composite-figures documents and the six 319-cell-attributes-bind-after-the-kind-and-alignment-markers documents as failures.

The language attribute this PR is titled for is already included at the newer pin, so nothing here is lost by closing it.

@dereuromark
dereuromark deleted the chore/bump-engine-language-attribute branch August 16, 2026 02:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant