0
0
mirror of https://github.com/vim/vim.git synced 2025-09-29 04:34:16 -04:00

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:
Anton Sharonov
2023-09-05 21:03:27 +02:00
committed by Christian Brabandt
parent 9b04c50319
commit 67c951df4c
5 changed files with 22 additions and 5 deletions

View File

@@ -55,7 +55,9 @@ endif
" Set this once, globally.
if !exists("perlpath")
" safety check: don't execute perl from current directory
if executable("perl") && fnamemodify(exepath("perl"), ":p:h") != getcwd()
let s:tmp_cwd = getcwd()
if executable("perl") && (fnamemodify(exepath("perl"), ":p:h") != s:tmp_cwd
\ || (index(split($PATH,has("win32")? ';' : ':'), s:tmp_cwd) != -1 && s:tmp_cwd != '.'))
try
if &shellxquote != '"'
let perlpath = system('perl -e "print join(q/,/,@INC)"')
@@ -71,6 +73,7 @@ if !exists("perlpath")
" current directory and the directory of the current file.
let perlpath = ".,,"
endif
unlet s:tmp_cwd
endif
" Append perlpath to the existing path value, if it is set. Since we don't