D6782: py3: use pycompat.sysargv[0] for instead of fsencode(sys.argv[0])

martinvonz (Martin von Zweigbergk) phabricator at mercurial-scm.org
Thu Sep 5 19:26:43 EDT 2019


martinvonz added a comment.


  In D6782#99619 <https://phab.mercurial-scm.org/D6782#99619>, @yuja wrote:
  
  >> @@ -245,8 +245,11 @@
  >>
  >>       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]))
  >
  > `findexe()` is supposed to return bytes. If not always, it's the bug
  > of `findexe()`.
  
  Oh, `findexe()` is our own function. I somehow thought it was from the standard library. I'll send another follow-up. Thanks.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D6782/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D6782

To: martinvonz, #hg-reviewers
Cc: yuja, mercurial-devel


More information about the Mercurial-devel mailing list