[PATCH 3 of 3 V2] py3: add pycompat.unicode and add it to importer

Pulkit Goyal 7895pulkit at gmail.com
Fri Apr 7 14:38:25 EDT 2017


# HG changeset patch
# User Pulkit Goyal <7895pulkit at gmail.com>
# Date 1491588351 -19800
#      Fri Apr 07 23:35:51 2017 +0530
# Node ID 7ce54c695ff7a5637b6798dec0fc6cf4f7b22098
# Parent  1724a314de7c22936d33b09066e9f06197437391
py3: add pycompat.unicode and add it to importer

On python 3, builtins.unicode does not exist.

diff -r 1724a314de7c -r 7ce54c695ff7 mercurial/__init__.py
--- a/mercurial/__init__.py	Fri Apr 07 16:00:44 2017 +0530
+++ b/mercurial/__init__.py	Fri Apr 07 23:35:51 2017 +0530
@@ -283,7 +283,8 @@
                     continue
                 r, c = t.start
                 l = (b'; from mercurial.pycompat import '
-                     b'delattr, getattr, hasattr, setattr, xrange, open\n')
+                     b'delattr, getattr, hasattr, setattr, xrange, '
+                     b'open, unicode\n')
                 for u in tokenize.tokenize(io.BytesIO(l).readline):
                     if u.type in (tokenize.ENCODING, token.ENDMARKER):
                         continue
@@ -323,7 +324,7 @@
     # ``replacetoken`` or any mechanism that changes semantics of module
     # loading is changed. Otherwise cached bytecode may get loaded without
     # the new transformation mechanisms applied.
-    BYTECODEHEADER = b'HG\x00\x09'
+    BYTECODEHEADER = b'HG\x00\x10'
 
     class hgloader(importlib.machinery.SourceFileLoader):
         """Custom module loader that transforms source code.
diff -r 1724a314de7c -r 7ce54c695ff7 mercurial/pycompat.py
--- a/mercurial/pycompat.py	Fri Apr 07 16:00:44 2017 +0530
+++ b/mercurial/pycompat.py	Fri Apr 07 23:35:51 2017 +0530
@@ -174,6 +174,7 @@
     hasattr = _wrapattrfunc(builtins.hasattr)
     setattr = _wrapattrfunc(builtins.setattr)
     xrange = builtins.range
+    unicode = str
 
     def open(name, mode='r', buffering=-1):
         return builtins.open(name, sysstr(mode), buffering)


More information about the Mercurial-devel mailing list