changeset 40254:dd83aafdb64a

py3: get around unicode docstrings in test-encoding-textwrap.t and test-help.t On Python 3, docstrings are converted back to utf-8 bytes, which practically disables the "if type(message) is pycompat.unicode" hack in gettext(). Let's add one more workaround for the Py3 path.
author Yuya Nishihara <yuya@tcha.org>
date Fri, 12 Oct 2018 19:25:08 +0200
parents 682f73fa924a
children 4f1f024353ae
files mercurial/i18n.py
diffstat 1 files changed, 3 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/i18n.py	Sat Oct 13 11:52:30 2018 +0200
+++ b/mercurial/i18n.py	Fri Oct 12 19:25:08 2018 +0200
@@ -75,7 +75,9 @@
             # goofy unicode docstrings in test
             paragraphs = message.split(u'\n\n')
         else:
-            paragraphs = [p.decode("ascii") for p in message.split('\n\n')]
+            # should be ascii, but we have unicode docstrings in test, which
+            # are converted to utf-8 bytes on Python 3.
+            paragraphs = [p.decode("utf-8") for p in message.split('\n\n')]
         # Be careful not to translate the empty string -- it holds the
         # meta data of the .po file.
         u = u'\n\n'.join([p and _ugettext(p) or u'' for p in paragraphs])