Mercurial > hg
comparison contrib/win32/hg.bat @ 46885:fc8a5c9ecee0
win32: enable legacy I/O mode to fix missing pager output on Windows with py3
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.
Differential Revision: https://phab.mercurial-scm.org/D10354
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Fri, 09 Apr 2021 11:32:19 -0400 |
parents | 975c4fc4a512 |
children |
comparison
equal
deleted
inserted
replaced
46884:cc3ad5c3af3b | 46885:fc8a5c9ecee0 |
---|---|
1 @echo off | 1 @echo off |
2 rem Windows Driver script for Mercurial | 2 rem Windows Driver script for Mercurial |
3 | 3 |
4 setlocal | 4 setlocal |
5 set HG=%~f0 | 5 set HG=%~f0 |
6 | |
7 set PYTHONLEGACYWINDOWSSTDIO=1 | |
6 | 8 |
7 rem Use a full path to Python (relative to this script) if it exists, | 9 rem Use a full path to Python (relative to this script) if it exists, |
8 rem as the standard Python install does not put python.exe on the PATH... | 10 rem as the standard Python install does not put python.exe on the PATH... |
9 rem Otherwise, expect that python.exe can be found on the PATH. | 11 rem Otherwise, expect that python.exe can be found on the PATH. |
10 rem %~dp0 is the directory of this script | 12 rem %~dp0 is the directory of this script |