mirror of
https://github.com/vim/vim.git
synced 2025-09-25 03:54:15 -04:00
patch 8.2.1790: MS-Windows with Python: crash when executed from Vifm
Problem: MS-Windows with Python: crash when executed from Vifm. Solution: Use NUL instead of CONIN. (Ken Takata, closes #7061, closes #7053)
This commit is contained in:
@@ -909,7 +909,7 @@ static wchar_t *py_home_buf = NULL;
|
||||
|
||||
#if defined(MSWIN) && (PY_VERSION_HEX >= 0x030500f0)
|
||||
// Python 3.5 or later will abort inside Py_Initialize() when stdin is
|
||||
// redirected. Reconnect stdin to CONIN$.
|
||||
// redirected. Reconnect stdin to NUL.
|
||||
// Note that the python DLL is linked to its own stdio DLL which can be
|
||||
// differ from Vim's stdio.
|
||||
static void
|
||||
@@ -938,11 +938,11 @@ reset_stdin(void)
|
||||
pyfreopen = (void*)GetProcAddress(hpystdiodll, "freopen");
|
||||
}
|
||||
|
||||
// Reconnect stdin to CONIN$.
|
||||
// Reconnect stdin to NUL.
|
||||
if (pyfreopen)
|
||||
pyfreopen("CONIN$", "r", py__acrt_iob_func(0));
|
||||
pyfreopen("NUL", "r", py__acrt_iob_func(0));
|
||||
else
|
||||
freopen("CONIN$", "r", stdin);
|
||||
freopen("NUL", "r", stdin);
|
||||
}
|
||||
#else
|
||||
# define reset_stdin()
|
||||
|
Reference in New Issue
Block a user