summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES6
-rw-r--r--sphinx/builders/qthelp.py9
-rw-r--r--sphinx/domains/std.py3
-rw-r--r--sphinx/ext/doctest.py3
-rw-r--r--sphinx/setup_command.py2
-rw-r--r--sphinx/util/__init__.py3
6 files changed, 16 insertions, 10 deletions
diff --git a/CHANGES b/CHANGES
index 52e21323..e760db8c 100644
--- a/CHANGES
+++ b/CHANGES
@@ -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('"', '&quot;')
+ 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: