Close old blame windows before new blame

This commit is contained in:
Tim Pope
2011-10-04 03:13:46 -04:00
parent a1bdea305b
commit 98b7334209

View File

@@ -1456,6 +1456,12 @@ function! s:Blame(bang,line1,line2,count,args) abort
if v:shell_error
call s:throw(join(readfile(error),"\n"))
endif
for winnr in range(winnr('$'),1,-1)
call setwinvar(winnr, '&scrollbind', 0)
if getbufvar(winbufnr(winnr), 'fugitive_blamed_bufnr')
execute winbufnr(winnr).'bdelete'
endif
endfor
let bufnr = bufnr('')
let restore = 'call setwinvar(bufwinnr('.bufnr.'),"&scrollbind",0)'
if &l:wrap
@@ -1464,9 +1470,6 @@ function! s:Blame(bang,line1,line2,count,args) abort
if &l:foldenable
let restore .= '|call setwinvar(bufwinnr('.bufnr.'),"&foldenable",1)'
endif
let winnr = winnr()
windo set noscrollbind
exe winnr.'wincmd w'
setlocal scrollbind nowrap nofoldenable
let top = line('w0') + &scrolloff
let current = line('.')