Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

pampa: plural possessive apostrophes (`Dogs' toys`) are reported as Q-2-10 and fail the render

Chiusa
#943 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Una pull request collegata è già stata integrata.

  • #969 di @cscheid — integrata

Valutazione

Difficoltà
4/5
Tempo stimato
1-2 giorni
Idoneità per principianti
56/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
rust
Ambito
backend

Direzione di ricerca

Start with the inline quote parser and the Q-2-10 documentation at docs/errors/markdown/Q-2-10.qmd; compare how it handles a closing quote with an apostrophe after a word. Reproduce with the provided Dogs' toys and cats' toys. input and check single, plural, and contraction cases. Done means these apostrophes render without Q-2-10 while unmatched closing quotes still report the diagnostic.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug

Reported by @atheriel while porting the Posit Connect documentation from Quarto 1.9.32 to q2 0.36.0. Reproduced on main at 3f7d4b0e8 (q2 0.36.0, macOS). Split out of a larger report; see #939 for the full list of siblings.

Problem

A plural possessive (Dogs' toys) is an apostrophe followed by a space. The inline parser reads it as a closing single quote, finds no opener, and reports [Q-2-10] Closed Quote Without Matching Open Quote. The document then fails to render.

Pandoc renders the same input as <p>Dogs’ toys and cats’ toys.</p>.

The Connect docs hit this about 20 times, in ordinary prose such as "users' and groups' DNs". Escaping (groups\') or typing ’ works around it, but neither should be needed for standard English.

Repro

Dogs' toys and cats' toys.
$ q2 render a.qmd --to html
Error: [Q-2-10] Closed Quote Without Matching Open Quote
   ╭─[ a.qmd:1:6 ]
 1 │ Dogs' toys and cats' toys.
   │     ┬┬
   │     ╰──── No opening quote was found before this mark. If you meant an apostrophe, escape it with a backslash.
   │      │
   │      ╰── A space is causing a quote mark to be interpreted as a quotation close.
...
2 errors
$ echo $?
1

My results on 0.36.0 differ slightly from the original report, which said a single possessive in a paragraph passes. Here every case fails, including the single one:

Input Result
Cats' toys. Q-2-10
Dogs' toys and cats' toys. Q-2-10 ×2
Two possessives across a soft line break Q-2-10 ×2
Two possessives in separate paragraphs Q-2-10 ×2
- Dogs' toys. / - Cats' toys. as list items Q-2-10 ×1 (first item only)
It's the cats' toys. Q-2-10
Cats' at end of block OK
Dogs\' toys and cats\' toys. OK, renders Dogs’ toys and cats’ toys.

The list-item case reporting only the first item suggests error recovery drops the second diagnostic rather than that the second item parses; see also #230 and #232.

Expected

An apostrophe directly after a word character and followed by whitespace or punctuation, with no open single quote pending in the block, should be read as an apostrophe (right single quotation mark), as pandoc does. The Q-2-10 doc page (docs/errors/markdown/Q-2-10.qmd) already describes contractions and possessives as the most common false positive, so this is a known sharp edge, but plural possessives are too common in prose to require escaping.

Related: #221 (apostrophe after a code span trips Q-2-7).

cc @atheriel

Lingua principale
Rust
Stelle
283
Fork
20
Merge medio
19h 28m
PR unite (30g)
174

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di quarto-dev/q2

Tutte le issue di quarto-dev/q2

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.