Skip to content

Commit 58ebe2d

Browse files
authored
Avoid passing app to SphinxComponentRegistry._get_publisher() (#13643)
1 parent 97f946a commit 58ebe2d

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

sphinx/builders/__init__.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -644,7 +644,9 @@ def read_doc(self, docname: str, *, _cache: bool = True) -> None:
644644

645645
filename = str(env.doc2path(docname))
646646
filetype = get_filetype(self._app.config.source_suffix, filename)
647-
publisher = self._registry.get_publisher(self._app, filetype)
647+
publisher = self._registry._get_publisher(
648+
filetype, config=self.config, env=self.env
649+
)
648650
self.env.current_document._parser = publisher.parser
649651
# record_dependencies is mutable even though it is in settings,
650652
# explicitly re-initialise for each document

sphinx/registry.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -596,14 +596,16 @@ def get_envversion(self, app: Sphinx) -> Mapping[str, int]:
596596

597597
return _get_env_version(app.extensions)
598598

599-
def get_publisher(self, app: Sphinx, filetype: str) -> Publisher:
599+
def _get_publisher(
600+
self, filetype: str, *, config: Config, env: BuildEnvironment
601+
) -> Publisher:
600602
try:
601603
return self.publishers[filetype]
602604
except KeyError:
603605
pass
604-
parser = self.create_source_parser(filetype, config=app.config, env=app.env)
606+
parser = self.create_source_parser(filetype, config=config, env=env)
605607
transforms = self.get_transforms()
606-
publisher = _create_publisher(env=app.env, parser=parser, transforms=transforms)
608+
publisher = _create_publisher(env=env, parser=parser, transforms=transforms)
607609
self.publishers[filetype] = publisher
608610
return publisher
609611

0 commit comments

Comments
 (0)