From 89a1a4355bd9572d0f5b3d23733c243c6e7b05c2 Mon Sep 17 00:00:00 2001 From: Phil Runninger Date: Thu, 4 Jul 2019 00:21:50 -0400 Subject: [PATCH] When searching for root line num, stop at the end of the file. (#1015) * When searching for root line num, stop at the end of the file. When using the following NERDTreeStatusLine, Vim would lock up and not work anymore. The problem was that when trying to find the root line number, the loop was continuing past the end of the file, looping "forever". The fix was to simply stop at the end of the file. let g:NERDTreeStatusline = "%{exists('g:NERDTreeFileNode')&&" . \ "has_key(g:NERDTreeFileNode.GetSelected(),'path')?" . \ "g:NERDTreeFileNode.GetSelected().path.getLastPathComponent(0):''}" * Update change log. --- CHANGELOG.md | 1 + lib/nerdtree/ui.vim | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6b804bd..2273aa4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ # Change Log #### 5.2... +- **.4**: When searching for root line num, stop at end of file. (PhilRunninger) #1015 - **.3**: Fix `` key map on the bookmark (lkebin) #1014 - **.2**: Make Enter work on the `.. ( up a dir )` line (PhilRunninger) #1013 - **.1**: Fix nerdtree#version() on Windows. (PhilRunninger) N/A diff --git a/lib/nerdtree/ui.vim b/lib/nerdtree/ui.vim index 3aa5959..97f95d9 100644 --- a/lib/nerdtree/ui.vim +++ b/lib/nerdtree/ui.vim @@ -254,7 +254,7 @@ endfunction " gets the line number of the root node function! s:UI.getRootLineNum() let rootLine = 1 - while getline(rootLine) !~# '^\(/\|<\)' + while rootLine <= line('$') && getline(rootLine) !~# '^\(/\|<\)' let rootLine = rootLine + 1 endwhile return rootLine