Subject: Re: bug#53909: [PATCH 0/4] 'guix pull -l' no longer displays package lists by default

From: zimoun <[email-masked]>
Date: Thu, 10 Feb 2022 18:21:49 +0100

Hi Ludo,

Cool!  Thanks.

On Wed, 09 Feb 2022 at 23:17, Ludovic Courtès <[email-masked]> wrote:

> * guix/scripts/pull.scm (show-help, %options): Add "--details".

IMHO, the commit online header should reflect that.

> diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm

[...]

>  (define (process-query opts profile)
>    "Process any query on PROFILE specified by OPTS."
> +  (define details?
> +    (assoc-ref opts 'details?))
> +
>    (match (assoc-ref opts 'query)
>      (('list-generations pattern)
>       (define (list-generations profile numbers)
>         (match numbers
>           ((first rest ...)
>            (display-profile-content profile first)
> +
>            (let loop ((numbers numbers))
>              (match numbers
>                ((first second rest ...)
> -               (display-profile-content-diff profile
> -                                             first second)
> +               (if details?
> +                   (display-profile-content-diff profile
> +                                                 first second)
> +                   (display-profile-content profile second))
>                 (display-channel-news (generation-file-name profile second)
>                                       (generation-file-name profile first))
>                 (loop (cons second rest)))

Well, "guix pull --details" pulls; which I find annoying.  Instead, I
propose to silently runs "guix pull --details -l", see this diff:

diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm
index 707f1f0929..fb1dd6c82c 100644
--- a/guix/scripts/pull.scm
+++ b/guix/scripts/pull.scm
@@ -142,7 +142,9 @@ (define %options
                          result)))
          (option '("details") #f #f
                  (lambda (opt name arg result)
-                   (alist-cons 'details? #t result)))
+                   (alist-cons 'details? #t
+                               (cons '(query list-generations #f)
+                                     result))))
          (option '("roll-back") #f #f
                  (lambda (opt name arg result)
                    (cons '(generation roll-back)

Because warn people that "guix pull --details" alone is not what they
want adds some complexity, and when '--details' only works in tandem
with the option '--list-generations', that’s why I propose this
behaviour.

Last, about this change…

> -  (define (no-arguments arg _‌)
> +  (define (no-arguments arg _)

…it a Git twist?  I miss what changed––my whitespace mode is badly
configured?

Cheers,
simon