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

Problem:    Inconsistently using GetVimCommand() and v:progpath. (Daniel
            Hahler)
Solution:   Use GetVimCommand(). (closes #4806)
diff --git a/src/testdir/test_autocmd.vim b/src/testdir/test_autocmd.vim
index 5bb601e..9dc578e 100644
--- a/src/testdir/test_autocmd.vim
+++ b/src/testdir/test_autocmd.vim
@@ -439,7 +439,7 @@
   [CODE]
 
   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'))
   call assert_match('E814', errors)
 
@@ -479,7 +479,7 @@
   [CODE]
 
   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'))
   " This probably only ever matches on unix.
   call assert_notmatch('Caught deadly signal SEGV', errors)
@@ -1422,7 +1422,7 @@
   call writefile(content, 'Xtest')
 
   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 delete('Xxx1')
diff --git a/src/testdir/test_gui.vim b/src/testdir/test_gui.vim
index 985bbf4..e80e85f 100644
--- a/src/testdir/test_gui.vim
+++ b/src/testdir/test_gui.vim
@@ -127,10 +127,9 @@
 
     let test_call     = 'Can you hear me?'
     let test_response = 'Yes, I can.'
-    let vim_exe = exepath(v:progpath)
+    let vim_exe = GetVimCommand()
     let testee = 'VIMRUNTIME=' . $VIMRUNTIME . '; export VIMRUNTIME;'
-          \ . vim_exe
-	  \ . ' -u NONE -U NONE --noplugin --not-a-term -c ''%s'''
+          \ . vim_exe . ' --noplugin --not-a-term -c ''%s'''
     " Ignore the "failed to create input context" error.
     let cmd = 'call test_ignore_error("E285") | '
 	  \ . 'gui -f | '
diff --git a/src/testdir/test_normal.vim b/src/testdir/test_normal.vim
index 2df0fe5..c6df183 100644
--- a/src/testdir/test_normal.vim
+++ b/src/testdir/test_normal.vim
@@ -1096,7 +1096,7 @@
   endif
   call writefile(['1a', 'foo', 'bar', '.', 'w! Xfile2', 'q!'], 'Xscript')
   call writefile(['1', '2'], 'Xfile')
-  call system(v:progpath .' -e -s < Xscript Xfile')
+  call system(GetVimCommand() .. ' -e -s < Xscript Xfile')
   let a=readfile('Xfile2')
   call assert_equal(['1', 'foo', 'bar', '2'], a)
 
@@ -1143,13 +1143,13 @@
   " let shell = &shell
   " let &shell = 'sh'
   call writefile(['1', '2'], 'Xfile')
-  let args = ' -u NONE -N -U NONE -i NONE --noplugins -X --not-a-term'
-  call system(v:progpath . args . ' -c "%d" -c ":norm! ZZ" Xfile')
+  let args = ' -N -i NONE --noplugins -X --not-a-term'
+  call system(GetVimCommand() .. args .. ' -c "%d" -c ":norm! ZZ" Xfile')
   let a = readfile('Xfile')
   call assert_equal([], a)
   " Test for ZQ
   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')
   call assert_equal(['1', '2'], a)
 
diff --git a/src/testdir/test_profile.vim b/src/testdir/test_profile.vim
index dbba800..c7f515a 100644
--- a/src/testdir/test_profile.vim
+++ b/src/testdir/test_profile.vim
@@ -3,6 +3,8 @@
 source check.vim
 CheckFeature profile
 
+source shared.vim
+
 func Test_profile_func()
   let lines =<< trim [CODE]
     profile start Xprofile_func.log
@@ -34,7 +36,7 @@
   [CODE]
 
   call writefile(lines, 'Xprofile_func.vim')
-  call system(v:progpath
+  call system(GetVimCommand()
     \ . ' -es --clean'
     \ . ' -c "so Xprofile_func.vim"'
     \ . ' -c "qall!"')
@@ -120,8 +122,8 @@
   [CODE]
 
   call writefile(lines, 'Xprofile_func.vim')
-  call system(v:progpath
-    \ . ' -es -u NONE -U NONE -i NONE --noplugin'
+  call system(GetVimCommand()
+    \ . ' -es -i NONE --noplugin'
     \ . ' -c "profile start Xprofile_func.log"'
     \ . ' -c "profile func Foo*"'
     \ . ' -c "so Xprofile_func.vim"'
@@ -233,8 +235,8 @@
   [CODE]
 
   call writefile(lines, 'Xprofile_func.vim')
-  call system(v:progpath
-    \ . ' -es -u NONE -U NONE -i NONE --noplugin'
+  call system(GetVimCommand()
+    \ . ' -es -i NONE --noplugin'
     \ . ' -c "profile start Xprofile_func.log"'
     \ . ' -c "profile func Foo*"'
     \ . ' -c "so Xprofile_func.vim"'
@@ -320,8 +322,8 @@
   [CODE]
 
   call writefile(lines, 'Xprofile_file.vim')
-  call system(v:progpath
-    \ . ' -es --clean'
+  call system(GetVimCommandClean()
+    \ . ' -es'
     \ . ' -c "profile start Xprofile_file.log"'
     \ . ' -c "profile file Xprofile_file.vim"'
     \ . ' -c "so Xprofile_file.vim"'
@@ -365,8 +367,8 @@
     \ ]
 
   call writefile(lines, 'Xprofile_file.vim')
-  call system(v:progpath
-    \ . ' -es --clean'
+  call system(GetVimCommandClean()
+    \ . ' -es'
     \ . ' -c "profile start Xprofile_file.log"'
     \ . ' -c "profile file Xprofile_file.vim"'
     \ . ' -c "so Xprofile_file.vim"'
@@ -423,8 +425,8 @@
     \ ]
 
   call writefile(lines, 'Xprofile_file.vim')
-  call system(v:progpath
-    \ . ' -es --clean --cmd "set enc=utf-8"'
+  call system(GetVimCommandClean()
+    \ . ' -es --cmd "set enc=utf-8"'
     \ . ' -c "profile start Xprofile_file.log"'
     \ . ' -c "profile file Xprofile_file.vim"'
     \ . ' -c "so Xprofile_file.vim"'
@@ -470,7 +472,7 @@
     call Foo3()
   [CODE]
   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)
 
   let lines = readfile('Xprofile_file.log')
@@ -505,7 +507,7 @@
     call Foo()
   [CODE]
   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)
 
   let lines = readfile('Xprofile_file.log')
diff --git a/src/testdir/test_suspend.vim b/src/testdir/test_suspend.vim
index 4b3bd5e..bf88bd4 100644
--- a/src/testdir/test_suspend.vim
+++ b/src/testdir/test_suspend.vim
@@ -26,8 +26,8 @@
   " Wait for shell prompt.
   call WaitForAssert({-> assert_match('[$#] $', term_getline(buf, '.'))})
 
-  call term_sendkeys(buf, v:progpath
-        \               . " --clean -X"
+  call term_sendkeys(buf, GetVimCommandClean()
+        \               . " -X"
         \               . " -c 'set nu'"
         \               . " -c 'call setline(1, \"foo\")'"
         \               . " Xfoo\<CR>")
diff --git a/src/testdir/test_system.vim b/src/testdir/test_system.vim
index f09f509..deee51f 100644
--- a/src/testdir/test_system.vim
+++ b/src/testdir/test_system.vim
@@ -1,5 +1,7 @@
 " Tests for system() and systemlist()
 
+source shared.vim
+
 func Test_System()
   if !executable('echo') || !executable('cat') || !executable('wc')
     return
@@ -49,11 +51,11 @@
 
 func Test_system_exmode()
   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
     " function.
     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_equal(0, v:shell_error)
   endif
@@ -61,32 +63,32 @@
   " Error before try does set error flag.
   call writefile(['call nosuchfunction()', 'try', 'call doesnotexist()', 'catch', 'endtry'], 'Xscript')
   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])
   endif
 
-  let cmd = ' -es -u NONE -c "source Xscript" +q'
-  let a = system(v:progpath . cmd)
+  let cmd = ' -es -c "source Xscript" +q'
+  let a = system(GetVimCommand() . cmd)
   call assert_notequal(0, v:shell_error)
   call delete('Xscript')
 
   if has('unix') " echo $? only works on Unix
-    let cmd = ' -es -u NONE -c "call doesnotexist()" +q; echo $?'
-    let a = system(v:progpath. cmd)
+    let cmd = ' -es -c "call doesnotexist()" +q; echo $?'
+    let a = system(GetVimCommand() . cmd)
     call assert_notequal(0, a[0])
   endif
 
-  let cmd = ' -es -u NONE -c "call doesnotexist()" +q'
-  let a = system(v:progpath. cmd)
+  let cmd = ' -es -c "call doesnotexist()" +q'
+  let a = system(GetVimCommand(). cmd)
   call assert_notequal(0, v:shell_error)
 
   if has('unix') " echo $? only works on Unix
-    let cmd = ' -es -u NONE -c "call doesnotexist()|let a=1" +q; echo $?'
-    let a = system(v:progpath. cmd)
+    let cmd = ' -es -c "call doesnotexist()|let a=1" +q; echo $?'
+    let a = system(GetVimCommand() . cmd)
     call assert_notequal(0, a[0])
   endif
 
-  let cmd = ' -es -u NONE -c "call doesnotexist()|let a=1" +q'
-  let a = system(v:progpath. cmd)
+  let cmd = ' -es -c "call doesnotexist()|let a=1" +q'
+  let a = system(GetVimCommand() . cmd)
   call assert_notequal(0, v:shell_error)
 endfunc
diff --git a/src/testdir/test_vimscript.vim b/src/testdir/test_vimscript.vim
index cf2c961..69a2eba 100644
--- a/src/testdir/test_vimscript.vim
+++ b/src/testdir/test_vimscript.vim
@@ -2,6 +2,7 @@
 " Most of this was formerly in test49.
 
 source check.vim
+source shared.vim
 
 "-------------------------------------------------------------------------------
 " Test environment							    {{{1
@@ -1721,7 +1722,7 @@
     [CODE]
 
     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)
 
     let m = matchstr(res, 'function F1()[^[:print:]]*[[:print:]]*')