Re: possible bug in autocompletion
- From
Jeff King <peff@peff.net>
- Date
- Sep 19, 2012, 17:43 UTC
- Message-ID
- <20120919174336.GA11699@sigill.intra.peff.net>
- In-Reply-To
- <CAMP44s2X5-BUyLtkTqGMa6w5K6uT25YLEp+Q2TdVR_qCObOpeA@mail.gmail.com>
On Wed, Sep 19, 2012 at 07:08:09PM +0200, Felipe Contreras wrote:
Show 22 quoted lines
> On Tue, Jul 17, 2012 at 2:12 PM, Jeff King <peff@peff.net> 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}"))Thanks, I didn't know about bash's internal printf magic. That is a much more elegant solution.
Care to wrap it up in a patch?
-Peff