Le Fri, 18 Jun 2021 11:59:53 +0200,
Ludovic Courtès <ludo@gnu.org> a écrit :
Toggle quote (26 lines)
> Hi,
>
> Solene Rapenne via Bug reports for GNU Guix <bug-guix@gnu.org> skribis:
>
> > ---
> > etc/completion/bash/guix | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/etc/completion/bash/guix b/etc/completion/bash/guix
> > index 26480e5863..ef98e9feca 100644
> > --- a/etc/completion/bash/guix
> > +++ b/etc/completion/bash/guix
> > @@ -235,7 +235,7 @@ _guix_complete ()
> > fi
> > elif _guix_is_command "build"
> > then
> > - if _guix_is_dash_L || _guix_is_dash_m || _guix_is_dash_f
> > + if _guix_is_dash_L || _guix_is_dash_m || _guix_is_dash_f || _guix_is_command "system"
>
> It seems to me that if _guix_is_command "build" is true, then
> _guix_is_command "system" cannot also be true. WDYT?
>
> Thanks for addressing this longstanding issue!
>
> Ludo’.
the file has been reworked in commits
- dc3ba8c83602d69294e21d1b0c066f0d89890b56
- 80a17aae7991c6df061a98bb71734485f4ca17e2
now the code is entirely different and works as expected.
IIRC when I worked on this piece of code, _guix_is_command "foobar" was
looking for foobar in all words of the command. So you could have
_guix_is_command returning true for "build" and "system" at the same
time when using "guix system build".