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