nerdtree

A tree explorer plugin for vim.
Index Commits Files Refs
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:
MCHANGELOG.md | 1+
Mlib/nerdtree/ui.vim | 13++++++++-----
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