From e38d029500348e3947344e53f4d9e8cf0e0a6244 Mon Sep 17 00:00:00 2001 From: Tim Pope Date: Mon, 11 Oct 2021 00:32:08 -0400 Subject: [PATCH] Adjust encapsulation of escaped completion handling Most calls to s:FilterEscape() pass the original escaped argument, so we should fix the callers that don't. --- autoload/fugitive.vim | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/autoload/fugitive.vim b/autoload/fugitive.vim index a7303da..3d63938 100644 --- a/autoload/fugitive.vim +++ b/autoload/fugitive.vim @@ -2288,9 +2288,8 @@ function! s:FilterEscape(items, ...) abort let items = copy(a:items) call map(items, 's:fnameescape(v:val)') if a:0 && type(a:1) == type('') - let match = fnameescape(a:1) let cmp = s:FileIgnoreCase(1) ? '==?' : '==#' - call filter(items, 'strpart(v:val, 0, strlen(match)) ' . cmp . ' match') + call filter(items, 'strpart(v:val, 0, strlen(a:1)) ' . cmp . ' a:1') endif return items endfunction @@ -2384,7 +2383,7 @@ function! fugitive#CompleteObject(base, ...) abort let heads += ["stash"] let heads += sort(s:LinesError(["stash","list","--pretty=format:%gd"], dir)[0]) endif - let results += s:FilterEscape(heads, base) + let results += s:FilterEscape(heads, fnameescape(base)) endif let results += a:0 == 1 || a:0 >= 3 ? fugitive#CompletePath(base, 0, '', dir, a:0 >= 4 ? a:4 : tree) : fugitive#CompletePath(base) return results @@ -2406,7 +2405,7 @@ function! fugitive#CompleteObject(base, ...) abort call map(entries,'s:sub(v:val,"^04.*\\zs$","/")') call map(entries,'parent.s:sub(v:val,".*\t","")') endif - return s:FilterEscape(entries, base) + return s:FilterEscape(entries, fnameescape(base)) endfunction function! s:CompleteSub(subcommand, A, L, P, ...) abort