runtime(ftplugin): allow to exec if curdir is in PATH
In case the current directory is present as valid $PATH entry, it is OK to call the program from it, even if vim curdir is in that same directory. (Without that patch, for instance, you will not be able to open .zip files while your current directory is /bin) closes: #13027 Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
9b04c50319
commit
67c951df4c
@ -40,14 +40,17 @@ endif
|
||||
let &l:define='\v(<fn>|<const>|<var>|^\s*\#\s*define)'
|
||||
|
||||
" Safety check: don't execute zip from current directory
|
||||
let s:tmp_cwd = getcwd()
|
||||
if !exists('g:zig_std_dir') && exists('*json_decode') &&
|
||||
\ executable('zig') && fnamemodify(exepath("zig"), ":p:h") != getcwd()
|
||||
\ executable('zig') && (fnamemodify(exepath("zig"), ":p:h") != s:tmp_cwd
|
||||
\ || (index(split($PATH,has("win32")? ';' : ':'), s:tmp_cwd) != -1 && s:tmp_cwd != '.'))
|
||||
silent let s:env = system('zig env')
|
||||
if v:shell_error == 0
|
||||
let g:zig_std_dir = json_decode(s:env)['std_dir']
|
||||
endif
|
||||
unlet! s:env
|
||||
endif
|
||||
unlet s:tmp_cwd
|
||||
|
||||
if exists('g:zig_std_dir')
|
||||
let &l:path = &l:path . ',' . g:zig_std_dir
|
||||
|
||||
Reference in New Issue
Block a user