Fix #2705: toctree generates empty bullet_list if `:titlesonly:` specified

This commit is contained in:
Takeshi KOMIYA 2016-06-23 11:56:11 +09:00
parent 8feb92dd2d
commit 1e979091f2
2 changed files with 8 additions and 1 deletions

View File

@ -27,6 +27,7 @@ Bugs fixed
* #2684: `sphinx.ext.intersphinx` crashes with six-1.4.1
* #2679: ``float`` package needed for ``'figure_align': 'H'`` latex option
* #2671: image directive may lead to inconsistent spacing in pdf
* #2705: `toctree` generates empty bullet_list if ``:titlesonly:`` specified
Release 1.4.4 (released Jun 12, 2016)

View File

@ -1453,7 +1453,10 @@ class BuildEnvironment:
# nodes with length 1 don't have any children anyway
if len(toplevel) > 1:
subtrees = toplevel.traverse(addnodes.toctree)
toplevel[1][:] = subtrees
if subtrees:
toplevel[1][:] = subtrees
else:
toplevel.pop(1)
# resolve all sub-toctrees
for subtocnode in toc.traverse(addnodes.toctree):
if not (subtocnode.get('hidden', False) and
@ -1499,6 +1502,9 @@ class BuildEnvironment:
_toctree_add_classes(newnode, 1)
self._toctree_prune(newnode, 1, prune and maxdepth or 0, collapse)
if len(newnode[-1]) == 0: # No titles found
return None
# set the target paths in the toctrees (they are not known at TOC
# generation time)
for refnode in newnode.traverse(nodes.reference):