diff options
Diffstat (limited to 'sphinx/domains/std.py')
-rw-r--r-- | sphinx/domains/std.py | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/sphinx/domains/std.py b/sphinx/domains/std.py index 9d094d1a9..1e4f1b10f 100644 --- a/sphinx/domains/std.py +++ b/sphinx/domains/std.py @@ -12,7 +12,7 @@ import re import unicodedata import warnings from copy import copy -from typing import Any, Callable, Dict, Iterable, Iterator, List, Optional, Tuple, Type, Union +from typing import Any, Callable, Dict, Iterable, Iterator, List, Optional, Tuple, Union from typing import cast from docutils import nodes @@ -34,6 +34,7 @@ from sphinx.util.typing import RoleFunction if False: # For type annotation + from typing import Type # for python3.5.1 from sphinx.application import Sphinx from sphinx.builders import Builder from sphinx.environment import BuildEnvironment @@ -254,9 +255,9 @@ def make_glossary_term(env: "BuildEnvironment", textnodes: Iterable[Node], index new_id = nodes.make_id('term-' + termtext) if new_id == 'term': # the term is not good for node_id. Generate it by sequence number instead. - new_id = 'term-' + str(len(gloss_entries)) - if new_id in gloss_entries: - new_id = 'term-' + str(len(gloss_entries)) + new_id = 'term-%d' % env.new_serialno('glossary') + while new_id in gloss_entries: + new_id = 'term-%d' % env.new_serialno('glossary') gloss_entries.add(new_id) std = cast(StandardDomain, env.get_domain('std')) @@ -885,7 +886,7 @@ class StandardDomain(Domain): def get_enumerable_node_type(self, node: Node) -> str: """Get type of enumerable nodes.""" - def has_child(node: Element, cls: Type) -> bool: + def has_child(node: Element, cls: "Type") -> bool: return any(isinstance(child, cls) for child in node) if isinstance(node, nodes.section): |