mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
merge stable into default
This commit is contained in:
commit
5394fbb82b
5
CHANGES
5
CHANGES
@ -37,6 +37,11 @@ Bugs fixed
|
||||
* #814: autodoc: Guard against strange type objects that don't have
|
||||
``__bases__``.
|
||||
|
||||
* #932: autodoc: Do not crash if ``__doc__`` is not a string.
|
||||
|
||||
* #933: Do not crash if an ``:option:`` value is malformed (contains spaces
|
||||
but no option name).
|
||||
|
||||
Documentation
|
||||
-------------
|
||||
|
||||
|
@ -165,9 +165,9 @@ use the :command:`sphinx-intl update` command.
|
||||
Using Transifex service for team translation
|
||||
--------------------------------------------
|
||||
|
||||
`Transifex <http://transifex.com>`_ is one of several services that allow
|
||||
collaborative translation via a web interface. It has a nifty Python-based
|
||||
command line client that makes it easy to fetch and push translations.
|
||||
Transifex_ is one of several services that allow collaborative translation via a
|
||||
web interface. It has a nifty Python-based command line client that makes it
|
||||
easy to fetch and push translations.
|
||||
|
||||
.. TODO: why use transifex?
|
||||
|
||||
|
@ -190,17 +190,26 @@ class Program(Directive):
|
||||
class OptionXRefRole(XRefRole):
|
||||
innernodeclass = addnodes.literal_emphasis
|
||||
|
||||
def _split(self, text, refnode, env):
|
||||
try:
|
||||
program, target = re.split(' (?=-|--|/)', text, 1)
|
||||
except ValueError:
|
||||
env.warn_node('Malformed :option: %r, does not contain option '
|
||||
'marker - or -- or /' % text, refnode)
|
||||
return None, text
|
||||
else:
|
||||
program = ws_re.sub('-', program)
|
||||
return program, target
|
||||
|
||||
def process_link(self, env, refnode, has_explicit_title, title, target):
|
||||
program = env.temp_data.get('std:program')
|
||||
if not has_explicit_title:
|
||||
if ' ' in title and not (title.startswith('/') or
|
||||
title.startswith('-')):
|
||||
program, target = re.split(' (?=-|--|/)', title, 1)
|
||||
program = ws_re.sub('-', program)
|
||||
program, target = self._split(title, refnode, env)
|
||||
target = target.strip()
|
||||
elif ' ' in target:
|
||||
program, target = re.split(' (?=-|--|/)', target, 1)
|
||||
program = ws_re.sub('-', program)
|
||||
program, target = self._split(target, refnode, env)
|
||||
refnode['refprogram'] = program
|
||||
return title, target
|
||||
|
||||
|
@ -450,9 +450,10 @@ class Documenter(object):
|
||||
# into lines
|
||||
if isinstance(docstring, unicode):
|
||||
return [prepare_docstring(docstring, ignore)]
|
||||
elif docstring:
|
||||
elif isinstance(docstring, str): # this will not trigger on Py3
|
||||
return [prepare_docstring(force_decode(docstring, encoding),
|
||||
ignore)]
|
||||
# ... else it is something strange, let's ignore it
|
||||
return []
|
||||
|
||||
def process_doc(self, docstrings):
|
||||
|
@ -139,6 +139,7 @@ Adding \n to test unescaping.
|
||||
* :doc:`subdir/includes`
|
||||
* ``:download:`` is tested in includes.txt
|
||||
* :option:`Python -c option <python -c>`
|
||||
* This used to crash: :option:`Python c option`
|
||||
|
||||
Test :abbr:`abbr (abbreviation)` and another :abbr:`abbr (abbreviation)`.
|
||||
|
||||
|
@ -42,6 +42,8 @@ http://www.python.org/logo.png
|
||||
reading included file u'.*?wrongenc.inc' seems to be wrong, try giving an \
|
||||
:encoding: option\\n?
|
||||
%(root)s/includes.txt:4: WARNING: download file not readable: .*?nonexisting.png
|
||||
%(root)s/markup.txt:142: WARNING: Malformed :option: u'Python c option', does \
|
||||
not contain option marker - or -- or /
|
||||
%(root)s/objects.txt:\\d*: WARNING: using old C markup; please migrate to \
|
||||
new-style markup \(e.g. c:function instead of cfunction\), see \
|
||||
http://sphinx-doc.org/domains.html
|
||||
|
Loading…
Reference in New Issue
Block a user