From d9ecc6a86663a3c9778622235e4e9ac8fbce8e56 Mon Sep 17 00:00:00 2001 From: Peter Odding Date: Sat, 20 Apr 2013 13:35:43 +0200 Subject: [PATCH] On session restore, maintain cwd after loading NERDTree From Matthew: There's a NERDTree option which will change the working directory to its root directory when opened. Our sessions should keep their working directory despite this option. This change records the working directory before loading NERDTree, load it, then cd to this saved directory. Pull request #37: https://github.com/xolox/vim-session/pull/37 --- autoload/xolox/session.vim | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/autoload/xolox/session.vim b/autoload/xolox/session.vim index ac0c13d..014c96b 100644 --- a/autoload/xolox/session.vim +++ b/autoload/xolox/session.vim @@ -3,7 +3,7 @@ " Last Change: April 20, 2013 " URL: http://peterodding.com/code/vim/session/ -let g:xolox#session#version = '1.5.4' +let g:xolox#session#version = '1.5.5' " Public API for session persistence. {{{1 @@ -208,7 +208,8 @@ function! s:check_special_window(session) endif if exists('command') call s:jump_to_window(a:session, tabpagenr(), winnr()) - call add(a:session, 'let s:bufnr = bufnr("%")') + call add(a:session, 'let s:bufnr_save = bufnr("%")') + call add(a:session, 'let s:cwd_save = getcwd()') if argument == '' call add(a:session, command) else @@ -218,7 +219,8 @@ function! s:check_special_window(session) endif call add(a:session, command . ' ' . fnameescape(argument)) endif - call add(a:session, 'execute "bwipeout" s:bufnr') + call add(a:session, 'execute "bwipeout" s:bufnr_save') + call add(a:session, 'execute "cd" fnameescape(s:cwd_save)') return 1 endif endfunction