mirror of
https://github.com/tpope/vim-fugitive.git
synced 2025-11-12 13:23:52 -05:00
Avoid settabvar()
Still seeing ml_get errors on older Vim. I give up. Resolves: https://github.com/tpope/vim-fugitive/pull/2262
This commit is contained in:
@@ -4346,6 +4346,15 @@ function! s:ReloadWinStatus(...) abort
|
|||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:ReloadTabStatus() abort
|
function! s:ReloadTabStatus() abort
|
||||||
|
if !exists('g:fugitive_did_change_at')
|
||||||
|
return
|
||||||
|
elseif exists('t:fugitive_reloaded_at')
|
||||||
|
let time_ahead = reltime(g:fugitive_did_change_at, t:fugitive_reloaded_at)
|
||||||
|
if reltimefloat(time_ahead) >= 0
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
let t:fugitive_reloaded_at = reltime()
|
||||||
let winnr = 1
|
let winnr = 1
|
||||||
while winnr <= winnr('$')
|
while winnr <= winnr('$')
|
||||||
if getbufvar(winbufnr(winnr), 'fugitive_type') ==# 'index'
|
if getbufvar(winbufnr(winnr), 'fugitive_type') ==# 'index'
|
||||||
@@ -4364,23 +4373,12 @@ function! s:ReloadTabStatus() abort
|
|||||||
endif
|
endif
|
||||||
let winnr += 1
|
let winnr += 1
|
||||||
endwhile
|
endwhile
|
||||||
unlet! t:fugitive_reload_status
|
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! fugitive#DidChange(...) abort
|
function! fugitive#DidChange(...) abort
|
||||||
call s:ExpireStatus(a:0 ? a:1 : -1)
|
call s:ExpireStatus(a:0 ? a:1 : -1)
|
||||||
if a:0 > 1 ? a:2 : (!a:0 || a:1 isnot# 0)
|
if a:0 > 1 ? a:2 : (!a:0 || a:1 isnot# 0)
|
||||||
let t = reltime()
|
let g:fugitive_did_change_at = reltime()
|
||||||
let t:fugitive_reload_status = t
|
|
||||||
let prevnr = has('patch-9.0.1362') || has('nvim-0.9') ? tabpagenr('#') : 0
|
|
||||||
for tabnr in range(1, tabpagenr('$'))
|
|
||||||
if tabnr != prevnr
|
|
||||||
call settabvar(tabnr, 'fugitive_reload_status', t)
|
|
||||||
endif
|
|
||||||
endfor
|
|
||||||
if prevnr
|
|
||||||
call settabvar(prevnr, 'fugitive_reload_status', t)
|
|
||||||
endif
|
|
||||||
call s:ReloadTabStatus()
|
call s:ReloadTabStatus()
|
||||||
else
|
else
|
||||||
call s:ReloadWinStatus()
|
call s:ReloadWinStatus()
|
||||||
@@ -4423,9 +4421,7 @@ augroup fugitive_status
|
|||||||
autocmd BufEnter index,index.lock,fugitive://*//
|
autocmd BufEnter index,index.lock,fugitive://*//
|
||||||
\ call s:ReloadWinStatus()
|
\ call s:ReloadWinStatus()
|
||||||
autocmd TabEnter *
|
autocmd TabEnter *
|
||||||
\ if exists('t:fugitive_reload_status') |
|
\ call s:ReloadTabStatus()
|
||||||
\ call s:ReloadTabStatus() |
|
|
||||||
\ endif
|
|
||||||
augroup END
|
augroup END
|
||||||
|
|
||||||
function! s:StatusSectionFile(heading, filename) abort
|
function! s:StatusSectionFile(heading, filename) abort
|
||||||
|
|||||||
Reference in New Issue
Block a user