1
0
forked from aniani/vim

patch 8.1.1846: inconsistently using GetVimCommand() and v:progpath

Problem:    Inconsistently using GetVimCommand() and v:progpath. (Daniel
            Hahler)
Solution:   Use GetVimCommand(). (closes #4806)
This commit is contained in:
Bram Moolenaar
2019-08-14 21:12:05 +02:00
parent 6ace95e981
commit 93344c2d70
8 changed files with 45 additions and 39 deletions

View File

@@ -439,7 +439,7 @@ func Test_autocmd_bufwipe_in_SessLoadPost()
[CODE] [CODE]
call writefile(content, 'Xvimrc') call writefile(content, 'Xvimrc')
call system(v:progpath. ' -u Xvimrc --not-a-term --noplugins -S Session.vim -c cq') call system(GetVimCommand('Xvimrc') .. ' --not-a-term --noplugins -S Session.vim -c cq')
let errors = join(readfile('Xerrors')) let errors = join(readfile('Xerrors'))
call assert_match('E814', errors) call assert_match('E814', errors)
@@ -479,7 +479,7 @@ func Test_autocmd_bufwipe_in_SessLoadPost2()
[CODE] [CODE]
call writefile(content, 'Xvimrc') call writefile(content, 'Xvimrc')
call system(v:progpath. ' -u Xvimrc --not-a-term --noplugins -S Session.vim -c cq') call system(GetVimCommand('Xvimrc') .. ' --not-a-term --noplugins -S Session.vim -c cq')
let errors = join(readfile('Xerrors')) let errors = join(readfile('Xerrors'))
" This probably only ever matches on unix. " This probably only ever matches on unix.
call assert_notmatch('Caught deadly signal SEGV', errors) call assert_notmatch('Caught deadly signal SEGV', errors)
@@ -1422,7 +1422,7 @@ func Test_bufunload_all()
call writefile(content, 'Xtest') call writefile(content, 'Xtest')
call delete('Xout') call delete('Xout')
call system(v:progpath. ' --clean -N --not-a-term -S Xtest') call system(GetVimCommandClean() .. ' -N --not-a-term -S Xtest')
call assert_true(filereadable('Xout')) call assert_true(filereadable('Xout'))
call delete('Xxx1') call delete('Xxx1')

View File

@@ -127,10 +127,9 @@ func Test_quoteplus()
let test_call = 'Can you hear me?' let test_call = 'Can you hear me?'
let test_response = 'Yes, I can.' let test_response = 'Yes, I can.'
let vim_exe = exepath(v:progpath) let vim_exe = GetVimCommand()
let testee = 'VIMRUNTIME=' . $VIMRUNTIME . '; export VIMRUNTIME;' let testee = 'VIMRUNTIME=' . $VIMRUNTIME . '; export VIMRUNTIME;'
\ . vim_exe \ . vim_exe . ' --noplugin --not-a-term -c ''%s'''
\ . ' -u NONE -U NONE --noplugin --not-a-term -c ''%s'''
" Ignore the "failed to create input context" error. " Ignore the "failed to create input context" error.
let cmd = 'call test_ignore_error("E285") | ' let cmd = 'call test_ignore_error("E285") | '
\ . 'gui -f | ' \ . 'gui -f | '

View File

@@ -1096,7 +1096,7 @@ func Test_normal20_exmode()
endif endif
call writefile(['1a', 'foo', 'bar', '.', 'w! Xfile2', 'q!'], 'Xscript') call writefile(['1a', 'foo', 'bar', '.', 'w! Xfile2', 'q!'], 'Xscript')
call writefile(['1', '2'], 'Xfile') call writefile(['1', '2'], 'Xfile')
call system(v:progpath .' -e -s < Xscript Xfile') call system(GetVimCommand() .. ' -e -s < Xscript Xfile')
let a=readfile('Xfile2') let a=readfile('Xfile2')
call assert_equal(['1', 'foo', 'bar', '2'], a) call assert_equal(['1', 'foo', 'bar', '2'], a)
@@ -1143,13 +1143,13 @@ func Test_normal22_zet()
" let shell = &shell " let shell = &shell
" let &shell = 'sh' " let &shell = 'sh'
call writefile(['1', '2'], 'Xfile') call writefile(['1', '2'], 'Xfile')
let args = ' -u NONE -N -U NONE -i NONE --noplugins -X --not-a-term' let args = ' -N -i NONE --noplugins -X --not-a-term'
call system(v:progpath . args . ' -c "%d" -c ":norm! ZZ" Xfile') call system(GetVimCommand() .. args .. ' -c "%d" -c ":norm! ZZ" Xfile')
let a = readfile('Xfile') let a = readfile('Xfile')
call assert_equal([], a) call assert_equal([], a)
" Test for ZQ " Test for ZQ
call writefile(['1', '2'], 'Xfile') call writefile(['1', '2'], 'Xfile')
call system(v:progpath . args . ' -c "%d" -c ":norm! ZQ" Xfile') call system(GetVimCommand() . args . ' -c "%d" -c ":norm! ZQ" Xfile')
let a = readfile('Xfile') let a = readfile('Xfile')
call assert_equal(['1', '2'], a) call assert_equal(['1', '2'], a)

View File

@@ -3,6 +3,8 @@
source check.vim source check.vim
CheckFeature profile CheckFeature profile
source shared.vim
func Test_profile_func() func Test_profile_func()
let lines =<< trim [CODE] let lines =<< trim [CODE]
profile start Xprofile_func.log profile start Xprofile_func.log
@@ -34,7 +36,7 @@ func Test_profile_func()
[CODE] [CODE]
call writefile(lines, 'Xprofile_func.vim') call writefile(lines, 'Xprofile_func.vim')
call system(v:progpath call system(GetVimCommand()
\ . ' -es --clean' \ . ' -es --clean'
\ . ' -c "so Xprofile_func.vim"' \ . ' -c "so Xprofile_func.vim"'
\ . ' -c "qall!"') \ . ' -c "qall!"')
@@ -120,8 +122,8 @@ func Test_profile_func_with_ifelse()
[CODE] [CODE]
call writefile(lines, 'Xprofile_func.vim') call writefile(lines, 'Xprofile_func.vim')
call system(v:progpath call system(GetVimCommand()
\ . ' -es -u NONE -U NONE -i NONE --noplugin' \ . ' -es -i NONE --noplugin'
\ . ' -c "profile start Xprofile_func.log"' \ . ' -c "profile start Xprofile_func.log"'
\ . ' -c "profile func Foo*"' \ . ' -c "profile func Foo*"'
\ . ' -c "so Xprofile_func.vim"' \ . ' -c "so Xprofile_func.vim"'
@@ -233,8 +235,8 @@ func Test_profile_func_with_trycatch()
[CODE] [CODE]
call writefile(lines, 'Xprofile_func.vim') call writefile(lines, 'Xprofile_func.vim')
call system(v:progpath call system(GetVimCommand()
\ . ' -es -u NONE -U NONE -i NONE --noplugin' \ . ' -es -i NONE --noplugin'
\ . ' -c "profile start Xprofile_func.log"' \ . ' -c "profile start Xprofile_func.log"'
\ . ' -c "profile func Foo*"' \ . ' -c "profile func Foo*"'
\ . ' -c "so Xprofile_func.vim"' \ . ' -c "so Xprofile_func.vim"'
@@ -320,8 +322,8 @@ func Test_profile_file()
[CODE] [CODE]
call writefile(lines, 'Xprofile_file.vim') call writefile(lines, 'Xprofile_file.vim')
call system(v:progpath call system(GetVimCommandClean()
\ . ' -es --clean' \ . ' -es'
\ . ' -c "profile start Xprofile_file.log"' \ . ' -c "profile start Xprofile_file.log"'
\ . ' -c "profile file Xprofile_file.vim"' \ . ' -c "profile file Xprofile_file.vim"'
\ . ' -c "so Xprofile_file.vim"' \ . ' -c "so Xprofile_file.vim"'
@@ -365,8 +367,8 @@ func Test_profile_file_with_cont()
\ ] \ ]
call writefile(lines, 'Xprofile_file.vim') call writefile(lines, 'Xprofile_file.vim')
call system(v:progpath call system(GetVimCommandClean()
\ . ' -es --clean' \ . ' -es'
\ . ' -c "profile start Xprofile_file.log"' \ . ' -c "profile start Xprofile_file.log"'
\ . ' -c "profile file Xprofile_file.vim"' \ . ' -c "profile file Xprofile_file.vim"'
\ . ' -c "so Xprofile_file.vim"' \ . ' -c "so Xprofile_file.vim"'
@@ -423,8 +425,8 @@ func Test_profile_truncate_mbyte()
\ ] \ ]
call writefile(lines, 'Xprofile_file.vim') call writefile(lines, 'Xprofile_file.vim')
call system(v:progpath call system(GetVimCommandClean()
\ . ' -es --clean --cmd "set enc=utf-8"' \ . ' -es --cmd "set enc=utf-8"'
\ . ' -c "profile start Xprofile_file.log"' \ . ' -c "profile start Xprofile_file.log"'
\ . ' -c "profile file Xprofile_file.vim"' \ . ' -c "profile file Xprofile_file.vim"'
\ . ' -c "so Xprofile_file.vim"' \ . ' -c "so Xprofile_file.vim"'
@@ -470,7 +472,7 @@ func Test_profdel_func()
call Foo3() call Foo3()
[CODE] [CODE]
call writefile(lines, 'Xprofile_file.vim') call writefile(lines, 'Xprofile_file.vim')
call system(v:progpath . ' -es --clean -c "so Xprofile_file.vim" -c q') call system(GetVimCommandClean() . ' -es -c "so Xprofile_file.vim" -c q')
call assert_equal(0, v:shell_error) call assert_equal(0, v:shell_error)
let lines = readfile('Xprofile_file.log') let lines = readfile('Xprofile_file.log')
@@ -505,7 +507,7 @@ func Test_profdel_star()
call Foo() call Foo()
[CODE] [CODE]
call writefile(lines, 'Xprofile_file.vim') call writefile(lines, 'Xprofile_file.vim')
call system(v:progpath . ' -es --clean -c "so Xprofile_file.vim" -c q') call system(GetVimCommandClean() . ' -es -c "so Xprofile_file.vim" -c q')
call assert_equal(0, v:shell_error) call assert_equal(0, v:shell_error)
let lines = readfile('Xprofile_file.log') let lines = readfile('Xprofile_file.log')

View File

@@ -26,8 +26,8 @@ func Test_suspend()
" Wait for shell prompt. " Wait for shell prompt.
call WaitForAssert({-> assert_match('[$#] $', term_getline(buf, '.'))}) call WaitForAssert({-> assert_match('[$#] $', term_getline(buf, '.'))})
call term_sendkeys(buf, v:progpath call term_sendkeys(buf, GetVimCommandClean()
\ . " --clean -X" \ . " -X"
\ . " -c 'set nu'" \ . " -c 'set nu'"
\ . " -c 'call setline(1, \"foo\")'" \ . " -c 'call setline(1, \"foo\")'"
\ . " Xfoo\<CR>") \ . " Xfoo\<CR>")

View File

@@ -1,5 +1,7 @@
" Tests for system() and systemlist() " Tests for system() and systemlist()
source shared.vim
func Test_System() func Test_System()
if !executable('echo') || !executable('cat') || !executable('wc') if !executable('echo') || !executable('cat') || !executable('wc')
return return
@@ -49,11 +51,11 @@ endfunc
func Test_system_exmode() func Test_system_exmode()
if has('unix') " echo $? only works on Unix if has('unix') " echo $? only works on Unix
let cmd = ' -es -u NONE -c "source Xscript" +q; echo "result=$?"' let cmd = ' -es -c "source Xscript" +q; echo "result=$?"'
" Need to put this in a script, "catch" isn't found after an unknown " Need to put this in a script, "catch" isn't found after an unknown
" function. " function.
call writefile(['try', 'call doesnotexist()', 'catch', 'endtry'], 'Xscript') call writefile(['try', 'call doesnotexist()', 'catch', 'endtry'], 'Xscript')
let a = system(v:progpath . cmd) let a = system(GetVimCommand() . cmd)
call assert_match('result=0', a) call assert_match('result=0', a)
call assert_equal(0, v:shell_error) call assert_equal(0, v:shell_error)
endif endif
@@ -61,32 +63,32 @@ func Test_system_exmode()
" Error before try does set error flag. " Error before try does set error flag.
call writefile(['call nosuchfunction()', 'try', 'call doesnotexist()', 'catch', 'endtry'], 'Xscript') call writefile(['call nosuchfunction()', 'try', 'call doesnotexist()', 'catch', 'endtry'], 'Xscript')
if has('unix') " echo $? only works on Unix if has('unix') " echo $? only works on Unix
let a = system(v:progpath . cmd) let a = system(GetVimCommand() . cmd)
call assert_notequal('0', a[0]) call assert_notequal('0', a[0])
endif endif
let cmd = ' -es -u NONE -c "source Xscript" +q' let cmd = ' -es -c "source Xscript" +q'
let a = system(v:progpath . cmd) let a = system(GetVimCommand() . cmd)
call assert_notequal(0, v:shell_error) call assert_notequal(0, v:shell_error)
call delete('Xscript') call delete('Xscript')
if has('unix') " echo $? only works on Unix if has('unix') " echo $? only works on Unix
let cmd = ' -es -u NONE -c "call doesnotexist()" +q; echo $?' let cmd = ' -es -c "call doesnotexist()" +q; echo $?'
let a = system(v:progpath. cmd) let a = system(GetVimCommand() . cmd)
call assert_notequal(0, a[0]) call assert_notequal(0, a[0])
endif endif
let cmd = ' -es -u NONE -c "call doesnotexist()" +q' let cmd = ' -es -c "call doesnotexist()" +q'
let a = system(v:progpath. cmd) let a = system(GetVimCommand(). cmd)
call assert_notequal(0, v:shell_error) call assert_notequal(0, v:shell_error)
if has('unix') " echo $? only works on Unix if has('unix') " echo $? only works on Unix
let cmd = ' -es -u NONE -c "call doesnotexist()|let a=1" +q; echo $?' let cmd = ' -es -c "call doesnotexist()|let a=1" +q; echo $?'
let a = system(v:progpath. cmd) let a = system(GetVimCommand() . cmd)
call assert_notequal(0, a[0]) call assert_notequal(0, a[0])
endif endif
let cmd = ' -es -u NONE -c "call doesnotexist()|let a=1" +q' let cmd = ' -es -c "call doesnotexist()|let a=1" +q'
let a = system(v:progpath. cmd) let a = system(GetVimCommand() . cmd)
call assert_notequal(0, v:shell_error) call assert_notequal(0, v:shell_error)
endfunc endfunc

View File

@@ -2,6 +2,7 @@
" Most of this was formerly in test49. " Most of this was formerly in test49.
source check.vim source check.vim
source shared.vim
"------------------------------------------------------------------------------- "-------------------------------------------------------------------------------
" Test environment {{{1 " Test environment {{{1
@@ -1721,7 +1722,7 @@ func Test_function_defined_line()
[CODE] [CODE]
call writefile(lines, 'Xtest.vim') call writefile(lines, 'Xtest.vim')
let res = system(v:progpath .. ' --clean -es -X -S Xtest.vim') let res = system(GetVimCommandClean() .. ' -es -X -S Xtest.vim')
call assert_equal(0, v:shell_error) call assert_equal(0, v:shell_error)
let m = matchstr(res, 'function F1()[^[:print:]]*[[:print:]]*') let m = matchstr(res, 'function F1()[^[:print:]]*[[:print:]]*')

View File

@@ -769,6 +769,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
1846,
/**/ /**/
1845, 1845,
/**/ /**/