From 63db345fc5ccdc361372bf8e9678e7f1a1cac166 Mon Sep 17 00:00:00 2001 From: Valentin Brandl Date: Mon, 12 Aug 2019 18:07:26 +0200 Subject: [PATCH] Update plug.vim --- editors/vim/autoload/plug.vim | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/editors/vim/autoload/plug.vim b/editors/vim/autoload/plug.vim index 2c26070..afb1772 100644 --- a/editors/vim/autoload/plug.vim +++ b/editors/vim/autoload/plug.vim @@ -794,9 +794,7 @@ endfunction function! s:chsh(swap) let prev = [&shell, &shellcmdflag, &shellredir] - if s:is_win - set shell=cmd.exe shellcmdflag=/c shellredir=>%s\ 2>&1 - elseif a:swap + if !s:is_win && a:swap set shell=sh shellredir=>%s\ 2>&1 endif return prev @@ -811,7 +809,7 @@ function! s:bang(cmd, ...) if s:is_win let batchfile = tempname().'.bat' call writefile(["@echo off\r", cmd . "\r"], batchfile) - let cmd = batchfile + let cmd = s:shellesc(expand(batchfile)) endif let g:_plug_bang = (s:is_win && has('gui_running') ? 'silent ' : '').'!'.escape(cmd, '#!%') execute "normal! :execute g:_plug_bang\\" @@ -1210,7 +1208,7 @@ function! s:spawn(name, cmd, opts) let cmd = has_key(a:opts, 'dir') ? s:with_cd(a:cmd, a:opts.dir) : a:cmd if !empty(job.batchfile) call writefile(["@echo off\r", cmd . "\r"], job.batchfile) - let cmd = job.batchfile + let cmd = s:shellesc(expand(job.batchfile)) endif let argv = add(s:is_win ? ['cmd', '/c'] : ['sh', '-c'], cmd) @@ -2037,9 +2035,9 @@ function! s:system(cmd, ...) if s:is_win let batchfile = tempname().'.bat' call writefile(["@echo off\r", cmd . "\r"], batchfile) - let cmd = batchfile + let cmd = s:shellesc(expand(batchfile)) endif - return system(s:is_win ? '('.cmd.')' : cmd) + return system(cmd) finally let [&shell, &shellcmdflag, &shellredir] = [sh, shellcmdflag, shrd] if s:is_win @@ -2371,7 +2369,7 @@ function! s:preview_commit() if s:is_win let batchfile = tempname().'.bat' call writefile(["@echo off\r", cmd . "\r"], batchfile) - let cmd = batchfile + let cmd = expand(batchfile) endif execute 'silent %!' cmd finally