oxidecomputer / oxidecomputer/prettier-plugin-asciidoc

A reflow join onto a /// near-miss line heading an item's comment run makes the run reach the buffer end and drop from the render

Open
#258 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

conformance mechanism:reflow-join obligation:meaning-preservation reflow-hazard tier-1
Dominant language
TypeScript
Stars
0
Forks
1
PR merge metrics
No merged PRs in 30d

Description

What happens

* a / //c / ///d / b formats to * a / //c / ///d b. The reflow join pulls b up onto the /// near-miss line, which makes the item's leading // run reach the end of the item's buffer, so the head drain's drop arm applies on the second read and the whole run vanishes. The input renders <p>a ///d b</p> (Ruby 2.0.26 and @asciidoctor/core 4.0.11 agree); the output renders <p>a</p>. Same on . a, - a, and a nested ** b. Pre-existing on main; 4 of 594 rows in the #234 change's sweep, the one family that change (reader-side) cannot reach.

The rule the printer is missing

A line behind a /// line that heads an item's // run may not be joined onto it. Under the #195 design the whole-line check refuses the join because the joined line reads differently (the run reaches the buffer end); until then it is a print-side guard at the item-text join. Related: #234, #211. Found 2026-09-06.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue with the listed * a / //c / ///d / b input, then trace the printer-side item-text join and reflow logic. Read related issues #234, #211, and the #195 design; done means the ///d b content remains rendered rather than producing only a.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
57/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.