diff --git a/autoload/fugitive.vim b/autoload/fugitive.vim index e99107a..fc30676 100644 --- a/autoload/fugitive.vim +++ b/autoload/fugitive.vim @@ -5905,18 +5905,22 @@ function! s:ArgSplit(string) abort let arg = matchstr(string, '^\s*\%(\\.\|[^[:space:]]\)\+') let string = strpart(string, len(arg)) let arg = substitute(arg, '^\s\+', '', '') - call add(args, substitute(arg, '\\\@ 1 - let pre .= ' +' . escape(join(map(cmds, '"exe ".string(v:val)'), '|'), ' |"') + let pre .= ' +' . s:PlusEscape(join(map(cmds, '"exe ".string(v:val)'), '|')) elseif len(cmds) - let pre .= ' +' . escape(cmds[0], ' |"') + let pre .= ' +' . s:PlusEscape(cmds[0]) endif return [url, pre] endfunction @@ -7905,7 +7909,7 @@ function! s:GF(mode) abort endtry if len(results) > 1 let cmd = 'G' . a:mode . - \ (empty(results[1]) ? '' : ' +' . escape(results[1], ' |')) . ' ' . + \ (empty(results[1]) ? '' : ' +' . s:PlusEscape(results[1])) . ' ' . \ fnameescape(results[0]) let tail = join(map(results[2:-1], '"|" . v:val'), '') if a:mode ==# 'pedit' && len(tail)