From: Junio C Hamano Date: Wed, 19 Sep 2012 17:58:19 GMT Subject: Re: possible bug in autocompletion Message-ID: <7vipb9hp38.fsf@alter.siamese.dyndns.org> In-Reply-To: Felipe Contreras writes: > On Tue, Jul 17, 2012 at 2:12 PM, Jeff King wrote: > >> --- a/contrib/completion/git-completion.bash >> +++ b/contrib/completion/git-completion.bash >> @@ -261,7 +261,12 @@ __gitcomp () >> __gitcomp_nl () >> { >> local IFS=$'\n' >> - COMPREPLY=($(compgen -P "${2-}" -S "${4- }" -W "$1" -- "${3-$cur}")) >> + local words=$1 >> + words=${words//\\/\\\\} >> + words=${words//\$/\\\$} >> + words=${words//\'/\\\'} >> + words=${words//\"/\\\"} >> + COMPREPLY=($(compgen -P "${2-}" -S "${4- }" -W "$words" -- "${3-$cur}")) >> } > > What about something like this? > > local words > printf -v words "%q" "$w" > COMPREPLY=($(compgen -P "${2-}" -S "${4- }" -W "$words" -- "${3-$cur}")) Both "printf -v" and "%q" are brilliant ;-)