fix #1772 cross reference in docstrings like `:param .write:` breaks building.

This commit is contained in:
shimizukawa 2015-03-14 18:54:20 +09:00
parent 4e599c13da
commit 70612c610f
2 changed files with 10 additions and 7 deletions

View File

@ -8,6 +8,7 @@ Bugs fixed
doesn't overwrite existent files/dirs. Thanks to WAKAYAMA shirou. doesn't overwrite existent files/dirs. Thanks to WAKAYAMA shirou.
* #1773: sphinx-quickstart doesn't accept non-ASCII character as a option argument. * #1773: sphinx-quickstart doesn't accept non-ASCII character as a option argument.
* #1766: the message "least Python 2.6 to run" is at best misleading. * #1766: the message "least Python 2.6 to run" is at best misleading.
* #1772: cross reference in docstrings like ``:param .write:`` breaks building.
Release 1.3 (released Mar 10, 2015) Release 1.3 (released Mar 10, 2015)

View File

@ -90,13 +90,15 @@ class PyXrefMixin(object):
result = super(PyXrefMixin, self).make_xref(rolename, domain, target, result = super(PyXrefMixin, self).make_xref(rolename, domain, target,
innernode, contnode) innernode, contnode)
result['refspecific'] = True result['refspecific'] = True
if target.startswith('.'): if target.startswith(('.', '~')):
result['reftarget'] = target[1:] prefix, result['reftarget'] = target[0], target[1:]
result[0][0] = nodes.Text(target[1:]) if prefix == '.':
if target.startswith('~'): text = target[1:]
result['reftarget'] = target[1:] elif prefix == '~':
title = target.split('.')[-1] text = target.split('.')[-1]
result[0][0] = nodes.Text(title) for node in result.traverse(nodes.Text):
node.parent[node.parent.index(node)] = nodes.Text(text)
break
return result return result