summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakeshi KOMIYA <i.tkomiya@gmail.com>2019-01-23 01:34:15 +0900
committerTakeshi KOMIYA <i.tkomiya@gmail.com>2019-01-25 01:30:30 +0900
commitee9adea1c32e5793a6e3045bb6f459a93132d408 (patch)
treee28f28c5361e21b655ebcfc663e535e5174b0035
parenta11a74287f7b26f1eb633c1a739eb493bdd949ee (diff)
downloadsphinx-git-ee9adea1c32e5793a6e3045bb6f459a93132d408.tar.gz
Fix #5958: versionadded directive causes crash with Python 3.5.0
-rw-r--r--CHANGES1
-rw-r--r--sphinx/domains/changeset.py13
2 files changed, 6 insertions, 8 deletions
diff --git a/CHANGES b/CHANGES
index 719c2ef65..642f77db4 100644
--- a/CHANGES
+++ b/CHANGES
@@ -32,6 +32,7 @@ Bugs fixed
* #5954: ``:scale:`` image option may break PDF build if image in an admonition
* #5960: LaTeX: modified PDF layout since September 2018 TeXLive update of
:file:`parskip.sty`
+* #5958: versionadded directive causes crash with Python 3.5.0
Testing
--------
diff --git a/sphinx/domains/changeset.py b/sphinx/domains/changeset.py
index 86d8a8742..3c937f87b 100644
--- a/sphinx/domains/changeset.py
+++ b/sphinx/domains/changeset.py
@@ -9,7 +9,7 @@
:license: BSD, see LICENSE for details.
"""
-from typing import NamedTuple
+from collections import namedtuple
from docutils import nodes
from six import iteritems
@@ -44,12 +44,9 @@ locale.versionlabels = DeprecatedDict(
)
-ChangeSet = NamedTuple('ChangeSet', [('type', str),
- ('docname', str),
- ('lineno', int),
- ('module', str),
- ('descname', str),
- ('content', str)])
+# TODO: move to typing.NamedTuple after dropping py35 support (see #5958)
+ChangeSet = namedtuple('ChangeSet',
+ ['type', 'docname', 'lineno', 'module', 'descname', 'content'])
class VersionChange(SphinxDirective):
@@ -135,7 +132,7 @@ class ChangeSetDomain(Domain):
version = node['version']
module = self.env.ref_context.get('py:module')
objname = self.env.temp_data.get('object')
- changeset = ChangeSet(node['type'], self.env.docname, node.line, # type: ignore
+ changeset = ChangeSet(node['type'], self.env.docname, node.line,
module, objname, node.astext())
self.data['changes'].setdefault(version, []).append(changeset)