changeset 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 cc3ad5c3af3b
children 37f49d462394
files contrib/win32/hg.bat
diffstat 1 files changed, 2 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/contrib/win32/hg.bat	Thu Jan 14 04:58:20 2021 +0100
+++ b/contrib/win32/hg.bat	Fri Apr 09 11:32:19 2021 -0400
@@ -4,6 +4,8 @@
 setlocal
 set HG=%~f0
 
+set PYTHONLEGACYWINDOWSSTDIO=1
+
 rem Use a full path to Python (relative to this script) if it exists,
 rem as the standard Python install does not put python.exe on the PATH...
 rem Otherwise, expect that python.exe can be found on the PATH.