diff src/terminal.c @ 12138:bee3751f3d4e v8.0.0949

patch 8.0.0949: winpty.dll name is fixed commit https://github.com/vim/vim/commit/9e13aa7729486d79a530ecae1a7a95d10da27d61 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Aug 16 23:14:08 2017 +0200 patch 8.0.0949: winpty.dll name is fixed Problem: winpty.dll name is fixed. Solution: Add the 'winptydll' option. Make the default name depend on whether it is a 32-bit or 64-bit build. (idea by Yasuhiro Matsumoto, closes #1978)
author Christian Brabandt <cb@256bit.org>
date Wed, 16 Aug 2017 23:15:03 +0200
parents 4e9c14cb1f5d
children abd69cea3459
line wrap: on
line diff
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -38,6 +38,7 @@
  * in tl_scrollback are no longer used.
  *
  * TODO:
+ * - make [range]terminal pipe [range] lines to the terminal
  * - implement term_setsize()
  * - add test for giving error for invalid 'termsize' value.
  * - support minimal size when 'termsize' is "rows*cols".
@@ -2768,11 +2769,15 @@ dyn_winpty_init(void)
     /* No need to initialize twice. */
     if (hWinPtyDLL)
 	return 1;
-    /* Load winpty.dll */
-    hWinPtyDLL = vimLoadLib(WINPTY_DLL);
+    /* Load winpty.dll, prefer using the 'winptydll' option, fall back to just
+     * winpty.dll. */
+    if (*p_winptydll != NUL)
+	hWinPtyDLL = vimLoadLib((char *)p_winptydll);
+    if (!hWinPtyDLL)
+	hWinPtyDLL = vimLoadLib(WINPTY_DLL);
     if (!hWinPtyDLL)
     {
-	EMSG2(_(e_loadlib), WINPTY_DLL);
+	EMSG2(_(e_loadlib), *p_winptydll != NUL ? p_winptydll : WINPTY_DLL);
 	return 0;
     }
     for (i = 0; winpty_entry[i].name != NULL