Skip to content

Commit 9148c0d

Browse files
gh-97740: Fix bang in Sphinx C domain ref target syntax (#97741)
* gh-97740: Fix bang in Sphinx C domain ref target syntax Co-authored-by: Adam Turner <[email protected]> * Add NEWS entry for C domain bang fix Co-authored-by: Adam Turner <[email protected]>
1 parent 19ca114 commit 9148c0d

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

Doc/conf.py

+15
Original file line numberDiff line numberDiff line change
@@ -249,3 +249,18 @@
249249
# bpo-40204: Disable warnings on Sphinx 2 syntax of the C domain since the
250250
# documentation is built with -W (warnings treated as errors).
251251
c_warn_on_allowed_pre_v3 = False
252+
253+
# Fix '!' not working with C domain when pre_v3 is enabled
254+
import sphinx
255+
256+
if sphinx.version_info[:2] < (5, 3):
257+
from sphinx.domains.c import CXRefRole
258+
259+
original_run = CXRefRole.run
260+
261+
def new_run(self):
262+
if self.disabled:
263+
return super(CXRefRole, self).run()
264+
return original_run(self)
265+
266+
CXRefRole.run = new_run
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Fix ``!`` in c domain ref target syntax via a ``conf.py`` patch, so it works
2+
as intended to disable ref target resolution.

0 commit comments

Comments
 (0)