diff options
-rw-r--r-- | CHANGES | 6 | ||||
-rw-r--r-- | sphinx/builders/qthelp.py | 9 | ||||
-rw-r--r-- | sphinx/domains/std.py | 3 | ||||
-rw-r--r-- | sphinx/ext/doctest.py | 3 | ||||
-rw-r--r-- | sphinx/setup_command.py | 2 | ||||
-rw-r--r-- | sphinx/util/__init__.py | 3 |
6 files changed, 16 insertions, 10 deletions
@@ -10,9 +10,13 @@ Release 1.2 (in development) * Update to jQuery 1.7.1 and Underscore.js 1.3.1. -Release 1.1.3 (in development) +Release 1.1.4 (in development) ============================== + +Release 1.1.3 (Mar 10, 2012) +============================ + * PR#40: Fix ``safe_repr`` function to decode bytestrings with non-ASCII characters correctly. diff --git a/sphinx/builders/qthelp.py b/sphinx/builders/qthelp.py index 6a40005f..5e5deaf1 100644 --- a/sphinx/builders/qthelp.py +++ b/sphinx/builders/qthelp.py @@ -137,7 +137,6 @@ class QtHelpBuilder(StandaloneHTMLBuilder): new_sections = [] for section in sections: if not isinstance(section, unicode): - # XXX is this really necessary? new_sections.append(force_decode(section, None)) else: new_sections.append(section) @@ -222,14 +221,14 @@ class QtHelpBuilder(StandaloneHTMLBuilder): return True def write_toc(self, node, indentlevel=4): + # XXX this should return a Unicode string, not a bytestring parts = [] if self.isdocnode(node): refnode = node.children[0][0] link = refnode['refuri'] - title = htmlescape(refnode.astext()).replace('"','"') - item = '<section title="%(title)s" ref="%(ref)s">' % { - 'title': title, - 'ref': link} + title = htmlescape(refnode.astext()).replace('"', '"') + item = '<section title="%(title)s" ref="%(ref)s">' % \ + {'title': title, 'ref': link} parts.append(' '*4*indentlevel + item) for subnode in node.children[1]: parts.extend(self.write_toc(subnode, indentlevel+1)) diff --git a/sphinx/domains/std.py b/sphinx/domains/std.py index 05672b98..9148131a 100644 --- a/sphinx/domains/std.py +++ b/sphinx/domains/std.py @@ -319,7 +319,8 @@ class Glossary(Directive): defnode = nodes.definition() if definition: - self.state.nested_parse(definition, definition.items[0][1], defnode) + self.state.nested_parse(definition, definition.items[0][1], + defnode) items.append((termtexts, nodes.definition_list_item('', term, defnode))) diff --git a/sphinx/ext/doctest.py b/sphinx/ext/doctest.py index 717848ea..1263c411 100644 --- a/sphinx/ext/doctest.py +++ b/sphinx/ext/doctest.py @@ -383,7 +383,8 @@ Doctest summary test = parser.get_doctest(code[0].code, {}, group.name, filename, code[0].lineno) except Exception: - self.warn('ignoring invalid doctest code: %r' % code[0].code, + self.warn('ignoring invalid doctest code: %r' % + code[0].code, '%s:%s' % (filename, code[0].lineno)) continue if not test.examples: diff --git a/sphinx/setup_command.py b/sphinx/setup_command.py index c001b58c..2a8b2ed2 100644 --- a/sphinx/setup_command.py +++ b/sphinx/setup_command.py @@ -127,7 +127,7 @@ class BuildDoc(Command): status_stream = sys.stdout confoverrides = {} if self.project: - confoverrides['project'] = self.project + confoverrides['project'] = self.project if self.version: confoverrides['version'] = self.version if self.release: diff --git a/sphinx/util/__init__.py b/sphinx/util/__init__.py index 0d67da82..6cb83aec 100644 --- a/sphinx/util/__init__.py +++ b/sphinx/util/__init__.py @@ -28,6 +28,7 @@ import jinja2 import sphinx from sphinx.errors import PycodeError +from sphinx.util.pycompat import bytes # import other utilities; partly for backwards compatibility, so don't # prune unused ones indiscriminately @@ -310,7 +311,7 @@ def parselinenos(spec, total): def force_decode(string, encoding): """Forcibly get a unicode string out of a bytestring.""" - if isinstance(string, str): + if isinstance(string, bytes): if encoding: string = string.decode(encoding) else: |