From: gcrtnst <52910071+gcrtnst@users.noreply.github.com> Date: Sat, 7 Mar 2026 10:01:49 +0000 (+0000) Subject: patch 9.2.0114: MS-Windows: terminal output may go to wrong terminal X-Git-Tag: v9.2.0114^0 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=78ae2ff09438c4383d570f4c92e23134805cf0b7;p=thirdparty%2Fvim.git patch 9.2.0114: MS-Windows: terminal output may go to wrong terminal Problem: MS-Windows: terminal output may go to wrong terminal with ConPTY Solution: Explicitly disable inheriting the terminal handles (gcrtnst). closes: #19589 Signed-off-by: gcrtnst <52910071+gcrtnst@users.noreply.github.com> Signed-off-by: Christian Brabandt --- diff --git a/src/terminal.c b/src/terminal.c index cea79dac6e..86e9755687 100644 --- a/src/terminal.c +++ b/src/terminal.c @@ -7134,6 +7134,15 @@ conpty_term_and_job_init( term->tl_siex.StartupInfo.cb = sizeof(term->tl_siex); + // Explicitly invalidate std handles to prevent inheritance of + // the debugger's stdout (e.g., in Visual Studio debugging sessions), + // which could cause job output to go to the debugger instead of + // the intended ConPTY, even with bInheritHandles set to FALSE in CreateProcess. + term->tl_siex.StartupInfo.dwFlags = STARTF_USESTDHANDLES; + term->tl_siex.StartupInfo.hStdInput = INVALID_HANDLE_VALUE; + term->tl_siex.StartupInfo.hStdOutput = INVALID_HANDLE_VALUE; + term->tl_siex.StartupInfo.hStdError = INVALID_HANDLE_VALUE; + // Set up pipe inheritance safely: Vista or later. pInitializeProcThreadAttributeList(NULL, 1, 0, &breq); term->tl_siex.lpAttributeList = alloc(breq); diff --git a/src/version.c b/src/version.c index 3cddb4bc0b..6c37163dc8 100644 --- a/src/version.c +++ b/src/version.c @@ -734,6 +734,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 114, /**/ 113, /**/