Skip to content

Fix SmartQuotes cache reuse across builders - #14719

Open
Walentalien wants to merge 10 commits into
sphinx-doc:masterfrom
Walentalien:fix-smartquotes-builder-cache
Open

Walentalien wants to merge 10 commits into
sphinx-doc:masterfrom
Walentalien:fix-smartquotes-builder-cache

Conversation

@Walentalien

@Walentalien Walentalien commented Oct 3, 2026 •

Copy link
Copy Markdown

Purpose

I was working on fixing spellcheck for this project here when i ran into this.
Contractions with curly apostrophes in source were reported as errors.
I first fixed the source text (replaced with regular apostrophes that later are replaced through sphinx) but the build still reported same errors.
That because Sphinx was reusing cached docstrees from previous builder.
The workaround described in Sphinx docs is to build with -E option: https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-smartquotes-excludes

This pr moves that responsibility for invalidating cache when builder-dependent Smart Quote state changes to Sphinx.
Builders with same state can continue reusing the cache.

References

Fixes #4371
Refs #8974
SystemsApproach/7E#58

AI Disclosure

gpt-sol-6.1 was used to implement/revise code.
chatGPT was used for investigation/reasoning/planning.
gemini-flash-3.8-flash was used to help with debugging.

All changes except doc/usage/configuration.rst were generated using aforementioned tools.

CI note

The CI failures are unrelated to this PR and are being addressed in other PRs

@Walentalien Walentalien changed the title Fix smartquotes builder cache Fix SmartQuotes cache resuing across builds Oct 3, 2026
@Walentalien Walentalien changed the title Fix SmartQuotes cache resuing across builds Fix SmartQuotes cache reuse across builders Oct 3, 2026

This branch has not been deployed

No deployments
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.

Move smart_quotes feature to post_transform

1 participant