Merge branch '2.0'

This commit is contained in:
Takeshi KOMIYA
2019-03-07 01:23:26 +09:00
54 changed files with 66 additions and 88 deletions

View File

@@ -45,6 +45,8 @@ Dependencies
Incompatible changes Incompatible changes
-------------------- --------------------
* texinfo: image files are copied into ``name-figure`` directory
Deprecated Deprecated
---------- ----------
@@ -60,6 +62,8 @@ Bugs fixed
* #5508: ``linenothreshold`` option for ``highlight`` directive was ignored * #5508: ``linenothreshold`` option for ``highlight`` directive was ignored
* texinfo: ``make install-info`` causes syntax error * texinfo: ``make install-info`` causes syntax error
* texinfo: ``make install-info`` fails on macOS * texinfo: ``make install-info`` fails on macOS
* #3079: texinfo: image files are not copied on ``make install-info``
* #5391: A cross reference in heading is rendered as literal
Testing Testing
-------- --------
@@ -331,6 +335,7 @@ Bugs fixed
* #6047: autodoc: ``autofunction`` emits a warning for method objects * #6047: autodoc: ``autofunction`` emits a warning for method objects
* #6028: graphviz: Ensure the graphviz filenames are reproducible * #6028: graphviz: Ensure the graphviz filenames are reproducible
* #6068: doctest: ``skipif`` option may remove the code block from documentation * #6068: doctest: ``skipif`` option may remove the code block from documentation
* #6136: ``:name:`` option for ``math`` directive causes a crash
Testing Testing
-------- --------

View File

@@ -1295,8 +1295,6 @@ The JavaScript domain (name **js**) provides the following directives:
specified. If this option is specified, the directive will only update the specified. If this option is specified, the directive will only update the
current module name. current module name.
To clear the current module, set the module name to ``null`` or ``None``
.. versionadded:: 1.6 .. versionadded:: 1.6
.. rst:directive:: .. js:function:: name(signature) .. rst:directive:: .. js:function:: name(signature)

View File

@@ -39,7 +39,7 @@ except ImportError:
if False: if False:
# For type annotation # For type annotation
from typing import Any, Callable, Dict, Iterable, List, Sequence, Set, Tuple, Type, Union # NOQA from typing import Any, Dict, Iterable, List, Sequence, Set, Tuple, Type, Union # NOQA
from sphinx.application import Sphinx # NOQA from sphinx.application import Sphinx # NOQA
from sphinx.config import Config # NOQA from sphinx.config import Config # NOQA
from sphinx.environment import BuildEnvironment # NOQA from sphinx.environment import BuildEnvironment # NOQA

View File

@@ -36,7 +36,6 @@ except ImportError:
if False: if False:
# For type annotation # For type annotation
from typing import Any, Dict, List, Set, Tuple # NOQA from typing import Any, Dict, List, Set, Tuple # NOQA
from sphinx.application import Sphinx # NOQA
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@@ -25,8 +25,7 @@ from sphinx.util.osutil import make_filename
if False: if False:
# For type annotation # For type annotation
from typing import Any, Dict, Iterable, List, Set, Tuple # NOQA from typing import Any, Dict, List, Set, Tuple # NOQA
from docutils import nodes # NOQA
from sphinx.application import Sphinx # NOQA from sphinx.application import Sphinx # NOQA
from sphinx.config import Config # NOQA from sphinx.config import Config # NOQA

View File

@@ -11,6 +11,7 @@
import os import os
from os import path from os import path
from docutils import nodes
from docutils.frontend import OptionParser from docutils.frontend import OptionParser
import sphinx.builders.latex.nodes # NOQA # Workaround: import this before writer to avoid ImportError import sphinx.builders.latex.nodes # NOQA # Workaround: import this before writer to avoid ImportError
@@ -41,7 +42,6 @@ from sphinx.writers.latex import (
if False: if False:
# For type annotation # For type annotation
from docutils import nodes # NOQA
from typing import Any, Dict, Iterable, List, Tuple, Union # NOQA from typing import Any, Dict, Iterable, List, Tuple, Union # NOQA
from sphinx.application import Sphinx # NOQA from sphinx.application import Sphinx # NOQA
from sphinx.config import Config # NOQA from sphinx.config import Config # NOQA
@@ -294,7 +294,6 @@ class LaTeXBuilder(Builder):
def assemble_doctree(self, indexfile, toctree_only, appendices): def assemble_doctree(self, indexfile, toctree_only, appendices):
# type: (str, bool, List[str]) -> nodes.document # type: (str, bool, List[str]) -> nodes.document
from docutils import nodes # NOQA
self.docnames = set([indexfile] + appendices) self.docnames = set([indexfile] + appendices)
logger.info(darkgreen(indexfile) + " ", nonl=True) logger.info(darkgreen(indexfile) + " ", nonl=True)
tree = self.env.get_doctree(indexfile) tree = self.env.get_doctree(indexfile)

View File

@@ -21,7 +21,7 @@ from sphinx.util.nodes import NodeMatcher
if False: if False:
# For type annotation # For type annotation
from typing import Any, Dict, List, Set, Tuple, Union # NOQA from typing import Any, List, Set, Tuple # NOQA
URI_SCHEMES = ('mailto:', 'http:', 'https:', 'ftp:') URI_SCHEMES = ('mailto:', 'http:', 'https:', 'ftp:')

View File

@@ -30,7 +30,7 @@ from sphinx.util.requests import is_ssl_error
if False: if False:
# For type annotation # For type annotation
from typing import Any, Dict, List, Set, Tuple, Union # NOQA from typing import Any, Dict, List, Set, Tuple # NOQA
from sphinx.application import Sphinx # NOQA from sphinx.application import Sphinx # NOQA
from sphinx.util.requests.requests import Response # NOQA from sphinx.util.requests.requests import Response # NOQA

View File

@@ -27,7 +27,7 @@ from sphinx.util.console import darkgreen # type: ignore
from sphinx.util.docutils import new_document from sphinx.util.docutils import new_document
from sphinx.util.fileutil import copy_asset_file from sphinx.util.fileutil import copy_asset_file
from sphinx.util.nodes import inline_all_toctrees from sphinx.util.nodes import inline_all_toctrees
from sphinx.util.osutil import SEP, make_filename_from_project from sphinx.util.osutil import SEP, ensuredir, make_filename_from_project
from sphinx.writers.texinfo import TexinfoWriter, TexinfoTranslator from sphinx.writers.texinfo import TexinfoWriter, TexinfoTranslator
if False: if False:
@@ -134,6 +134,7 @@ class TexinfoBuilder(Builder):
settings.docname = docname settings.docname = docname
doctree.settings = settings doctree.settings = settings
docwriter.write(doctree, destination) docwriter.write(doctree, destination)
self.copy_image_files(targetname[:-5])
def assemble_doctree(self, indexfile, toctree_only, appendices): def assemble_doctree(self, indexfile, toctree_only, appendices):
# type: (str, bool, List[str]) -> nodes.document # type: (str, bool, List[str]) -> nodes.document
@@ -180,11 +181,10 @@ class TexinfoBuilder(Builder):
def finish(self): def finish(self):
# type: () -> None # type: () -> None
self.copy_image_files()
self.copy_support_files() self.copy_support_files()
def copy_image_files(self): def copy_image_files(self, targetname):
# type: () -> None # type: (str) -> None
if self.images: if self.images:
stringify_func = ImageAdapter(self.app.env).get_original_image_uri stringify_func = ImageAdapter(self.app.env).get_original_image_uri
for src in status_iterator(self.images, __('copying images... '), "brown", for src in status_iterator(self.images, __('copying images... '), "brown",
@@ -192,8 +192,9 @@ class TexinfoBuilder(Builder):
stringify_func=stringify_func): stringify_func=stringify_func):
dest = self.images[src] dest = self.images[src]
try: try:
copy_asset_file(path.join(self.srcdir, src), imagedir = path.join(self.outdir, targetname + '-figures')
path.join(self.outdir, dest)) ensuredir(imagedir)
copy_asset_file(path.join(self.srcdir, dest), imagedir)
except Exception as err: except Exception as err:
logger.warning(__('cannot copy image file %r: %s'), logger.warning(__('cannot copy image file %r: %s'),
path.join(self.srcdir, src), err) path.join(self.srcdir, src), err)

View File

@@ -27,7 +27,7 @@ from sphinx.util.typing import NoneType
if False: if False:
# For type annotation # For type annotation
from typing import Any, Callable, Dict, Generator, Iterator, List, Set, Tuple, Union # NOQA from typing import Callable, Dict, Generator, Iterator, List, Set, Tuple # NOQA
from sphinx.application import Sphinx # NOQA from sphinx.application import Sphinx # NOQA
from sphinx.environment import BuildEnvironment # NOQA from sphinx.environment import BuildEnvironment # NOQA
from sphinx.util.tags import Tags # NOQA from sphinx.util.tags import Tags # NOQA

View File

@@ -35,8 +35,6 @@ if False:
# For type annotation # For type annotation
from typing import Any, Dict # NOQA from typing import Any, Dict # NOQA
from sphinx.application import Sphinx # NOQA from sphinx.application import Sphinx # NOQA
from sphinx.config import Config # NOQA
from sphinx.environment import BuildEnvironment # NOQA
from sphinx.util.docfields import Field # NOQA from sphinx.util.docfields import Field # NOQA
from sphinx.util.typing import DirectiveOption # NOQA from sphinx.util.typing import DirectiveOption # NOQA

View File

@@ -25,7 +25,7 @@ from sphinx.util.nodes import explicit_title_re, process_index_entry
if False: if False:
# For type annotation # For type annotation
from typing import Any, Dict, Generator, List, Tuple # NOQA from typing import Any, Dict, List # NOQA
from sphinx.application import Sphinx # NOQA from sphinx.application import Sphinx # NOQA

View File

@@ -126,13 +126,16 @@ class MathDirective(SphinxDirective):
latex = '\n'.join(self.content) latex = '\n'.join(self.content)
if self.arguments and self.arguments[0]: if self.arguments and self.arguments[0]:
latex = self.arguments[0] + '\n\n' + latex latex = self.arguments[0] + '\n\n' + latex
label = self.options.get('label', self.options.get('name'))
node = nodes.math_block(latex, latex, node = nodes.math_block(latex, latex,
docname=self.env.docname, docname=self.env.docname,
number=self.options.get('name'), number=None,
label=self.options.get('label'), label=label,
nowrap='nowrap' in self.options) nowrap='nowrap' in self.options)
ret = [node] # type: List[nodes.Node] self.add_name(node)
self.set_source_info(node) self.set_source_info(node)
ret = [node] # type: List[nodes.Node]
self.add_target(ret) self.add_target(ret)
return ret return ret

View File

@@ -24,7 +24,6 @@ from sphinx.util.nodes import make_refnode
if False: if False:
# For type annotation # For type annotation
from typing import Any, Dict, Iterator, List, Tuple # NOQA from typing import Any, Dict, Iterator, List, Tuple # NOQA
from docutils import nodes # NOQA
from sphinx.application import Sphinx # NOQA from sphinx.application import Sphinx # NOQA
from sphinx.builders import Builder # NOQA from sphinx.builders import Builder # NOQA
from sphinx.environment import BuildEnvironment # NOQA from sphinx.environment import BuildEnvironment # NOQA

View File

@@ -20,7 +20,7 @@ from sphinx.util.nodes import make_refnode
if False: if False:
# For type annotation # For type annotation
from typing import Any, Callable, Dict, Iterable, List, Tuple, Type, Union # NOQA from typing import Any, Dict, Iterable, List, Tuple # NOQA
from sphinx import addnodes # NOQA from sphinx import addnodes # NOQA
from sphinx.application import Sphinx # NOQA from sphinx.application import Sphinx # NOQA
from sphinx.builders import Builder # NOQA from sphinx.builders import Builder # NOQA

View File

@@ -26,7 +26,7 @@ from sphinx.util.nodes import make_refnode
if False: if False:
# For type annotation # For type annotation
from typing import Any, Dict, Iterable, Iterator, List, Tuple, Type, Union # NOQA from typing import Any, Dict, Iterable, Iterator, List, Tuple, Type # NOQA
from sphinx.application import Sphinx # NOQA from sphinx.application import Sphinx # NOQA
from sphinx.builders import Builder # NOQA from sphinx.builders import Builder # NOQA
from sphinx.environment import BuildEnvironment # NOQA from sphinx.environment import BuildEnvironment # NOQA

View File

@@ -32,7 +32,7 @@ from sphinx.util.nodes import is_translatable
if False: if False:
# For type annotation # For type annotation
from typing import Any, Callable, Dict, IO, Iterator, List, Optional, Pattern, Set, Tuple, Type, Union, Generator # NOQA from typing import Any, Callable, Dict, IO, Iterator, List, Optional, Set, Tuple, Union # NOQA
from docutils import nodes # NOQA from docutils import nodes # NOQA
from sphinx.application import Sphinx # NOQA from sphinx.application import Sphinx # NOQA
from sphinx.builders import Builder # NOQA from sphinx.builders import Builder # NOQA
@@ -308,10 +308,6 @@ class BuildEnvironment:
if docname in other.reread_always: if docname in other.reread_always:
self.reread_always.add(docname) self.reread_always.add(docname)
for version, changes in other.versionchanges.items():
self.versionchanges.setdefault(version, []).extend(
change for change in changes if change[1] in docnames)
for domainname, domain in self.domains.items(): for domainname, domain in self.domains.items():
domain.merge_domaindata(docnames, other.domaindata[domainname]) domain.merge_domaindata(docnames, other.domaindata[domainname])
app.emit('env-merge-info', self, docnames, other) app.emit('env-merge-info', self, docnames, other)

View File

@@ -24,8 +24,7 @@ from sphinx.util.images import guess_mimetype
if False: if False:
# For type annotation # For type annotation
from typing import Dict, List, Set, Tuple # NOQA from typing import Dict, List, Set # NOQA
from docutils import nodes # NOQA
from sphinx.sphinx import Sphinx # NOQA from sphinx.sphinx import Sphinx # NOQA
from sphinx.environment import BuildEnvironment # NOQA from sphinx.environment import BuildEnvironment # NOQA

View File

@@ -17,7 +17,6 @@ from sphinx.environment.collectors import EnvironmentCollector
if False: if False:
# For type annotation # For type annotation
from typing import Dict, Set # NOQA from typing import Dict, Set # NOQA
from docutils import nodes # NOQA
from sphinx.sphinx import Sphinx # NOQA from sphinx.sphinx import Sphinx # NOQA
from sphinx.environment import BuildEnvironment # NOQA from sphinx.environment import BuildEnvironment # NOQA

View File

@@ -16,7 +16,6 @@ from sphinx.transforms import SphinxContentsFilter
if False: if False:
# For type annotation # For type annotation
from typing import Dict, Set # NOQA from typing import Dict, Set # NOQA
from docutils import nodes # NOQA
from sphinx.sphinx import Sphinx # NOQA from sphinx.sphinx import Sphinx # NOQA
from sphinx.environment import BuildEnvironment # NOQA from sphinx.environment import BuildEnvironment # NOQA

View File

@@ -21,9 +21,8 @@ from sphinx.util import url_re, logging
if False: if False:
# For type annotation # For type annotation
from typing import Any, Dict, List, Set, Tuple, Type, TypeVar # NOQA from typing import Dict, List, Set, Tuple, Type, TypeVar # NOQA
from sphinx.application import Sphinx # NOQA from sphinx.application import Sphinx # NOQA
from sphinx.builders import Builder # NOQA
from sphinx.environment import BuildEnvironment # NOQA from sphinx.environment import BuildEnvironment # NOQA
N = TypeVar('N') N = TypeVar('N')

View File

@@ -35,9 +35,7 @@ from sphinx.util.inspect import Signature, isdescriptor, safe_getmembers, \
if False: if False:
# For type annotation # For type annotation
from types import ModuleType # NOQA from types import ModuleType # NOQA
from typing import Any, Callable, Dict, Iterator, List, Sequence, Set, Tuple, Type, Union # NOQA from typing import Callable, Dict, Iterator, List, Sequence, Set, Tuple, Type, Union # NOQA
from docutils import nodes # NOQA
from docutils.utils import Reporter # NOQA
from sphinx.application import Sphinx # NOQA from sphinx.application import Sphinx # NOQA
from sphinx.config import Config # NOQA from sphinx.config import Config # NOQA
from sphinx.environment import BuildEnvironment # NOQA from sphinx.environment import BuildEnvironment # NOQA

View File

@@ -17,9 +17,8 @@ from sphinx.util.nodes import nested_parse_with_titles
if False: if False:
# For type annotation # For type annotation
from typing import Any, Callable, Dict, List, Set, Type # NOQA from typing import Callable, Dict, List, Set, Type # NOQA
from docutils.parsers.rst.state import RSTState # NOQA from docutils.parsers.rst.state import RSTState # NOQA
from docutils.statemachine import StateMachine, StringList # NOQA
from docutils.utils import Reporter # NOQA from docutils.utils import Reporter # NOQA
from sphinx.config import Config # NOQA from sphinx.config import Config # NOQA
from sphinx.environment import BuildEnvironment # NOQA from sphinx.environment import BuildEnvironment # NOQA

View File

@@ -24,11 +24,6 @@ if False:
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
if False:
# For type annotation
from typing import Any, Dict # NOQA
from sphinx.application import Sphinx # NOQA
def get_node_depth(node): def get_node_depth(node):
i = 0 i = 0

View File

@@ -41,9 +41,7 @@ from sphinx.util.rst import escape as rst_escape
if False: if False:
# For type annotation # For type annotation
from typing import Any, Callable, Dict, List, Tuple, Type, Union # NOQA from typing import Any, Callable, Dict, List, Tuple, Type, Union # NOQA
from sphinx import addnodes # NOQA
from sphinx.builders import Builder # NOQA from sphinx.builders import Builder # NOQA
from sphinx.environment import BuildEnvironment # NOQA
from sphinx.ext.autodoc import Documenter # NOQA from sphinx.ext.autodoc import Documenter # NOQA

View File

@@ -23,7 +23,7 @@ from sphinx.util.inspect import safe_getattr
if False: if False:
# For type annotation # For type annotation
from typing import Any, Callable, Dict, IO, List, Pattern, Set, Tuple # NOQA from typing import Any, Dict, IO, List, Pattern, Set, Tuple # NOQA
from sphinx.application import Sphinx # NOQA from sphinx.application import Sphinx # NOQA
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@@ -33,7 +33,7 @@ from sphinx.util.osutil import relpath
if False: if False:
# For type annotation # For type annotation
from typing import Any, Callable, Dict, IO, Iterable, List, Optional, Sequence, Set, Tuple, Type # NOQA from typing import Any, Callable, Dict, Iterable, List, Optional, Sequence, Set, Tuple, Type # NOQA
from sphinx.application import Sphinx # NOQA from sphinx.application import Sphinx # NOQA
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@@ -31,7 +31,6 @@ from sphinx.util.png import read_png_depth, write_png_depth
if False: if False:
# For type annotation # For type annotation
from typing import Any, Dict, List, Tuple, Union # NOQA from typing import Any, Dict, List, Tuple, Union # NOQA
from sphinx.addnodes import displaymath # NOQA
from sphinx.application import Sphinx # NOQA from sphinx.application import Sphinx # NOQA
from sphinx.builders import Builder # NOQA from sphinx.builders import Builder # NOQA
from sphinx.config import Config # NOQA from sphinx.config import Config # NOQA

View File

@@ -55,7 +55,7 @@ from sphinx.util.docutils import SphinxDirective
if False: if False:
# For type annotation # For type annotation
from typing import Any, Dict, List, Tuple, Dict, Optional # NOQA from typing import Any, Dict, List, Optional, Tuple # NOQA
from sphinx.application import Sphinx # NOQA from sphinx.application import Sphinx # NOQA
from sphinx.environment import BuildEnvironment # NOQA from sphinx.environment import BuildEnvironment # NOQA
from sphinx.writers.html import HTMLTranslator # NOQA from sphinx.writers.html import HTMLTranslator # NOQA

View File

@@ -41,7 +41,7 @@ from sphinx.util.inventory import InventoryFile
if False: if False:
# For type annotation # For type annotation
from typing import Any, Dict, IO, List, Tuple, Union # NOQA from typing import Any, Dict, IO, List, Tuple # NOQA
from sphinx.application import Sphinx # NOQA from sphinx.application import Sphinx # NOQA
from sphinx.config import Config # NOQA from sphinx.config import Config # NOQA
from sphinx.environment import BuildEnvironment # NOQA from sphinx.environment import BuildEnvironment # NOQA

View File

@@ -22,7 +22,7 @@ from sphinx.domains.math import MathReferenceRole as EqXRefRole # NOQA # to ke
if False: if False:
# For type annotation # For type annotation
from typing import Any, Callable, List, Tuple # NOQA from typing import Callable, Tuple # NOQA
from sphinx.application import Sphinx # NOQA from sphinx.application import Sphinx # NOQA
from sphinx.writers.html import HTMLTranslator # NOQA from sphinx.writers.html import HTMLTranslator # NOQA

View File

@@ -14,7 +14,7 @@ import warnings
from pygments import highlight from pygments import highlight
from pygments.filters import ErrorToken from pygments.filters import ErrorToken
from pygments.formatters import HtmlFormatter, LatexFormatter from pygments.formatters import HtmlFormatter, LatexFormatter
from pygments.lexer import Lexer # NOQA from pygments.lexer import Lexer
from pygments.lexers import get_lexer_by_name, guess_lexer from pygments.lexers import get_lexer_by_name, guess_lexer
from pygments.lexers import PythonLexer, Python3Lexer, PythonConsoleLexer, \ from pygments.lexers import PythonLexer, Python3Lexer, PythonConsoleLexer, \
CLexer, TextLexer, RstLexer CLexer, TextLexer, RstLexer

View File

@@ -9,6 +9,7 @@
""" """
import codecs import codecs
import warnings import warnings
from typing import Any
from docutils.core import Publisher from docutils.core import Publisher
from docutils.io import FileInput, NullOutput from docutils.io import FileInput, NullOutput
@@ -16,7 +17,6 @@ from docutils.parsers.rst import Parser as RSTParser
from docutils.readers import standalone from docutils.readers import standalone
from docutils.statemachine import StringList, string2lines from docutils.statemachine import StringList, string2lines
from docutils.writers import UnfilteredWriter from docutils.writers import UnfilteredWriter
from typing import Any, Union # NOQA
from sphinx.deprecation import RemovedInSphinx30Warning from sphinx.deprecation import RemovedInSphinx30Warning
from sphinx.transforms import ( from sphinx.transforms import (
@@ -39,14 +39,13 @@ from sphinx.versioning import UIDTransform
if False: if False:
# For type annotation # For type annotation
from typing import Any, Dict, List, Tuple, Type, Union # NOQA from typing import Dict, List, Tuple, Type # NOQA
from docutils import nodes # NOQA from docutils import nodes # NOQA
from docutils.frontend import Values # NOQA from docutils.frontend import Values # NOQA
from docutils.io import Input # NOQA from docutils.io import Input # NOQA
from docutils.parsers import Parser # NOQA from docutils.parsers import Parser # NOQA
from docutils.transforms import Transform # NOQA from docutils.transforms import Transform # NOQA
from sphinx.application import Sphinx # NOQA from sphinx.application import Sphinx # NOQA
from sphinx.builders import Builder # NOQA
from sphinx.environment import BuildEnvironment # NOQA from sphinx.environment import BuildEnvironment # NOQA

View File

@@ -23,7 +23,7 @@ from sphinx.util.osutil import mtimes_of_files
if False: if False:
# For type annotation # For type annotation
from typing import Any, Callable, Dict, List, Iterator, Tuple, Union # NOQA from typing import Dict, List, Union # NOQA
from jinja2.environment import Environment # NOQA from jinja2.environment import Environment # NOQA
from sphinx.builders import Builder # NOQA from sphinx.builders import Builder # NOQA
from sphinx.theming import Theme # NOQA from sphinx.theming import Theme # NOQA

View File

@@ -18,7 +18,7 @@ from sphinx.deprecation import RemovedInSphinx30Warning
if False: if False:
# For type annotation # For type annotation
from typing import Any, Callable, Dict, Iterable, Iterator, List, Tuple, Union # NOQA from typing import Any, Callable, Dict, Iterable, List, Tuple, Union # NOQA
class _TranslationProxy(UserString): class _TranslationProxy(UserString):

View File

@@ -18,7 +18,7 @@ from tokenize import COMMENT, NL
if False: if False:
# For type annotation # For type annotation
from typing import Any, Dict, IO, List, Tuple # NOQA from typing import Any, Dict, List, Tuple # NOQA
comment_re = re.compile('^\\s*#: ?(.*)\r?\n?$') comment_re = re.compile('^\\s*#: ?(.*)\r?\n?$')
indent_re = re.compile('^\\s*$') indent_re = re.compile('^\\s*$')

View File

@@ -25,7 +25,7 @@ from sphinx.util.osutil import abspath
if False: if False:
# For type annotation # For type annotation
from typing import Any, Dict, List, Tuple # NOQA from typing import Any, Dict # NOQA
class BuildDoc(Command): class BuildDoc(Command):

View File

@@ -20,12 +20,18 @@ install-info: info
for f in *.info; do \ for f in *.info; do \
mkdir -p $(infodir) && \ mkdir -p $(infodir) && \
cp "$$f" $(infodir) && \ cp "$$f" $(infodir) && \
$(INSTALL_INFO) --info-dir=$(infodir) "$$f" ; \ $(INSTALL_INFO) --info-dir=$(infodir) "$$f" && \
\
FIGURE_DIR="`basename \"$$f\" .info`-figures" && \
if [ -e "$$FIGURE_DIR" ]; then \
cp -r "$$FIGURE_DIR" $(infodir) ; \
fi; \
done done
uninstall-info: info uninstall-info: info
for f in *.info; do \ for f in *.info; do \
rm -f "$(infodir)/$$f" ; \ rm -f "$(infodir)/$$f" ; \
rm -rf "$(infodir)/`basename '$$f' .info`-figures" && \
$(INSTALL_INFO) --delete --info-dir=$(infodir) "$$f" ; \ $(INSTALL_INFO) --delete --info-dir=$(infodir) "$$f" ; \
done done

View File

@@ -25,7 +25,6 @@ from sphinx.util.osutil import relpath
if False: if False:
# For type annotation # For type annotation
from typing import List # NOQA
from typing import Any, Dict, Generator, IO, List, Pattern # NOQA from typing import Any, Dict, Generator, IO, List, Pattern # NOQA

View File

@@ -27,7 +27,7 @@ logger = logging.getLogger(__name__)
if False: if False:
# For type annotation # For type annotation
from typing import Any, Dict, Iterator, List, Tuple # NOQA from typing import Any, Dict, List # NOQA
from sphinx.application import Sphinx # NOQA from sphinx.application import Sphinx # NOQA
NODEFAULT = object() NODEFAULT = object()

View File

@@ -340,11 +340,7 @@ class SphinxContentsFilter(ContentsFilter):
Used with BuildEnvironment.add_toc_from() to discard cross-file links Used with BuildEnvironment.add_toc_from() to discard cross-file links
within table-of-contents link nodes. within table-of-contents link nodes.
""" """
def visit_pending_xref(self, node): visit_pending_xref = ContentsFilter.ignore_node_but_process_children
# type: (addnodes.pending_xref) -> None
text = node.astext()
self.parent.append(nodes.literal(text, text))
raise nodes.SkipNode
def visit_image(self, node): def visit_image(self, node):
# type: (nodes.image) -> None # type: (nodes.image) -> None

View File

@@ -20,12 +20,8 @@ from sphinx.util import logging
if False: if False:
# For type annotation # For type annotation
from typing import Any, Callable, Dict, Iterable, List, Tuple # NOQA from typing import Any, Dict # NOQA
from docutils.parsers.rst.states import Inliner # NOQA
from docutils.writers.html4css1 import Writer # NOQA
from sphinx.application import Sphinx # NOQA from sphinx.application import Sphinx # NOQA
from sphinx.builders import Builder # NOQA
from sphinx.environment import BuildEnvironment # NOQA
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@@ -48,7 +48,7 @@ from sphinx.util.matching import patfilter # noqa
if False: if False:
# For type annotation # For type annotation
from typing import Any, Callable, Dict, IO, Iterable, Iterator, List, Pattern, Sequence, Set, Tuple, Type, Union # NOQA from typing import Any, Callable, Dict, IO, Iterable, Iterator, List, Pattern, Set, Tuple, Type, Union # NOQA
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@@ -18,7 +18,6 @@ from sphinx import addnodes
if False: if False:
# For type annotation # For type annotation
from typing import Any, Dict, Type, Union # NOQA from typing import Any, Dict, Type, Union # NOQA
from sphinx.domains import Domain # NOQA
from sphinx.environment import BuildEnvironment # NOQA from sphinx.environment import BuildEnvironment # NOQA
from sphinx.util.typing import TextlikeNode # NOQA from sphinx.util.typing import TextlikeNode # NOQA

View File

@@ -42,7 +42,6 @@ if False:
from sphinx.builders import Builder # NOQA from sphinx.builders import Builder # NOQA
from sphinx.config import Config # NOQA from sphinx.config import Config # NOQA
from sphinx.environment import BuildEnvironment # NOQA from sphinx.environment import BuildEnvironment # NOQA
from sphinx.io import SphinxFileInput # NOQA
from sphinx.util.typing import RoleFunction # NOQA from sphinx.util.typing import RoleFunction # NOQA

View File

@@ -27,7 +27,7 @@ except ImportError:
if False: if False:
# For type annotation # For type annotation
from typing import Dict, IO, List, Tuple # NOQA from typing import IO, Tuple # NOQA
mime_suffixes = OrderedDict([ mime_suffixes = OrderedDict([
('.gif', 'image/gif'), ('.gif', 'image/gif'),

View File

@@ -15,7 +15,7 @@ from sphinx.util import logging
if False: if False:
# For type annotation # For type annotation
from typing import Callable, Dict, IO, Iterator, Tuple # NOQA from typing import Callable, IO, Iterator # NOQA
from sphinx.builders import Builder # NOQA from sphinx.builders import Builder # NOQA
from sphinx.environment import BuildEnvironment # NOQA from sphinx.environment import BuildEnvironment # NOQA
from sphinx.util.typing import Inventory # NOQA from sphinx.util.typing import Inventory # NOQA

View File

@@ -22,7 +22,6 @@ from sphinx.util.console import colorize
if False: if False:
# For type annotation # For type annotation
from typing import Any, Dict, Generator, IO, List, Tuple, Type, Union # NOQA from typing import Any, Dict, Generator, IO, List, Tuple, Type, Union # NOQA
from docutils import nodes # NOQA
from sphinx.application import Sphinx # NOQA from sphinx.application import Sphinx # NOQA

View File

@@ -21,7 +21,7 @@ from sphinx.util import logging
if False: if False:
# For type annotation # For type annotation
from typing import Any, Callable, Iterable, List, Optional, Set, Tuple, Type # NOQA from typing import Callable, Iterable, List, Optional, Set, Tuple, Type # NOQA
from docutils.parsers.rst.states import Inliner # NOQA from docutils.parsers.rst.states import Inliner # NOQA
from docutils.statemachine import StringList # NOQA from docutils.statemachine import StringList # NOQA
from sphinx.builders import Builder # NOQA from sphinx.builders import Builder # NOQA

View File

@@ -24,7 +24,7 @@ from sphinx.deprecation import RemovedInSphinx30Warning, RemovedInSphinx40Warnin
if False: if False:
# For type annotation # For type annotation
from typing import Any, Iterator, List, Tuple, Union # NOQA from typing import Any, Iterator, List, Tuple # NOQA
# Errnos that we need. # Errnos that we need.
EEXIST = getattr(errno, 'EEXIST', 0) # RemovedInSphinx40Warning EEXIST = getattr(errno, 'EEXIST', 0) # RemovedInSphinx40Warning

View File

@@ -22,7 +22,7 @@ from sphinx.util.typing import NoneType
if False: if False:
# For type annotation # For type annotation
from typing import Any, Callable, Generator # NOQA from typing import Any, Callable # NOQA
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@@ -1355,8 +1355,9 @@ class TexinfoTranslator(SphinxTranslator):
width = self.tex_image_length(attrs.get('width', '')) width = self.tex_image_length(attrs.get('width', ''))
height = self.tex_image_length(attrs.get('height', '')) height = self.tex_image_length(attrs.get('height', ''))
alt = self.escape_arg(attrs.get('alt', '')) alt = self.escape_arg(attrs.get('alt', ''))
filename = "%s-figures/%s" % (self.elements['filename'][:-5], name) # type: ignore
self.body.append('\n@image{%s,%s,%s,%s,%s}\n' % self.body.append('\n@image{%s,%s,%s,%s,%s}\n' %
(name, width, height, alt, ext[1:])) (filename, width, height, alt, ext[1:]))
def depart_image(self, node): def depart_image(self, node):
# type: (nodes.Element) -> None # type: (nodes.Element) -> None

View File

@@ -12,7 +12,7 @@ from docutils.writers.docutils_xml import Writer as BaseXMLWriter
if False: if False:
# For type annotation # For type annotation
from typing import Any, Tuple # NOQA from typing import Any # NOQA
from sphinx.builders import Builder # NOQA from sphinx.builders import Builder # NOQA

View File

@@ -11,11 +11,13 @@
from docutils import nodes from docutils import nodes
from mock import Mock from mock import Mock
from sphinx.roles import emph_literal_role from sphinx.roles import EmphasizedLiteral
from sphinx.testing.util import assert_node from sphinx.testing.util import assert_node
def test_samp(): def test_samp():
emph_literal_role = EmphasizedLiteral()
# normal case # normal case
text = 'print 1+{variable}' text = 'print 1+{variable}'
ret, msg = emph_literal_role('samp', text, text, 0, Mock()) ret, msg = emph_literal_role('samp', text, text, 0, Mock())