Patchwork D3368: stringutil: ast.literal_eval needs a unicode on py3

login
register
mail settings
Submitter phabricator
Date April 14, 2018, 5:37 a.m.
Message ID <differential-rev-PHID-DREV-cmgc3gjddgndadmorwvx-req@phab.mercurial-scm.org>
Download mbox | patch
Permalink /patch/30993/
State Superseded
Headers show

Comments

phabricator - April 14, 2018, 5:37 a.m.
durin42 created this revision.
Herald added a reviewer: pulkit.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  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.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D3368

AFFECTED FILES
  contrib/python3-whitelist
  mercurial/utils/stringutil.py

CHANGE DETAILS




To: durin42, pulkit, #hg-reviewers
Cc: mercurial-devel

Patch

diff --git a/mercurial/utils/stringutil.py b/mercurial/utils/stringutil.py
--- a/mercurial/utils/stringutil.py
+++ b/mercurial/utils/stringutil.py
@@ -516,4 +516,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)
diff --git a/contrib/python3-whitelist b/contrib/python3-whitelist
--- a/contrib/python3-whitelist
+++ b/contrib/python3-whitelist
@@ -444,4 +444,5 @@ 
 test-verify.t
 test-websub.t
 test-win32text.t
+test-wireproto-framing.py
 test-xdg.t