include workaround from c1704a2de0

add workaround from commit c1704a2de0 to prevent overwriting
v:shell_error
This commit is contained in:
Christian Brabandt 2016-09-28 21:20:37 +02:00
parent ffa3d59af2
commit 57ca6c9e78
1 changed files with 15 additions and 2 deletions

View File

@ -248,7 +248,18 @@ function! s:check_in_path()
return b:airline_file_in_root
endfunction
function! s:reset_untracked_cache()
function! s:reset_untracked_cache(shellcmdpost)
if !s:has_async
if a:shellcmdpost
" function called after executing a shell command,
" only clear cache, if there was no error, else the
" system() command from get_git_untracked() would
" overwrite the v:shell_error status
if v:shell_error
return
endif
endif
endif
if exists("s:untracked_git")
let s:untracked_git={}
endif
@ -263,5 +274,7 @@ function! airline#extensions#branch#init(ext)
autocmd BufReadPost * unlet! b:airline_file_in_root
autocmd CursorHold,ShellCmdPost,CmdwinLeave * unlet! b:airline_head
autocmd User AirlineBeforeRefresh unlet! b:airline_head
autocmd ShellCmdPost,BufWritePost * call s:reset_untracked_cache()
autocmd BufWritePost * call s:reset_untracked_cache(0)
autocmd ShellCmdPost * call s:reset_untracked_cache(1)
endfunction