diff options
author | Christian Clason <c.clason@uni-graz.at> | 2023-09-06 23:49:58 +0200 |
---|---|---|
committer | Christian Clason <c.clason@uni-graz.at> | 2023-09-07 09:06:35 +0200 |
commit | 5d1c1da3c90adece96f491e7f12fd76c03a881c9 (patch) | |
tree | 70e8b814aa7c571a73e21245f848e0dcde0270e5 /runtime/autoload | |
parent | d27214331815324ea5762b5aa22996b9019085c6 (diff) | |
download | rneovim-5d1c1da3c90adece96f491e7f12fd76c03a881c9.tar.gz rneovim-5d1c1da3c90adece96f491e7f12fd76c03a881c9.tar.bz2 rneovim-5d1c1da3c90adece96f491e7f12fd76c03a881c9.zip |
vim-patch:67c951df4c95
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: vim/vim#13027
https://github.com/vim/vim/commit/67c951df4c95981c716eeedb1b102d9668549e65
Co-authored-by: Anton Sharonov <anton.sharonov@gmail.com>
Diffstat (limited to 'runtime/autoload')
-rw-r--r-- | runtime/autoload/gzip.vim | 5 | ||||
-rw-r--r-- | runtime/autoload/zip.vim | 7 |
2 files changed, 10 insertions, 2 deletions
diff --git a/runtime/autoload/gzip.vim b/runtime/autoload/gzip.vim index ac9e37bf85..6d0bb13401 100644 --- a/runtime/autoload/gzip.vim +++ b/runtime/autoload/gzip.vim @@ -11,7 +11,10 @@ fun s:check(cmd) let name = substitute(a:cmd, '\(\S*\).*', '\1', '') if !exists("s:have_" . name) " safety check, don't execute anything from the current directory - let f = fnamemodify(exepath(name), ":p:h") !=# getcwd() + let s:tmp_cwd = getcwd() + let f = (fnamemodify(exepath(name), ":p:h") !=# s:tmp_cwd + \ || (index(split($PATH,has("win32")? ';' : ':'), s:tmp_cwd) != -1 && s:tmp_cwd != '.')) + unlet s:tmp_cwd if !f echoerr "Warning: NOT executing " .. name .. " from current directory!" endif diff --git a/runtime/autoload/zip.vim b/runtime/autoload/zip.vim index 0331a542ac..8b39c91c3a 100644 --- a/runtime/autoload/zip.vim +++ b/runtime/autoload/zip.vim @@ -57,10 +57,15 @@ if !exists("g:zip_extractcmd") let g:zip_extractcmd= g:zip_unzipcmd endif -if fnamemodify(exepath(g:zip_unzipcmd), ":p:h") ==# getcwd() +let s:tmp_cwd = getcwd() +if (fnamemodify(exepath(g:zip_unzipcmd), ":p:h") ==# getcwd() + \ && (index(split($PATH,has("win32")? ';' : ':'), s:tmp_cwd) == -1 || s:tmp_cwd == '.')) + unlet s:tmp_cwd echoerr "Warning: NOT executing " .. g:zip_unzipcmd .. " from current directory!" finish endif +unlet s:tmp_cwd + " ---------------- " Functions: {{{1 " ---------------- |