diff options
| author | Daniel Zhang <wodesuck@gmail.com> | 2022-05-25 08:50:10 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-05-25 09:50:10 +0900 |
| commit | 3b7a962dc6db227d18faecb25c793431ce7e8640 (patch) | |
| tree | 8eda410a740ca7055647571687306566cb86253f /plugin | |
| parent | 6dcf5c3d7d6c321b17e6a5673f1533d6e8350462 (diff) | |
| download | fzf-3b7a962dc6db227d18faecb25c793431ce7e8640.tar.gz | |
[vim] Fix fzf#shellescape when shell=fish (#2828)
`shellescape()` behavior is different when `shell=fish`, so we should set `shell` before calling `shellescape()`, otherwise an unexpected result may occur (e.g. https://github.com/kevinhwang91/nvim-bqf/issues/56).
Co-authored-by: Junegunn Choi <junegunn.c@gmail.com>
Diffstat (limited to 'plugin')
| -rw-r--r-- | plugin/fzf.vim | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/plugin/fzf.vim b/plugin/fzf.vim index 3c705e91..85d1f2fa 100644 --- a/plugin/fzf.vim +++ b/plugin/fzf.vim @@ -96,7 +96,12 @@ function! fzf#shellescape(arg, ...) if shell =~# 'cmd.exe$' return s:shellesc_cmd(a:arg) endif - return s:fzf_call('shellescape', a:arg) + try + let [shell, &shell] = [&shell, shell] + return s:fzf_call('shellescape', a:arg) + finally + let [shell, &shell] = [&shell, shell] + endtry endfunction function! s:fzf_getcwd() |
