summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES1
-rw-r--r--doc/extdev/deprecated.rst5
-rw-r--r--sphinx/ext/autosummary/__init__.py13
-rw-r--r--sphinx/util/compat.py7
4 files changed, 20 insertions, 6 deletions
diff --git a/CHANGES b/CHANGES
index 6dbfe0ca3..879ae64eb 100644
--- a/CHANGES
+++ b/CHANGES
@@ -15,6 +15,7 @@ Deprecated
* The ``app`` argument of ``sphinx.environment.BuildEnvironment`` becomes
required
* ``sphinx.application.Sphinx.html_theme``
+* ``sphinx.ext.autosummary._app``
* ``sphinx.util.docstrings.extract_metadata()``
Features added
diff --git a/doc/extdev/deprecated.rst b/doc/extdev/deprecated.rst
index f04b738de..c35b0525b 100644
--- a/doc/extdev/deprecated.rst
+++ b/doc/extdev/deprecated.rst
@@ -32,6 +32,11 @@ The following is a list of deprecated interfaces.
- 6.0
- ``sphinx.registry.SphinxComponentRegistry.html_themes``
+ * - ``sphinx.ext.autosummary._app``
+ - 4.1
+ - 6.0
+ - N/A
+
* - ``sphinx.util.docstrings.extract_metadata()``
- 4.1
- 6.0
diff --git a/sphinx/ext/autosummary/__init__.py b/sphinx/ext/autosummary/__init__.py
index 32f11baff..3d51beaa5 100644
--- a/sphinx/ext/autosummary/__init__.py
+++ b/sphinx/ext/autosummary/__init__.py
@@ -72,7 +72,8 @@ import sphinx
from sphinx import addnodes
from sphinx.application import Sphinx
from sphinx.config import Config
-from sphinx.deprecation import RemovedInSphinx50Warning
+from sphinx.deprecation import (RemovedInSphinx50Warning, RemovedInSphinx60Warning,
+ deprecated_alias)
from sphinx.environment import BuildEnvironment
from sphinx.environment.adapters.toctree import TocTree
from sphinx.ext.autodoc import INSTANCEATTR, Documenter
@@ -165,9 +166,13 @@ def autosummary_table_visit_html(self: HTMLTranslator, node: autosummary_table)
# -- autodoc integration -------------------------------------------------------
-
-# current application object (used in `get_documenter()`).
-_app: Sphinx = None
+deprecated_alias('sphinx.ext.autosummary',
+ {
+ '_app': None,
+ },
+ RemovedInSphinx60Warning,
+ {
+ })
class FakeApplication:
diff --git a/sphinx/util/compat.py b/sphinx/util/compat.py
index 9be80358e..73ca5bc27 100644
--- a/sphinx/util/compat.py
+++ b/sphinx/util/compat.py
@@ -25,11 +25,14 @@ def register_application_for_autosummary(app: "Sphinx") -> None:
"""
if 'sphinx.ext.autosummary' in sys.modules:
from sphinx.ext import autosummary
- autosummary._app = app
+ if hasattr(autosummary, '_objects'):
+ autosummary._objects['_app'] = app # type: ignore
+ else:
+ autosummary._app = app # type: ignore
def setup(app: "Sphinx") -> Dict[str, Any]:
- app.connect('builder-inited', register_application_for_autosummary)
+ app.connect('builder-inited', register_application_for_autosummary, priority=100)
return {
'version': 'builtin',