Subject: Re: bug#53657: inconsistent parsing of the channel sexp's

From: Ludovic Courtès <[email-masked]>
Date: Wed, 02 Mar 2022 11:44:56 +0100

Hi,

Attila Lendvai <[email-masked]> skribis:

> pull.scm does this with channel files, e.g. with /etc/guix/channels.scm:
>
> (load* file (make-user-module '((guix channels))))
>
> i.e. this way field values are EVAL'd. beside the big can of worms that this opens up, it also means that e.g. the name field must be quoted: (name 'guix).
>
> then at other occurrences of channels, an sexp parser is used to read them, e.g. in the 'dependencies field of a .guix-channel entry. see READ-CHANNEL-METADATA in guix/channels.scm.
>
> here the name field is not EVAL'd, and thus it must be specified without quotes: (name guix).
>
> this leads to an actual issue that channel dependencies don't match up, unless the name is without quotes in the dependencies list specification.

Yes, but that’s okay: the ‘.guix-channel’ file has a syntax that looks
similar but is different from that of ‘~/.config/guix/channels.scm’, as
you explained (and as the manual explains, I think.)  This is on
purpose.

I understand it might look confusing but I’m not sure there’s much we
can do.

Thoughts?

Ludo’.