changeset 22484:93f3cdc296e7 v8.2.1790

patch 8.2.1790: MS-Windows with Python: crash when executed from Vifm Commit: https://github.com/vim/vim/commit/794771cfd83af2a0d1926bed301e784447e7290b Author: Bram Moolenaar <Bram@vim.org> Date: Sat Oct 3 13:57:13 2020 +0200 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 https://github.com/vim/vim/issues/7061, closes https://github.com/vim/vim/issues/7053)
author Bram Moolenaar <Bram@vim.org>
date Sat, 03 Oct 2020 14:00:04 +0200
parents 9bbe172e1c44
children a950cd957dad
files src/if_python3.c src/version.c
diffstat 2 files changed, 6 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/if_python3.c
+++ b/src/if_python3.c
@@ -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()
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1790,
+/**/
     1789,
 /**/
     1788,