Subject: Re: bug#60582: [PATCH] Properly format list of packages & sync lightdm documentation.

From: Maxim Cournoyer <[email-masked]>
Date: Fri, 13 Jan 2023 15:29:30 -0500

Hi,

Bruno Victal <[email-masked]> writes:

> * gnu/services/configuration.scm
> (generate-documentation): Format a list of packages by their names.
> ---
>  gnu/services/configuration.scm | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/gnu/services/configuration.scm b/gnu/services/configuration.scm
> index 6b0291dc00..16e2380709 100644
> --- a/gnu/services/configuration.scm
> +++ b/gnu/services/configuration.scm
> @@ -370,6 +370,9 @@ (define (show-default val)
>                       (cond
>                        ((package? val)
>                         (symbol->string (package->symbol val)))
> +                      ((and ((list-of package?) val) (not (null? val)))
> +                       (format #f "(~{~a~^ ~})"
> +                        (map package->symbol val)))

The 'and' and (not (null? val)) don't seem to be necessary as in the
empty list of packages, it'd produce the same as the else clause below:

--8<---------------cut here---------------start------------->8---
scheme@(gnu services configuration)> (format #f "(~{~a~^ ~})" '())
$1 = "()"
scheme@(gnu services configuration)> (str '())
$2 = "()"
--8<---------------cut here---------------end--------------->8---

>                        (else (str val))))
>                     `(entry (% (heading

-- 
Thanks,
Maxim