From 462c68b625e30964d24ef0d26b5e82169f506f0c Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Wed, 9 Aug 2017 01:54:01 +0900 Subject: [PATCH] [vim] Fix issues with other plugins changing working directory Close #1005 --- plugin/fzf.vim | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/plugin/fzf.vim b/plugin/fzf.vim index 7e19f25c..f8955374 100644 --- a/plugin/fzf.vim +++ b/plugin/fzf.vim @@ -466,11 +466,11 @@ augroup fzf_popd augroup END function! s:dopopd() - if !exists('w:fzf_prev_dir') || exists('*haslocaldir') && !haslocaldir() + if !exists('w:fzf_dir') || s:fzf_getcwd() != w:fzf_dir[1] return endif - execute 'lcd' s:escape(w:fzf_prev_dir) - unlet w:fzf_prev_dir + execute 'lcd' s:escape(w:fzf_dir[0]) + unlet w:fzf_dir endfunction function! s:xterm_launcher() @@ -719,7 +719,7 @@ function! s:callback(dict, lines) abort let popd = has_key(a:dict, 'prev_dir') && \ (!&autochdir || (empty(a:lines) || len(a:lines) == 1 && empty(a:lines[0]))) if popd - let w:fzf_prev_dir = a:dict.prev_dir + let w:fzf_dir = [a:dict.prev_dir, a:dict.dir] endif try @@ -743,7 +743,7 @@ function! s:callback(dict, lines) abort " We may have opened a new window or tab if popd - let w:fzf_prev_dir = a:dict.prev_dir + let w:fzf_dir = [a:dict.prev_dir, a:dict.dir] call s:dopopd() endif endfunction