diff --git a/CHANGES b/CHANGES index b544ad895..d75cfad9f 100644 --- a/CHANGES +++ b/CHANGES @@ -20,6 +20,7 @@ Bugs fixed as a value * #7156: autodoc: separator for keyword only arguments is not shown * #7146: autodoc: IndexError is raised on suppressed type_comment found +* #7151: crashed when extension assigns a value to ``env.indexentries`` Testing -------- diff --git a/sphinx/environment/__init__.py b/sphinx/environment/__init__.py index 4ccdce7f1..f1ae6024d 100644 --- a/sphinx/environment/__init__.py +++ b/sphinx/environment/__init__.py @@ -755,6 +755,14 @@ class BuildEnvironment: domain = cast(IndexDomain, self.get_domain('index')) return domain.entries + @indexentries.setter + def indexentries(self, entries: Dict[str, List[Tuple[str, str, str, str, str]]]) -> None: + warnings.warn('env.indexentries() is deprecated. Please use IndexDomain instead.', + RemovedInSphinx40Warning, stacklevel=2) + from sphinx.domains.index import IndexDomain + domain = cast(IndexDomain, self.get_domain('index')) + domain.data['entries'] = entries + from sphinx.errors import NoUri # NOQA