Mercurial > hg-stable
changeset 30671:3fcaf0f660ce
py3: have bytes version of sys.executable
sys.executable on Python 3 returns unicodes and we want bytes. So this patch
adds a new pycompat.sysexecutable which returns bytes by encoding using
os.fsencode() since it is path variable.
author | Pulkit Goyal <7895pulkit@gmail.com> |
---|---|
date | Tue, 20 Dec 2016 00:02:24 +0530 |
parents | 5861bdbeb9a3 |
children | 10b17ed9b591 |
files | mercurial/pycompat.py |
diffstat | 1 files changed, 4 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/pycompat.py Thu Dec 22 01:54:17 2016 +0530 +++ b/mercurial/pycompat.py Tue Dec 20 00:02:24 2016 +0530 @@ -52,6 +52,9 @@ # returns bytes. getcwd = os.getcwdb sysplatform = sys.platform.encode('ascii') + sysexecutable = sys.executable + if sysexecutable: + sysexecutable = os.fsencode(sysexecutable) # TODO: .buffer might not exist if std streams were replaced; we'll need # a silly wrapper to make a bytes stream backed by a unicode one. @@ -158,6 +161,7 @@ sysplatform = sys.platform getcwd = os.getcwd osgetenv = os.getenv + sysexecutable = sys.executable stringio = io.StringIO empty = _queue.Empty