From ac160f98a8f5aa9ad148a7c6e694b10586652824 Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Sat, 5 Sep 2015 21:39:12 +0900 Subject: [PATCH] [gvim] Fix #342 - Should not escape launcher part of the command --- plugin/fzf.vim | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/plugin/fzf.vim b/plugin/fzf.vim index 65b4aff..eea1ffd 100644 --- a/plugin/fzf.vim +++ b/plugin/fzf.vim @@ -217,14 +217,15 @@ let s:launcher = function('s:xterm_launcher') function! s:execute(dict, command, temps) call s:pushd(a:dict) silent! !clear 2> /dev/null + let escaped = escape(substitute(a:command, '\n', '\\n', 'g'), '%#') if has('gui_running') let Launcher = get(a:dict, 'launcher', get(g:, 'Fzf_launcher', get(g:, 'fzf_launcher', s:launcher))) let fmt = type(Launcher) == 2 ? call(Launcher, []) : Launcher - let command = printf(fmt, "'".substitute(a:command, "'", "'\"'\"'", 'g')."'") + let command = printf(fmt, "'".substitute(escaped, "'", "'\"'\"'", 'g')."'") else - let command = a:command + let command = escaped endif - execute 'silent !'.escape(substitute(command, '\n', '\\n', 'g'), '%#') + execute 'silent !'.command redraw! if v:shell_error " Do not print error message on exit status 1