[vim] Clean up temp files on interrupt (#2252)

The clean-up is done in s:collect(), so let's make sure it's run before
we may terminate due to CTRL-C or ESC (or some other error code) in
s:exit_handler().
pull/2266/head
Michal Domonkos 4 years ago committed by GitHub
parent 474c1f5e32
commit 1ed25d76ba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -645,7 +645,8 @@ function! s:execute(dict, command, use_height, temps) abort
endif
let exit_status = v:shell_error
redraw!
return s:exit_handler(exit_status, command) ? s:collect(a:temps) : []
let lines = s:collect(a:temps)
return s:exit_handler(exit_status, command) ? lines : []
endfunction
function! s:execute_tmux(dict, command, temps) abort
@ -659,7 +660,8 @@ function! s:execute_tmux(dict, command, temps) abort
call system(command)
let exit_status = v:shell_error
redraw!
return s:exit_handler(exit_status, command) ? s:collect(a:temps) : []
let lines = s:collect(a:temps)
return s:exit_handler(exit_status, command) ? lines : []
endfunction
function! s:calc_size(max, val, dict)
@ -806,12 +808,12 @@ function! s:execute_term(dict, command, temps) abort
execute self.winrest
endif
let lines = s:collect(self.temps)
if !s:exit_handler(a:code, self.command, 1)
return
endif
call s:pushd(self.dict)
let lines = s:collect(self.temps)
call s:callback(self.dict, lines)
call self.switch_back(s:getpos() == self.ppos)
endfunction

Loading…
Cancel
Save