forked from aniani/vim
patch 7.4.1756
Problem: "dll" options are not expanded. Solution: Expand environment variables. (Ozaki Kiichi)
This commit is contained in:
12
src/option.c
12
src/option.c
@@ -1766,7 +1766,7 @@ static struct vimoption options[] =
|
||||
(char_u *)&p_lpl, PV_NONE,
|
||||
{(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT},
|
||||
#if defined(DYNAMIC_LUA)
|
||||
{"luadll", NULL, P_STRING|P_VI_DEF|P_SECURE,
|
||||
{"luadll", NULL, P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
|
||||
(char_u *)&p_luadll, PV_NONE,
|
||||
{(char_u *)DYNAMIC_LUA_DLL, (char_u *)0L}
|
||||
SCRIPTID_INIT},
|
||||
@@ -2012,7 +2012,7 @@ static struct vimoption options[] =
|
||||
#endif
|
||||
(char_u *)0L} SCRIPTID_INIT},
|
||||
#if defined(DYNAMIC_PERL)
|
||||
{"perldll", NULL, P_STRING|P_VI_DEF|P_SECURE,
|
||||
{"perldll", NULL, P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
|
||||
(char_u *)&p_perldll, PV_NONE,
|
||||
{(char_u *)DYNAMIC_PERL_DLL, (char_u *)0L}
|
||||
SCRIPTID_INIT},
|
||||
@@ -2123,13 +2123,13 @@ static struct vimoption options[] =
|
||||
#endif
|
||||
{(char_u *)0L, (char_u *)0L} SCRIPTID_INIT},
|
||||
#if defined(DYNAMIC_PYTHON3)
|
||||
{"pythonthreedll", NULL, P_STRING|P_VI_DEF|P_SECURE,
|
||||
{"pythonthreedll", NULL, P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
|
||||
(char_u *)&p_py3dll, PV_NONE,
|
||||
{(char_u *)DYNAMIC_PYTHON3_DLL, (char_u *)0L}
|
||||
SCRIPTID_INIT},
|
||||
#endif
|
||||
#if defined(DYNAMIC_PYTHON)
|
||||
{"pythondll", NULL, P_STRING|P_VI_DEF|P_SECURE,
|
||||
{"pythondll", NULL, P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
|
||||
(char_u *)&p_pydll, PV_NONE,
|
||||
{(char_u *)DYNAMIC_PYTHON_DLL, (char_u *)0L}
|
||||
SCRIPTID_INIT},
|
||||
@@ -2208,7 +2208,7 @@ static struct vimoption options[] =
|
||||
#endif
|
||||
SCRIPTID_INIT},
|
||||
#if defined(DYNAMIC_RUBY)
|
||||
{"rubydll", NULL, P_STRING|P_VI_DEF|P_SECURE,
|
||||
{"rubydll", NULL, P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
|
||||
(char_u *)&p_rubydll, PV_NONE,
|
||||
{(char_u *)DYNAMIC_RUBY_DLL, (char_u *)0L}
|
||||
SCRIPTID_INIT},
|
||||
@@ -2592,7 +2592,7 @@ static struct vimoption options[] =
|
||||
(char_u *)&p_tgst, PV_NONE,
|
||||
{(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT},
|
||||
#if defined(DYNAMIC_TCL)
|
||||
{"tcldll", NULL, P_STRING|P_VI_DEF|P_SECURE,
|
||||
{"tcldll", NULL, P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
|
||||
(char_u *)&p_tcldll, PV_NONE,
|
||||
{(char_u *)DYNAMIC_TCL_DLL, (char_u *)0L}
|
||||
SCRIPTID_INIT},
|
||||
|
@@ -8,6 +8,7 @@ source test_delete.vim
|
||||
source test_ex_undo.vim
|
||||
source test_expr.vim
|
||||
source test_expand.vim
|
||||
source test_expand_dllpath.vim
|
||||
source test_feedkeys.vim
|
||||
source test_fnamemodify.vim
|
||||
source test_file_perm.vim
|
||||
|
33
src/testdir/test_expand_dllpath.vim
Normal file
33
src/testdir/test_expand_dllpath.vim
Normal file
@@ -0,0 +1,33 @@
|
||||
scriptencoding utf-8
|
||||
|
||||
func s:test_expand_dllpath(optname)
|
||||
let $TEST_EXPAND_DLLPATH = '/dllpath/lib' . substitute(a:optname, '\zedll$', '.', '')
|
||||
execute 'let dllpath_save = &' . a:optname
|
||||
try
|
||||
execute 'set ' . a:optname . '=$TEST_EXPAND_DLLPATH'
|
||||
execute 'call assert_equal("' . $TEST_EXPAND_DLLPATH . '", &' . a:optname . ')'
|
||||
|
||||
execute 'set ' . a:optname . '=~' . $TEST_EXPAND_DLLPATH
|
||||
execute 'call assert_equal("' . $HOME . $TEST_EXPAND_DLLPATH . '", &' . a:optname . ')'
|
||||
finally
|
||||
execute 'let &' . a:optname . ' = dllpath_save'
|
||||
let $TEST_EXPAND_DLLPATH = ''
|
||||
endtry
|
||||
endfunc
|
||||
|
||||
func s:generate_test_if_exists(optname)
|
||||
if exists('&' . a:optname)
|
||||
execute join([
|
||||
\ 'func Test_expand_' . a:optname . '()',
|
||||
\ ' call s:test_expand_dllpath("' . a:optname . '")',
|
||||
\ 'endfunc'
|
||||
\ ], "\n")
|
||||
endif
|
||||
endfunc
|
||||
|
||||
call s:generate_test_if_exists('luadll')
|
||||
call s:generate_test_if_exists('perldll')
|
||||
call s:generate_test_if_exists('pythondll')
|
||||
call s:generate_test_if_exists('pythonthreedll')
|
||||
call s:generate_test_if_exists('rubydll')
|
||||
call s:generate_test_if_exists('tcldll')
|
@@ -748,6 +748,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1756,
|
||||
/**/
|
||||
1755,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user