> - # Python3 has some logic to "coerce" the C locale to a UTF-8 capable > - # one, and it sets LC_CTYPE in the environment to C.UTF-8 if none of > - # 'LC_CTYPE', 'LC_ALL' or 'LANG' are set (to any value). This can be > - # disabled with PYTHONCOERCECLOCALE=0 in the environment. > - # > - # When fromui is called via _inithashstate, python has already set > - # this, so that's in the environment right when we start up the hg > - # process. Then chg will call us and tell us to set the environment > to > - # the one it has; this might NOT have LC_CTYPE, so we'll need to > - # carry-forward the LC_CTYPE that was coerced in these situations. > - # > - # If this is not handled, we will fail config+env validation and fail > - # to start chg. If this is just ignored instead of carried forward, > we > - # may have different behavior between chg and non-chg.
Can you move and rephrase this comment? > @@ -730,6 +696,11 @@ > # environ cleaner. > if b'CHGINTERNALMARK' in encoding.environ: > del encoding.environ[b'CHGINTERNALMARK'] > + if b'CHGORIG_LC_CTYPE' in encoding.environ: > + encoding.environ[b'LC_CTYPE'] = encoding.environ[b'CHGORIG_LC_CTYPE'] > + del encoding.environ[b'CHGORIG_LC_CTYPE'] > + elif b'CHG_CLEAR_LC_CTYPE' in encoding.environ: > + del encoding.environ[b'LC_CTYPE'] would crash if `LC_CTYPE` wasn't set, and probably needs to delete `CHG_CLEAR_LC_CTYPE`. > diff --git a/hg b/hg > --- a/hg > +++ b/hg > @@ -1,4 +1,4 @@ > -#!/usr/bin/env python > +#!/usr/bin/env python3 Unrelated change. _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel