diff --git a/CHANGES b/CHANGES index 7d1dfdc0006..d1506694d1d 100644 --- a/CHANGES +++ b/CHANGES @@ -43,6 +43,9 @@ Features added Bugs fixed ---------- +* #8342: Emit a warning if a unknown domain is given for directive or role (ex. + ``:unknown:doc:``) + Testing -------- diff --git a/sphinx/util/docutils.py b/sphinx/util/docutils.py index 161575cbd76..8ca38bac2e7 100644 --- a/sphinx/util/docutils.py +++ b/sphinx/util/docutils.py @@ -28,6 +28,7 @@ from docutils.utils import Reporter, unescape from sphinx.errors import SphinxError +from sphinx.locale import _ from sphinx.util import logging from sphinx.util.typing import RoleFunction @@ -208,6 +209,8 @@ def lookup_domain_element(self, type: str, name: str) -> Any: element = getattr(domain, type)(name) if element is not None: return element, [] + else: + logger.warning(_('unknown directive or role name: %s:%s'), domain_name, name) # else look in the default domain else: def_domain = self.env.temp_data.get('default_domain')