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

From: Maxim Cournoyer <[email-masked]>
Date: Mon, 01 Aug 2022 08:46:46 -0400

Hi,

Maxime Devos <[email-masked]> writes:

> On 01-08-2022 07:08, Maxim Cournoyer wrote:
>>         (quote
>>          ("/gnu/store/14flr53fr0hs7mzfwn93kmyzrnb3fhjz-dummy-jami-account.gz"))
>>         (quote
>>          (*unspecified*))
>>         (quote
>>          (*unspecified*))
>
> These lines look suspicious to me -- should they have done (list
> *unspecified*) instead of '(*unspecified*)?
>
> The former uses the actual unspecified object, the latter uses the
> symbol '*unspecified*' that merely happens to be the name of a
> variable the unspecified object is bound to.

Indeed; '*unspecified ain't the same as *unspecified, and it isn't
magically evaluated after being lowered in a G-exp:

--8<---------------cut here---------------start------------->8---
(map unspecified?
     (quote (*unspecified* *unspecified* *unspecified*
             *unspecified* *unspecified*)))
$1 = (#f #f #f #f #f)             
--8<---------------cut here---------------end--------------->8---

So in essence the idea to simply quote *unspecified* from patch v3 is
flawed.

v1 works though (using a symbol), so unless someone has a better idea
right now I'm thinking that using 'unset instead of *unspecified* may be
the simplest working solution.

Thanks,

Maxim