summaryrefslogtreecommitdiff
path: root/sphinx/domains/std.py
diff options
context:
space:
mode:
Diffstat (limited to 'sphinx/domains/std.py')
-rw-r--r--sphinx/domains/std.py48
1 files changed, 8 insertions, 40 deletions
diff --git a/sphinx/domains/std.py b/sphinx/domains/std.py
index 6dc597022..430af3043 100644
--- a/sphinx/domains/std.py
+++ b/sphinx/domains/std.py
@@ -12,8 +12,8 @@ import re
import unicodedata
import warnings
from copy import copy
-from typing import Any, Callable, Dict, Iterable, Iterator, List, Optional, Tuple, Union
-from typing import cast
+from typing import Any, Callable, Dict, Iterable, Iterator, List, Optional, Tuple, Type, Union
+from typing import TYPE_CHECKING, cast
from docutils import nodes
from docutils.nodes import Element, Node, system_message
@@ -22,7 +22,7 @@ from docutils.statemachine import StringList
from sphinx import addnodes
from sphinx.addnodes import desc_signature, pending_xref
-from sphinx.deprecation import RemovedInSphinx40Warning, RemovedInSphinx50Warning
+from sphinx.deprecation import RemovedInSphinx50Warning
from sphinx.directives import ObjectDescription
from sphinx.domains import Domain, ObjType
from sphinx.locale import _, __
@@ -32,9 +32,7 @@ from sphinx.util.docutils import SphinxDirective
from sphinx.util.nodes import clean_astext, make_id, make_refnode
from sphinx.util.typing import RoleFunction
-if False:
- # For type annotation
- from typing import Type # for python3.5.1
+if TYPE_CHECKING:
from sphinx.application import Sphinx
from sphinx.builders import Builder
from sphinx.environment import BuildEnvironment
@@ -274,8 +272,8 @@ def split_term_classifiers(line: str) -> List[Optional[str]]:
def make_glossary_term(env: "BuildEnvironment", textnodes: Iterable[Node], index_key: str,
- source: str, lineno: int, node_id: str = None,
- document: nodes.document = None) -> nodes.term:
+ source: str, lineno: int, node_id: str, document: nodes.document
+ ) -> nodes.term:
# get a text-only representation of the term and register it
# as a cross-reference target
term = nodes.term('', '', *textnodes)
@@ -286,23 +284,10 @@ def make_glossary_term(env: "BuildEnvironment", textnodes: Iterable[Node], index
if node_id:
# node_id is given from outside (mainly i18n module), use it forcedly
term['ids'].append(node_id)
- elif document:
+ else:
node_id = make_id(env, document, 'term', termtext)
term['ids'].append(node_id)
document.note_explicit_target(term)
- else:
- warnings.warn('make_glossary_term() expects document is passed as an argument.',
- RemovedInSphinx40Warning, stacklevel=2)
- gloss_entries = env.temp_data.setdefault('gloss_entries', set())
- node_id = nodes.make_id('term-' + termtext)
- if node_id == 'term':
- # "term" is not good for node_id. Generate it by sequence number instead.
- node_id = 'term-%d' % env.new_serialno('glossary')
-
- while node_id in gloss_entries:
- node_id = 'term-%d' % env.new_serialno('glossary')
- gloss_entries.add(node_id)
- term['ids'].append(node_id)
std = cast(StandardDomain, env.get_domain('std'))
std.note_object('term', termtext, node_id, location=term)
@@ -410,7 +395,7 @@ class Glossary(SphinxDirective):
# use first classifier as a index key
term = make_glossary_term(self.env, textnodes, parts[1], source, lineno,
- document=self.state.document)
+ node_id=None, document=self.state.document)
term.rawsource = line
system_messages.extend(sysmsg)
termtexts.append(term.astext())
@@ -784,11 +769,6 @@ class StandardDomain(Domain):
resolver = self._resolve_doc_xref
elif typ == 'option':
resolver = self._resolve_option_xref
- elif typ == 'citation':
- warnings.warn('pending_xref(domain=std, type=citation) is deprecated: %r' % node,
- RemovedInSphinx40Warning, stacklevel=2)
- domain = env.get_domain('citation')
- return domain.resolve_xref(env, fromdocname, builder, typ, target, node, contnode)
elif typ == 'term':
resolver = self._resolve_term_xref
else:
@@ -1080,18 +1060,6 @@ class StandardDomain(Domain):
else:
return None
- def note_citations(self, env: "BuildEnvironment", docname: str, document: nodes.document) -> None: # NOQA
- warnings.warn('StandardDomain.note_citations() is deprecated.',
- RemovedInSphinx40Warning, stacklevel=2)
-
- def note_citation_refs(self, env: "BuildEnvironment", docname: str, document: nodes.document) -> None: # NOQA
- warnings.warn('StandardDomain.note_citation_refs() is deprecated.',
- RemovedInSphinx40Warning, stacklevel=2)
-
- def note_labels(self, env: "BuildEnvironment", docname: str, document: nodes.document) -> None: # NOQA
- warnings.warn('StandardDomain.note_labels() is deprecated.',
- RemovedInSphinx40Warning, stacklevel=2)
-
def setup(app: "Sphinx") -> Dict[str, Any]:
app.add_domain(StandardDomain)