( )⚙ D10354 hg.bat: enable legacy I/O mode to fix missing pager output on Windows with py3

This is an archive of the discontinued Mercurial Phabricator instance.

hg.bat: enable legacy I/O mode to fix missing pager output on Windows with py3
ClosedPublic

Authored by mharbison72 on Apr 9 2021, 11:34 AM.

Details

Summary

The equivalent interpreter option is set by wrapper.exe, but this *.bat file is
what gets installed in a venv. Without this mode, any command that spins up a
pager has no output, unless the pager is explicitly disabled. The variable is
set inside the setlocal scope to keep it from leaking into the environment
after the bat file exits.

We should probably still figure out how to ship a compiled hg.exe when
installing with pip, because the binary does other things like enable long
filename support. But this avoids the dangerous and confusing lack of output in
the meantime.

Diff Detail

Repository
rHG Mercurial
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

mharbison72 created this revision.Apr 9 2021, 11:34 AM
pulkit accepted this revision.Apr 11 2021, 5:29 PM
This revision is now accepted and ready to land.Apr 11 2021, 5:29 PM

Reworded the commit message to start with win32 to make test-check-commit.t happy.