From f5391f0bfc46508608f441de2e68d330b04c6e5f Mon Sep 17 00:00:00 2001 From: Tim Pope Date: Fri, 10 Apr 2020 09:07:24 -0400 Subject: [PATCH] Fix race condition resuming job after editor invocation Closes https://github.com/tpope/vim-fugitive/issues/1489 --- autoload/fugitive.vim | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/autoload/fugitive.vim b/autoload/fugitive.vim index d8929b3..91a4a9c 100644 --- 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