# HG changeset patch # User Yuya Nishihara # Date 1539365108 -7200 # Node ID dd83aafdb64a824d182d54214337d6ebbad5faac # Parent 682f73fa924a569baacf9ce487c9c37d645cf652 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. diff -r 682f73fa924a -r dd83aafdb64a mercurial/i18n.py --- 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])