Put the eventignore reset inside a finally block to ensure it's called.

This commit is contained in:
Phil Runninger 2020-01-16 10:51:12 -05:00
parent 901aba632b
commit 5fbf0d7dba
2 changed files with 15 additions and 9 deletions

View File

@ -169,8 +169,11 @@ function! nerdtree#exec(cmd, ignoreAll) abort
if a:ignoreAll if a:ignoreAll
set eventignore=all set eventignore=all
endif endif
exec a:cmd try
let &eventignore = old_ei exec a:cmd
finally
let &eventignore = old_ei
endtry
endfunction endfunction
" FUNCTION: nerdtree#has_opt(options, name) {{{2 " FUNCTION: nerdtree#has_opt(options, name) {{{2

View File

@ -333,14 +333,17 @@ function! s:Creator._tabpagevar(tabnr, var)
let old_ei = &eventignore let old_ei = &eventignore
set eventignore=all set eventignore=all
exec 'tabnext ' . a:tabnr try
let v = -1 exec 'tabnext ' . a:tabnr
if exists('t:' . a:var) let v = -1
exec 'let v = t:' . a:var if exists('t:' . a:var)
endif exec 'let v = t:' . a:var
exec 'tabnext ' . currentTab endif
exec 'tabnext ' . currentTab
let &eventignore = old_ei finally
let &eventignore = old_ei
endtry
return v return v
endfunction endfunction