mirror of
https://github.com/Llewellynvdm/fzf.git
synced 2024-11-11 00:00:55 +00:00
[vim] Do not restore cwd when autochdir is set and buffer changed
Close #1539
This commit is contained in:
parent
a0bfbdd49c
commit
e7d60aac9c
@ -457,7 +457,8 @@ function! s:pushd(dict)
|
|||||||
let cwd = s:fzf_getcwd()
|
let cwd = s:fzf_getcwd()
|
||||||
let w:fzf_pushd = {
|
let w:fzf_pushd = {
|
||||||
\ 'command': haslocaldir() ? 'lcd' : (exists(':tcd') && haslocaldir(-1) ? 'tcd' : 'cd'),
|
\ 'command': haslocaldir() ? 'lcd' : (exists(':tcd') && haslocaldir(-1) ? 'tcd' : 'cd'),
|
||||||
\ 'origin': cwd
|
\ 'origin': cwd,
|
||||||
|
\ 'bufname': bufname('')
|
||||||
\ }
|
\ }
|
||||||
execute 'lcd' s:escape(a:dict.dir)
|
execute 'lcd' s:escape(a:dict.dir)
|
||||||
let cwd = s:fzf_getcwd()
|
let cwd = s:fzf_getcwd()
|
||||||
@ -493,7 +494,7 @@ function! s:dopopd()
|
|||||||
" matches 'dir' entry. However, it is possible that the sink function did
|
" matches 'dir' entry. However, it is possible that the sink function did
|
||||||
" change the directory to 'dir'. In that case, the user will have an
|
" change the directory to 'dir'. In that case, the user will have an
|
||||||
" unexpected result.
|
" unexpected result.
|
||||||
if s:fzf_getcwd() ==# w:fzf_pushd.dir
|
if s:fzf_getcwd() ==# w:fzf_pushd.dir && (!&autochdir || w:fzf_pushd.bufname ==# bufname(''))
|
||||||
execute w:fzf_pushd.command s:escape(w:fzf_pushd.origin)
|
execute w:fzf_pushd.command s:escape(w:fzf_pushd.origin)
|
||||||
endif
|
endif
|
||||||
unlet w:fzf_pushd
|
unlet w:fzf_pushd
|
||||||
|
Loading…
Reference in New Issue
Block a user