Mercurial > public > mercurial-scm > hg-stable
diff mercurial/pycompat.py @ 43085:eef9a2d67051
py3: manually import pycompat.open into files that need it
We want to eliminate the source transformer. Currently it inserts
a `from mercurial.pycompat import ...` at the top of files to alias
some builtins.
This commit replaces the implicit import of `open` with an explicit
import on files that need it and changes the source transformer to
no longer import `open`.
As part of this, we needed to store an explicit local for `open` in
the Python 2 code path in `pycompat` so the import works. (Builtins
that are automatically in scope cannot be imported.)
Differential Revision: https://phab.mercurial-scm.org/D7005
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Sun, 06 Oct 2019 13:28:56 -0400 |
parents | 687b865b95ad |
children | 66f2cc210a29 |
line wrap: on
line diff
--- a/mercurial/pycompat.py Sun Oct 06 13:17:19 2019 -0400 +++ b/mercurial/pycompat.py Sun Oct 06 13:28:56 2019 -0400 @@ -354,6 +354,7 @@ sysstr = identity strurl = identity bytesurl = identity + open = open # this can't be parsed on Python 3 exec(b'def raisewithtb(exc, tb):\n' b' raise exc, None, tb\n')