Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

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

Cerrado
#943 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Ya se ha fusionado un pull request relacionado.

  • #969 de @cscheid — fusionado

Evaluación

Dificultad
4/5
Tiempo estimado
1-2 días
Aptitud para principiantes
56/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
rust
Área
backend

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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

Lenguaje dominante
Rust
Estrellas
283
Forks
20
Merge medio
19 h 28 min
PR fusionados (30 d)
174

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de quarto-dev/q2

Todos los issues de quarto-dev/q2

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.