summaryrefslogtreecommitdiff
path: root/sphinx/ext/autodoc.py
diff options
context:
space:
mode:
authorTakeshi KOMIYA <i.tkomiya@gmail.com>2017-04-25 00:40:04 +0900
committerTakeshi KOMIYA <i.tkomiya@gmail.com>2017-04-25 00:40:04 +0900
commite3d14e7862217774f0efe632c4f8b64df2e7eba7 (patch)
tree68e0e023bfed049c1ff27d7f2b77a39a5d857bf0 /sphinx/ext/autodoc.py
parent10afb48b8e6e6db61dec9665ae3bd7035b571853 (diff)
parent7897678777982e942aa6c22b823aced7ffd07095 (diff)
downloadsphinx-git-e3d14e7862217774f0efe632c4f8b64df2e7eba7.tar.gz
Merge branch 'stable' into 1.6-release
Diffstat (limited to 'sphinx/ext/autodoc.py')
-rw-r--r--sphinx/ext/autodoc.py17
1 files changed, 13 insertions, 4 deletions
diff --git a/sphinx/ext/autodoc.py b/sphinx/ext/autodoc.py
index 360c13768..58c7317a3 100644
--- a/sphinx/ext/autodoc.py
+++ b/sphinx/ext/autodoc.py
@@ -473,10 +473,19 @@ def formatargspec(function, args, varargs=None, varkw=None, defaults=None,
for i, arg in enumerate(args):
arg_fd = StringIO()
- arg_fd.write(format_arg_with_annotation(arg))
- if defaults and i >= defaults_start:
- arg_fd.write(' = ' if arg in annotations else '=')
- arg_fd.write(object_description(defaults[i - defaults_start])) # type: ignore
+ if isinstance(arg, list):
+ # support tupled arguments list (only for py2): def foo((x, y))
+ arg_fd.write('(')
+ arg_fd.write(format_arg_with_annotation(arg[0]))
+ for param in arg[1:]:
+ arg_fd.write(', ')
+ arg_fd.write(format_arg_with_annotation(param))
+ arg_fd.write(')')
+ else:
+ arg_fd.write(format_arg_with_annotation(arg))
+ if defaults and i >= defaults_start:
+ arg_fd.write(' = ' if arg in annotations else '=')
+ arg_fd.write(object_description(defaults[i - defaults_start])) # type: ignore
formatted.append(arg_fd.getvalue())
if varargs: