From 4f174f0de90b52937ddaf1e6db98e9731930ff7c Mon Sep 17 00:00:00 2001 From: Christian Brabandt Date: Sat, 4 Nov 2023 11:16:23 +0100 Subject: [PATCH] runtime(dist): add legacy version for central vim library Also, enable the zip and gzip plugins by default, unless those variables were not explicitly set by the user. related: #13413 Signed-off-by: Christian Brabandt --- runtime/autoload/dist/vim.vim | 41 ++++++++++++++++++++++------------ runtime/autoload/dist/vim9.vim | 17 ++++++++++++++ 2 files changed, 44 insertions(+), 14 deletions(-) create mode 100644 runtime/autoload/dist/vim9.vim diff --git a/runtime/autoload/dist/vim.vim b/runtime/autoload/dist/vim.vim index 57b757f021..d5a8984dc6 100644 --- a/runtime/autoload/dist/vim.vim +++ b/runtime/autoload/dist/vim.vim @@ -1,17 +1,30 @@ -vim9script +" Vim runtime support library, +" runs the vim9 script version or legacy script version +" on demand (mostly for Neovim compatability) +" +" Maintainer: The Vim Project +" Last Change: 2023 Nov 04 -# Vim runtime support library -# -# Maintainer: The Vim Project -# Last Change: 2023 Oct 25 -export def IsSafeExecutable(filetype: string, executable: string): bool - var cwd = getcwd() - return get(g:, filetype .. '_exec', get(g:, 'plugin_exec', 0)) - && (fnamemodify(exepath(executable), ':p:h') !=# cwd - || (split($PATH, has('win32') ? ';' : ':')->index(cwd) != -1 - && cwd != '.')) -enddef +" enable the zip and gzip plugin by default, if not set +if !exists('g:zip_exec') + let g:zip_exec = 1 +endif -# Uncomment this line to check for compilation errors early -# defcompile +if !exists('g:gzip_exec') + let g:gzip_exec = 1 +endif + +if !exists(":def") + function dist#vim#IsSafeExecutable(filetype, executable) + let cwd = getcwd() + return get(g:, a:filetype .. '_exec', get(g:, 'plugin_exec', 0)) && + \ (fnamemodify(exepath(a:executable), ':p:h') !=# cwd + \ || (split($PATH, has('win32') ? ';' : ':')->index(cwd) != -1 && + \ cwd != '.')) + endfunction +else + def dist#vim#IsSafeExecutable(filetype: string, executable: string): bool + return dist#vim9#IsSafeExecutable(filetype, executable) + enddef +endif diff --git a/runtime/autoload/dist/vim9.vim b/runtime/autoload/dist/vim9.vim new file mode 100644 index 0000000000..807140da7c --- /dev/null +++ b/runtime/autoload/dist/vim9.vim @@ -0,0 +1,17 @@ +vim9script + +# Vim runtime support library +# +# Maintainer: The Vim Project +# Last Change: 2023 Oct 25 + +export def IsSafeExecutable(filetype: string, executable: string): bool + var cwd = getcwd() + return get(g:, filetype .. '_exec', get(g:, 'plugin_exec', 0)) + && (fnamemodify(exepath(executable), ':p:h') !=# cwd + || (split($PATH, has('win32') ? ';' : ':')->index(cwd) != -1 + && cwd != '.')) +enddef + +# Uncomment this line to check for compilation errors early +# defcompile