Skip to content

Commit be6593b

Browse files
authored
Prefer current_document.docname (#13669)
1 parent 551b842 commit be6593b

File tree

36 files changed

+79
-59
lines changed

36 files changed

+79
-59
lines changed

doc/development/tutorials/examples/recipe.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ def add_recipe(self, signature, ingredients):
165165
name,
166166
signature,
167167
'Recipe',
168-
self.env.docname,
168+
self.env.current_document.docname,
169169
anchor,
170170
0,
171171
))

doc/development/tutorials/examples/todo.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ def run(self):
4444
self.env.todo_all_todos = []
4545

4646
self.env.todo_all_todos.append({
47-
'docname': self.env.docname,
47+
'docname': self.env.current_document.docname,
4848
'lineno': self.lineno,
4949
'todo': todo_node.deepcopy(),
5050
'target': targetnode,

sphinx/builders/latex/transforms.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class FootnoteDocnameUpdater(SphinxTransform):
4040
def apply(self, **kwargs: Any) -> None:
4141
matcher = NodeMatcher(*self.TARGET_NODES)
4242
for node in matcher.findall(self.document):
43-
node['docname'] = self.env.docname
43+
node['docname'] = self.env.current_document.docname
4444

4545

4646
class SubstitutionDefinitionsRemover(SphinxPostTransform):

sphinx/builders/linkcheck.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@ def _add_uri(self, uri: str, node: nodes.Element) -> None:
261261
"""
262262
builder = cast('CheckExternalLinksBuilder', self.env._app.builder)
263263
hyperlinks = builder.hyperlinks
264-
docname = self.env.docname
264+
docname = self.env.current_document.docname
265265

266266
if newuri := self.env.events.emit_firstresult('linkcheck-process-uri', uri):
267267
uri = newuri

sphinx/directives/other.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ class TocTree(SphinxDirective):
6363

6464
def run(self) -> list[Node]:
6565
subnode = addnodes.toctree()
66-
subnode['parent'] = self.env.docname
66+
subnode['parent'] = self.env.current_document.docname
6767

6868
# (title, ref) pairs, where ref may be a document, or an external link,
6969
# and title may be None if the document's title is to be used
@@ -90,7 +90,7 @@ def parse_content(self, toctree: addnodes.toctree) -> None:
9090
"""Populate ``toctree['entries']`` and ``toctree['includefiles']`` from content."""
9191
generated_docnames = frozenset(StandardDomain._virtual_doc_names)
9292
suffixes = self.config.source_suffix
93-
current_docname = self.env.docname
93+
current_docname = self.env.current_document.docname
9494
glob = toctree['glob']
9595

9696
# glob target documents
@@ -267,7 +267,7 @@ def run(self) -> list[Node]:
267267
if len(children) != 1 or not isinstance(children[0], nodes.bullet_list):
268268
logger.warning(
269269
__('.. acks content is not a list'),
270-
location=(self.env.docname, self.lineno),
270+
location=(self.env.current_document.docname, self.lineno),
271271
)
272272
return []
273273
return [addnodes.acks('', *children)]
@@ -290,7 +290,7 @@ def run(self) -> list[Node]:
290290
if len(children) != 1 or not isinstance(children[0], nodes.bullet_list):
291291
logger.warning(
292292
__('.. hlist content is not a list'),
293-
location=(self.env.docname, self.lineno),
293+
location=(self.env.current_document.docname, self.lineno),
294294
)
295295
return []
296296
fulllist = children[0]
@@ -388,7 +388,7 @@ def _insert_input(include_lines: list[str], source: str) -> None:
388388
text = '\n'.join(include_lines[:-2])
389389

390390
path = Path(relpath(Path(source).resolve(), start=self.env.srcdir))
391-
docname = self.env.docname
391+
docname = self.env.current_document.docname
392392

393393
# Emit the "include-read" event
394394
arg = [text]

sphinx/directives/patches.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -72,11 +72,11 @@ def run(self) -> list[Node]:
7272
'an absolute path as a relative path from source directory. '
7373
'Please update your document.'
7474
),
75-
location=(env.docname, self.lineno),
75+
location=(env.current_document.docname, self.lineno),
7676
)
7777
else:
7878
abspath = env.srcdir / self.options['file'][1:]
79-
doc_dir = env.doc2path(env.docname).parent
79+
doc_dir = env.doc2path(env.current_document.docname).parent
8080
self.options['file'] = relpath(abspath, doc_dir)
8181

8282
return super().run()
@@ -162,7 +162,7 @@ def run(self) -> list[Node]:
162162
latex,
163163
latex,
164164
classes=self.options.get('class', []),
165-
docname=self.env.docname,
165+
docname=self.env.current_document.docname,
166166
number=None,
167167
label=label,
168168
)
@@ -180,15 +180,17 @@ def add_target(self, ret: list[Node]) -> None:
180180
# assign label automatically if math_number_all enabled
181181
if node['label'] == '' or (self.config.math_number_all and not node['label']): # NoQA: PLC1901
182182
seq = self.env.new_serialno('sphinx.ext.math#equations')
183-
node['label'] = f'{self.env.docname}:{seq}'
183+
node['label'] = f'{self.env.current_document.docname}:{seq}'
184184

185185
# no targets and numbers are needed
186186
if not node['label']:
187187
return
188188

189189
# register label to domain
190190
domain = self.env.domains.math_domain
191-
domain.note_equation(self.env.docname, node['label'], location=node)
191+
domain.note_equation(
192+
self.env.current_document.docname, node['label'], location=node
193+
)
192194
node['number'] = domain.get_equation_number_for(node['label'])
193195

194196
# add target node

sphinx/domains/c/__init__.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ def _add_enumerator_to_parent(self, ast: ASTDeclaration) -> None:
156156
parent=target_symbol,
157157
ident=symbol.ident,
158158
declaration=decl_clone,
159-
docname=self.env.docname,
159+
docname=self.env.current_document.docname,
160160
line=self.get_source_info()[1],
161161
)
162162

@@ -259,7 +259,9 @@ def handle_signature(self, sig: str, signode: TextElement) -> ASTDeclaration:
259259

260260
try:
261261
symbol = parent_symbol.add_declaration(
262-
ast, docname=self.env.docname, line=self.get_source_info()[1]
262+
ast,
263+
docname=self.env.current_document.docname,
264+
line=self.get_source_info()[1],
263265
)
264266
# append the new declaration to the sibling list
265267
assert symbol.siblingAbove is None

sphinx/domains/changeset.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ def note_changeset(self, node: addnodes.versionmodified) -> None:
135135
objname = self.env.current_document.obj_desc_name
136136
changeset = ChangeSet(
137137
node['type'],
138-
self.env.docname,
138+
self.env.current_document.docname,
139139
node.line, # type: ignore[arg-type]
140140
module,
141141
objname,

sphinx/domains/citation.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ def note_citation(self, node: nodes.citation) -> None:
8383

8484
def note_citation_reference(self, node: pending_xref) -> None:
8585
docnames = self.citation_refs.setdefault(node['reftarget'], set())
86-
docnames.add(self.env.docname)
86+
docnames.add(self.env.current_document.docname)
8787

8888
def check_consistency(self) -> None:
8989
for name, (docname, _labelid, lineno) in self.citations.items():
@@ -139,7 +139,7 @@ def apply(self, **kwargs: Any) -> None:
139139
domain = self.env.domains.citation_domain
140140
for node in self.document.findall(nodes.citation):
141141
# register citation node to domain
142-
node['docname'] = self.env.docname
142+
node['docname'] = self.env.current_document.docname
143143
domain.note_citation(node)
144144

145145
# mark citation labels as not smartquoted

sphinx/domains/cpp/__init__.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ def _add_enumerator_to_parent(self, ast: ASTDeclaration) -> None:
219219
templateParams=None,
220220
templateArgs=None,
221221
declaration=decl_clone,
222-
docname=self.env.docname,
222+
docname=self.env.current_document.docname,
223223
line=self.get_source_info()[1],
224224
)
225225

@@ -374,7 +374,9 @@ def handle_signature(self, sig: str, signode: desc_signature) -> ASTDeclaration:
374374

375375
try:
376376
symbol = parent_symbol.add_declaration(
377-
ast, docname=self.env.docname, line=self.get_source_info()[1]
377+
ast,
378+
docname=self.env.current_document.docname,
379+
line=self.get_source_info()[1],
378380
)
379381
# append the new declaration to the sibling list
380382
assert symbol.siblingAbove is None

0 commit comments

Comments
 (0)