commit 4fe24d31569d365712b5fa95ac2688a68528b723
parent 2d639b70e73ecf3f62884a578fe5e5937e6d8a92
Author: Phil Runninger <PhilRunninger@users.noreply.github.com>
Date: Tue, 8 Oct 2019 14:01:50 -0400
Wrap saveScreenState's statements in a try-catch block. (#1047)
* Wrap saveScreenState's statements in a try-catch block.
If you're in NERDTree, and you press : to open a command line, and then
press Ctrl+F to open the [Command Line] window, you will see errors
related to switching windows while in this function. (Those commands are
not allowed while in the [Command Line] window.) The try-catch block
handles the errors, preventing their being displayed.
* Update version number in change log.
Diffstat:
2 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
@@ -1,6 +1,7 @@
# Change Log
#### 6.1...
+- **.2**: Wrap saveScreenState's statements in a try-catch block. (PhilRunninger) [#1047](https://github.com/scrooloose/nerdtree/pull/1047)
- **.1**: Catch errors when trying to read CHANGELOG.md. (PhilRunninger) [#1045](https://github.com/scrooloose/nerdtree/pull/1045)
- **.0**: If file path doesn't exist, :NERDTreeFind its parent directory instead. (PhilRunninger) [#1043](https://github.com/scrooloose/nerdtree/pull/1043)
#### 6.0...
diff --git a/lib/nerdtree/ui.vim b/lib/nerdtree/ui.vim
@@ -355,12 +355,15 @@ endfunction
" scroll position
function! s:UI.saveScreenState()
let win = winnr()
- call g:NERDTree.CursorToTreeWin()
let self._screenState = {}
- let self._screenState['oldPos'] = getpos(".")
- let self._screenState['oldTopLine'] = line("w0")
- let self._screenState['oldWindowSize']= winwidth("")
- call nerdtree#exec(win . "wincmd w", 1)
+ try
+ call g:NERDTree.CursorToTreeWin()
+ let self._screenState['oldPos'] = getpos(".")
+ let self._screenState['oldTopLine'] = line("w0")
+ let self._screenState['oldWindowSize']= winwidth("")
+ call nerdtree#exec(win . "wincmd w", 1)
+ catch
+ endtry
endfunction
" FUNCTION: s:UI.setShowHidden(val) {{{1