Skip to content

spec: smart-quote contextual rule + task states + re-vendor (P2.6, P2.15) - #31

Merged
dereuromark merged 1 commit into
mainfrom
spec/p2-smartquote-taskstates
May 21, 2026
Merged

spec: smart-quote contextual rule + task states + re-vendor (P2.6, P2.15)#31
dereuromark merged 1 commit into
mainfrom
spec/p2-smartquote-taskstates

Conversation

@dereuromark

Copy link
Copy Markdown
Contributor

Spec catch-up for the carve-js fixes (#26 smart quote, #27 task states), plus the matching corpus + re-vendor.

  • §4.18 documents the contextual single-quote rule — a ' before a digit is an apostrophe ('70s’70s, '24'’24’) — and fixes the smart-quote table to show actual curly glyphs instead of straight quotes (also closes P3.10).
  • grammar task_state adds _ and a note: x/X checked, all other states ( , -, _, >, ?) unchecked. Matches djot-php.
  • carve-lib re-vendored from carve-js main.
  • corpus: 37-smart-typography-dashes-and-quotes-2 (elision) and 06-task-lists-2 (extra states), both verified byte-identical against carve-php.

100/100 corpus + normativity pass.

….15)

- syntax.md §4.18: documents the contextual single-quote rule (a
  before a digit is an apostrophe -- '70s -> ’70s, '24' -> ’24’) and
  fixes the smart-quote table to show actual curly glyphs instead of
  straight quotes (also P3.10).
- grammar task_state: adds  and a note that x/X are checked, all
  other states ('', -, _, >, ?) are unchecked. Matches djot-php.
- carve-lib re-vendored from carve-js main (smart-quote + task-state
  fixes, carve-js#26/#27).
- corpus: 37-smart-typography-dashes-and-quotes-2 (single-quote
  elision) and 06-task-lists-2 (extra states), both verified against
  carve-php.

100/100 corpus + normativity pass.
@dereuromark
dereuromark merged commit 1513400 into main May 21, 2026
2 checks passed
@dereuromark
dereuromark deleted the spec/p2-smartquote-taskstates branch May 21, 2026 23:50
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