mirror of
https://github.com/vim/vim.git
synced 2025-09-25 03:54:15 -04:00
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)
This commit is contained in:
@@ -8831,6 +8831,20 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
large number, it will cause errors when opening more than a few
|
||||
windows. A value of 0 to 12 is reasonable.
|
||||
|
||||
*'winptydll'*
|
||||
'winptydll' string (default "winpty32.dll" or "winpty64.dll")
|
||||
global
|
||||
{not in Vi}
|
||||
{only available when compiled with the |terminal|
|
||||
feature on MS-Windows}
|
||||
Specifies the name of the winpty shared library, used for the
|
||||
|:terminal| command. The default depends on whether was build as a
|
||||
32-bit or 64-bit executable. If not found, "win32pty.dll" is tried as
|
||||
a fallback.
|
||||
Environment variables are expanded |:set_env|.
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
|
||||
*'winwidth'* *'wiw'* *E592*
|
||||
'winwidth' 'wiw' number (default 20)
|
||||
global
|
||||
|
14
src/option.c
14
src/option.c
@@ -3098,6 +3098,20 @@ static struct vimoption options[] =
|
||||
(char_u *)NULL, PV_NONE,
|
||||
#endif
|
||||
{(char_u *)1L, (char_u *)0L} SCRIPTID_INIT},
|
||||
{"winptydll", NULL, P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
|
||||
#if defined(WIN3264) && defined(TERMINAL)
|
||||
(char_u *)&p_winptydll, PV_NONE, {
|
||||
# ifdef _WIN64
|
||||
(char_u *)"winpty64.dll",
|
||||
# else
|
||||
(char_u *)"winpty32.dll",
|
||||
# endif
|
||||
(char_u *)0L}
|
||||
#else
|
||||
(char_u *)NULL, PV_NONE,
|
||||
{(char_u *)0L, (char_u *)0L}
|
||||
#endif
|
||||
SCRIPTID_INIT},
|
||||
{"winwidth", "wiw", P_NUM|P_VI_DEF,
|
||||
#ifdef FEAT_WINDOWS
|
||||
(char_u *)&p_wiw, PV_NONE,
|
||||
|
@@ -966,6 +966,9 @@ EXTERN long p_wmh; /* 'winminheight' */
|
||||
EXTERN long p_wmw; /* 'winminwidth' */
|
||||
EXTERN long p_wiw; /* 'winwidth' */
|
||||
#endif
|
||||
#if defined(WIN3264) && defined(TERMINAL)
|
||||
EXTERN char_u *p_winptydll; /* 'winptydll' */
|
||||
#endif
|
||||
EXTERN int p_ws; /* 'wrapscan' */
|
||||
EXTERN int p_write; /* 'write' */
|
||||
EXTERN int p_wa; /* 'writeany' */
|
||||
|
@@ -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 */
|
||||
/* 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
|
||||
|
@@ -769,6 +769,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
949,
|
||||
/**/
|
||||
948,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user