Re: possible bug in autocompletion
- From
Felipe Contreras <felipe.contreras@gmail.com>
- Date
- Sep 19, 2012, 18:16 UTC
- Message-ID
- <CAMP44s1Xvvs7g1quUEs2b43VciK2=Nt-AntJcwG0CPf6p8Xk_A@mail.gmail.com>
- In-Reply-To
- <20120919174336.GA11699@sigill.intra.peff.net>
On Wed, Sep 19, 2012 at 7:43 PM, Jeff King <peff@peff.net> wrote:
Show 29 quoted lines
> On Wed, Sep 19, 2012 at 07:08:09PM +0200, Felipe Contreras wrote:
>
>> 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?I'm trying to, but unfortunately "\n" gets converted to "\\n", so it doesn't get separated to words. Any ideas?
-- Felipe Contreras