# HG changeset patch # User Pulkit Goyal <7895pulkit@gmail.com> # Date 1482172344 -19800 # Node ID 3fcaf0f660cead2e3313947a1147ebb4df545bc4 # Parent 5861bdbeb9a3a9e5d34df80d24d78bdbe4eea5b8 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. diff -r 5861bdbeb9a3 -r 3fcaf0f660ce mercurial/pycompat.py --- 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