Fix #3080: texinfo: multiline rubric is broken

This commit is contained in:
Takeshi KOMIYA
2018-11-08 16:32:23 +09:00
parent 63daf8c6e6
commit 84f781252f
5 changed files with 26 additions and 0 deletions

View File

@@ -38,6 +38,7 @@ Bugs fixed
crashed
* #5561: make all-pdf fails with old xindy version
* #5557: quickstart: --no-batchfile isn't honored
* #3080: texinfo: multiline rubrics are broken
Testing
--------

View File

@@ -673,9 +673,11 @@ class TexinfoTranslator(nodes.NodeVisitor):
except IndexError:
rubric = self.rubrics[-1]
self.body.append('\n%s ' % rubric)
self.escape_newlines += 1
def depart_rubric(self, node):
# type: (nodes.Node) -> None
self.escape_newlines -= 1
self.body.append('\n\n')
def visit_subtitle(self, node):

View File

@@ -0,0 +1,7 @@
# -*- coding: utf-8 -*-
master_doc = 'index'
latex_documents = [
(master_doc, 'test.tex', 'The basic Sphinx documentation for testing', 'Sphinx', 'report')
]

View File

@@ -0,0 +1,7 @@
test-markup-rubric
===================
.. rubric:: This is a rubric
.. rubric:: This is
a multiline rubric

View File

@@ -72,3 +72,12 @@ def test_texinfo(app, status, warning):
assert False, 'makeinfo exited with return code %s' % retcode
finally:
os.chdir(cwd)
@pytest.mark.sphinx('texinfo', testroot='markup-rubric')
def test_texinfo_rubric(app, status, warning):
app.build()
output = (app.outdir / 'python.texi').text()
assert '@heading This is a rubric' in output
assert '@heading This is a multiline rubric' in output