stringutil: ast.literal_eval needs a unicode on py3
Fortunately for us, this is really only used internally, so we can be
lazy about the encoding here.
test-wireproto-framing.py now passes on Python 3.
Differential Revision: https://phab.mercurial-scm.org/D3368
--- a/contrib/python3-whitelist Fri Apr 13 22:55:01 2018 -0700
+++ b/contrib/python3-whitelist Sat Apr 14 01:34:44 2018 -0400
@@ -437,4 +437,5 @@
test-verify.t
test-websub.t
test-win32text.t
+test-wireproto-framing.py
test-xdg.t
--- a/mercurial/utils/stringutil.py Fri Apr 13 22:55:01 2018 -0700
+++ b/mercurial/utils/stringutil.py Sat Apr 14 01:34:44 2018 -0400
@@ -510,4 +510,6 @@
def evalpythonliteral(s):
"""Evaluate a string containing a Python literal expression"""
# We could backport our tokenizer hack to rewrite '' to u'' if we want
+ if pycompat.ispy3:
+ return ast.literal_eval(s.decode('latin1'))
return ast.literal_eval(s)