# HG changeset patch # User Martin von Zweigbergk # Date 2019-09-02 06:43:59 # Node ID db51a4ac85ac27c37bf1b602c2183b82e447071f # Parent 37debb6771f53e4438dcf5b1dff89f9035d33ff4 py3: use pycompat.sysargv[0] for instead of fsencode(sys.argv[0]) Yuya noted in a recent review that fsencode(sys.argv[0]) could be incorrect on Windows. Differential Revision: https://phab.mercurial-scm.org/D6782 diff --git a/mercurial/utils/procutil.py b/mercurial/utils/procutil.py --- a/mercurial/utils/procutil.py +++ b/mercurial/utils/procutil.py @@ -245,8 +245,11 @@ def hgexecutable(): pycompat.fsencode(getattr(mainmod, '__file__', ''))) == 'hg'): _sethgexecutable(pycompat.fsencode(mainmod.__file__)) else: - exe = findexe('hg') or os.path.basename(sys.argv[0]) - _sethgexecutable(pycompat.fsencode(exe)) + exe = findexe('hg') + if exe: + _sethgexecutable(pycompat.fsencode(exe)) + else: + _sethgexecutable(os.path.basename(pycompat.sysargv[0])) return _hgexecutable def _sethgexecutable(path):