commit 5fbf0d7dba2ec12af6d0ca145a1cc2e87663c702
parent 901aba632bab6d984a5f651dd859bae8a180e30e
Author: Phil Runninger <prunninger@vhtcx.com>
Date: Thu, 16 Jan 2020 10:51:12 -0500
Put the eventignore reset inside a finally block to ensure it's called.
Diffstat:
2 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/autoload/nerdtree.vim b/autoload/nerdtree.vim
@@ -169,8 +169,11 @@ function! nerdtree#exec(cmd, ignoreAll) abort
if a:ignoreAll
set eventignore=all
endif
- exec a:cmd
- let &eventignore = old_ei
+ try
+ exec a:cmd
+ finally
+ let &eventignore = old_ei
+ endtry
endfunction
" FUNCTION: nerdtree#has_opt(options, name) {{{2
diff --git a/lib/nerdtree/creator.vim b/lib/nerdtree/creator.vim
@@ -333,14 +333,17 @@ function! s:Creator._tabpagevar(tabnr, var)
let old_ei = &eventignore
set eventignore=all
- exec 'tabnext ' . a:tabnr
- let v = -1
- if exists('t:' . a:var)
- exec 'let v = t:' . a:var
- endif
- exec 'tabnext ' . currentTab
+ try
+ exec 'tabnext ' . a:tabnr
+ let v = -1
+ if exists('t:' . a:var)
+ exec 'let v = t:' . a:var
+ endif
+ exec 'tabnext ' . currentTab
- let &eventignore = old_ei
+ finally
+ let &eventignore = old_ei
+ endtry
return v
endfunction