diff --git a/autoload/nerdtree/ui_glue.vim b/autoload/nerdtree/ui_glue.vim index 894a88a..910ead3 100644 --- a/autoload/nerdtree/ui_glue.vim +++ b/autoload/nerdtree/ui_glue.vim @@ -304,11 +304,6 @@ function! s:findAndRevealPath(path) endif let l:node = b:NERDTree.root.reveal(l:pathObj) - - if empty(l:node) - echomsg 'l:node is totally empty...' - endif - call b:NERDTree.render() call l:node.putCursorHere(1, 0) diff --git a/lib/nerdtree/tree_dir_node.vim b/lib/nerdtree/tree_dir_node.vim index 03c3545..43285db 100644 --- a/lib/nerdtree/tree_dir_node.vim +++ b/lib/nerdtree/tree_dir_node.vim @@ -568,6 +568,13 @@ function! s:TreeDirNode.reveal(path, ...) throw "NERDTree.InvalidArgumentsError: " . a:path.str() . " should be under " . self.path.str() endif + " Refresh "self.children" to avoid missing paths created after this node + " was last opened. If "self.children" is empty, the call to "open()" will + " initialize the children. + if !empty(self.children) + " Silence messages/errors. They were seen on the first open. + silent! call self._initChildren(1) + endif call self.open() if self.path.equals(a:path.getParent())