Merge branch '1.7' into 1.8

This commit is contained in:
Takeshi KOMIYA 2018-09-05 23:09:48 +09:00
commit 3d35723f6d
4 changed files with 23 additions and 6 deletions

17
CHANGES
View File

@ -284,8 +284,8 @@ Documentation
* #5083: Fix wrong make.bat option for internationalization. * #5083: Fix wrong make.bat option for internationalization.
* #5115: napoleon: add admonitions added by #4613 to the docs. * #5115: napoleon: add admonitions added by #4613 to the docs.
Release 1.7.9 (in development) Release 1.7.10 (in development)
============================== ===============================
Dependencies Dependencies
------------ ------------
@ -305,6 +305,19 @@ Bugs fixed
Testing Testing
-------- --------
Release 1.7.9 (released Sep 05, 2018)
=====================================
Features added
--------------
* #5359: Make generated texinfo files reproducible by sorting the anchors
Bugs fixed
----------
* #5361: crashed on incremental build if document uses include directive
Release 1.7.8 (released Aug 29, 2018) Release 1.7.8 (released Aug 29, 2018)
===================================== =====================================

View File

@ -19,7 +19,7 @@ from os import path
from docutils.utils import get_source_line from docutils.utils import get_source_line
from six import BytesIO, next from six import BytesIO, next
from six.moves import cPickle as pickle, reduce from six.moves import cPickle as pickle
from sphinx import addnodes from sphinx import addnodes
from sphinx.deprecation import RemovedInSphinx20Warning, RemovedInSphinx30Warning from sphinx.deprecation import RemovedInSphinx20Warning, RemovedInSphinx30Warning
@ -67,7 +67,7 @@ default_settings = {
# or changed to properly invalidate pickle files. # or changed to properly invalidate pickle files.
# #
# NOTE: increase base version by 2 to have distinct numbers for Py2 and 3 # NOTE: increase base version by 2 to have distinct numbers for Py2 and 3
ENV_VERSION = 53 + (sys.version_info[0] - 2) ENV_VERSION = 54 + (sys.version_info[0] - 2)
# config status # config status
CONFIG_OK = 1 CONFIG_OK = 1
@ -724,7 +724,7 @@ class BuildEnvironment(object):
def check_consistency(self): def check_consistency(self):
# type: () -> None # type: () -> None
"""Do consistency checks.""" """Do consistency checks."""
included = reduce(lambda x, y: x | y, self.included.values(), set()) # type: Set[unicode] # NOQA included = set().union(*self.included.values()) # type: ignore
for docname in sorted(self.all_docs): for docname in sorted(self.all_docs):
if docname not in self.files_to_rebuild: if docname not in self.files_to_rebuild:
if docname == self.config.master_doc: if docname == self.config.master_doc:

View File

@ -612,7 +612,7 @@ class TexinfoTranslator(nodes.NodeVisitor):
node_name = node['node_name'] node_name = node['node_name']
pointers = tuple([node_name] + self.rellinks[node_name]) pointers = tuple([node_name] + self.rellinks[node_name])
self.body.append('\n@node %s,%s,%s,%s\n' % pointers) # type: ignore self.body.append('\n@node %s,%s,%s,%s\n' % pointers) # type: ignore
for id in self.next_section_ids: for id in sorted(self.next_section_ids):
self.add_anchor(id, node) self.add_anchor(id, node)
self.next_section_ids.clear() self.next_section_ids.clear()

View File

@ -50,6 +50,10 @@ def test_texinfo_warnings(app, status, warning):
def test_texinfo(app, status, warning): def test_texinfo(app, status, warning):
TexinfoTranslator.ignore_missing_images = True TexinfoTranslator.ignore_missing_images = True
app.builder.build_all() app.builder.build_all()
result = (app.outdir / 'SphinxTests.texi').text(encoding='utf8')
assert ('@anchor{markup doc}@anchor{12}'
'@anchor{markup id1}@anchor{13}'
'@anchor{markup testing-various-markup}@anchor{14}' in result)
# now, try to run makeinfo over it # now, try to run makeinfo over it
cwd = os.getcwd() cwd = os.getcwd()
os.chdir(app.outdir) os.chdir(app.outdir)