Subject: bug#40549: More usability issues:

From: Arne Babenhauserheide <[email-masked]>
Date: Wed, 13 May 2020 20:53:50 +0200

Dear zimoun,

zimoun <[email-masked]> writes:
> It would like it works.  And to do so, I accept that "guix package -I
> regexp -p /tmp/profile" does not anymore and would be replaced by
> "guix package -Iregexp -p /tmp/profile" which already works (as
> specified by SRFI-37).

Wow, this surprised me. I expected

   guix package -Iregexp

to be equivalent to

   guix package -I -r -e -g -e -x -p

which is how getopt long works in the shell.

> Today, the Guix manual is lying because the optional argument for
> short-name is *not* optional depending on its position.  And that
> leads to surprise:
>
>    guix package -I -p /tmp/profile # fails
>    guix package -p /tmp/profile -I # works
>
> And this is really really annoying!  It is hard to understand why such
> different behaviour.

Yes, this seems annoying.

> Instead of what I am proposing, what do you suggest?

What I would suggets would break -Iregexp and as such deviate from
SRFI-37, so it wouldn’t be optimal.

It would first need another SRFI so it’s no shortterm fix :-)

The commandline handling I want is this:
https://www.draketo.de/english/free-software/shell-argument-parsing

But I don’t yet have a good way to do it in Guile.

Best wishes,
Arne
-- 
Unpolitisch sein
heißt politisch sein
ohne es zu merken