From 68fef9c2fd9d4a21b500cc2249b6711a71c6fb9f Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Sun, 3 Nov 2019 21:10:37 -0500 Subject: [PATCH] Delete batchfile only if it exists (#901) Close #900 --- plug.vim | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/plug.vim b/plug.vim index ab0e082..02fac8d 100644 --- a/plug.vim +++ b/plug.vim @@ -822,6 +822,7 @@ function! s:chsh(swap) endfunction function! s:bang(cmd, ...) + let batchfile = '' try let [sh, shellcmdflag, shrd] = s:chsh(a:0) " FIXME: Escaping is incomplete. We could use shellescape with eval, @@ -835,7 +836,7 @@ function! s:bang(cmd, ...) finally unlet g:_plug_bang let [&shell, &shellcmdflag, &shellredir] = [sh, shellcmdflag, shrd] - if s:is_win + if s:is_win && filereadable(batchfile) call delete(batchfile) endif endtry @@ -2047,6 +2048,7 @@ function! s:with_cd(cmd, dir, ...) endfunction function! s:system(cmd, ...) + let batchfile = '' try let [sh, shellcmdflag, shrd] = s:chsh(1) let cmd = a:0 > 0 ? s:with_cd(a:cmd, a:1) : a:cmd @@ -2056,7 +2058,7 @@ function! s:system(cmd, ...) return system(cmd) finally let [&shell, &shellcmdflag, &shellredir] = [sh, shellcmdflag, shrd] - if s:is_win + if s:is_win && filereadable(batchfile) call delete(batchfile) endif endtry @@ -2379,6 +2381,7 @@ function! s:preview_commit() wincmd P endif setlocal previewwindow filetype=git buftype=nofile nobuflisted modifiable + let batchfile = '' try let [sh, shellcmdflag, shrd] = s:chsh(1) let cmd = 'cd '.plug#shellescape(g:plugs[name].dir).' && git show --no-color --pretty=medium '.sha @@ -2388,7 +2391,7 @@ function! s:preview_commit() execute 'silent %!' cmd finally let [&shell, &shellcmdflag, &shellredir] = [sh, shellcmdflag, shrd] - if s:is_win + if s:is_win && filereadable(batchfile) call delete(batchfile) endif endtry