commit f5391f0bfc46508608f441de2e68d330b04c6e5f (tree)
parent 53dd9b3957301029b3a5cfc969bb9b50935f9812
Author: Tim Pope <code@tpope.net>
Date: Fri, 10 Apr 2020 09:07:24 -0400
Fix race condition resuming job after editor invocation
Closes https://github.com/tpope/vim-fugitive/issues/1489
Diffstat:
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/autoload/fugitive.vim b/autoload/fugitive.vim
@@ -2360,15 +2360,15 @@ endif
function! fugitive#Resume() abort
while len(s:resume_queue)
let [state, job] = remove(s:resume_queue, 0)
+ if filereadable(state.temp . '.edit')
+ call delete(state.temp . '.edit')
+ endif
call s:RunWait(state, job)
endwhile
endfunction
function! s:RunBufDelete(bufnr) abort
if has_key(s:edit_jobs, a:bufnr) |
- if filereadable(s:edit_jobs[a:bufnr][0].temp . '.edit')
- call delete(s:edit_jobs[a:bufnr][0].temp . '.edit')
- endif
call add(s:resume_queue, remove(s:edit_jobs, a:bufnr))
call feedkeys(":redraw!|call fugitive#Resume()|silent checktime\r", 'n')
endif