# HG changeset patch # User Gregory Szorc # Date 1570387905 14400 # Node ID bbcbb82e358968919a9832000fe9b031d6c62d23 # Parent eef9a2d67051a11e6269dafb383997fde15d87b7 py3: stop implicitly importing unicode We should be pycompat.unicode everywhere. It turns out we were doing this everywhere except for one place in templatefilters! Differential Revision: https://phab.mercurial-scm.org/D7006 diff -r eef9a2d67051 -r bbcbb82e3589 mercurial/__init__.py --- a/mercurial/__init__.py Sun Oct 06 13:28:56 2019 -0400 +++ b/mercurial/__init__.py Sun Oct 06 14:51:45 2019 -0400 @@ -171,8 +171,7 @@ r, c = t.start l = ( b'; from mercurial.pycompat import ' - b'delattr, getattr, hasattr, setattr, ' - b'unicode\n' + b'delattr, getattr, hasattr, setattr\n' ) for u in tokenize.tokenize(io.BytesIO(l).readline): if u.type in (tokenize.ENCODING, token.ENDMARKER): @@ -221,7 +220,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\x0d' + BYTECODEHEADER = b'HG\x00\x0e' class hgloader(importlib.machinery.SourceFileLoader): """Custom module loader that transforms source code. diff -r eef9a2d67051 -r bbcbb82e3589 mercurial/templatefilters.py --- a/mercurial/templatefilters.py Sun Oct 06 13:28:56 2019 -0400 +++ b/mercurial/templatefilters.py Sun Oct 06 14:51:45 2019 -0400 @@ -367,7 +367,7 @@ """Any text. Returns the input text rendered as a sequence of XML entities. """ - text = unicode(text, pycompat.sysstr(encoding.encoding), r'replace') + text = pycompat.unicode(text, pycompat.sysstr(encoding.encoding), r'replace') return b''.join([b'&#%d;' % ord(c) for c in text])