Subject: bug#56799: (gnu services configuration) usage of *unspecified* is problematic

From: Ludovic Courtès <[email-masked]>
Date: Mon, 01 Aug 2022 15:44:06 +0200

Hi!

Maxim Cournoyer <[email-masked]> skribis:

> Fixes <https://issues.guix.gnu.org/56799>.
>
> * guix/gexp.scm (gexp->sexp)[*unspecified*]: Quote value when encountering it.

I think we need to take a step back.  Overall, I’m reluctant to
modifying a core primitive like ‘gexp->sexp’ “just” to address this
higher-level problem that we have.

> +        (($ <gexp-input> (? unspecified?))
> +         (return '*unspecified*))

Incidentally, this is “unhygienic”, meaning that it relies on
‘*unspecified*’ being bound to what we want.  For example, if I do this:

  #~(let ((*unspecified* 'hi!))
      #$*unspecified*)

… I won’t get the desired output.

Ludo’, who now goes back to the beginning of the thread.  :-)