Subject: bug#41457: guix pull: channel d8feee9 - extraneous field initializers (sha256)

From: Jan Nieuwenhuizen <[email-masked]>
Date: Fri, 22 May 2020 20:49:18 +0200

Ludovic Courtès writes:

Hello,

> Good news, this is fixed by 50ea3135e0948a042cd3b899e970f6ade291a0c2!
>
> As noted in the commit log, this issue stemmed from a change in
> #:autoload semantics in Guile 3.0.  In 3.0, the line:
>
>   #:autoload (gcrypt hash) (port-sha256)
>
> means that only ‘port-sha256’ is imported.  Conversely, in 2.2 (which is
> the Guile version used by the ‘compute-guix-derivation’ program above),
> that #:autoload line means that all the (gcrypt hash) bindings are
> imported.  That includes the ‘sha256’ bindings, which would thus prevent
> matching the ‘sha256’ literal in the ‘origin-compatibility-helper’
> macro.  Terrible!

Huh?  I just used #:autoload for the first time (in the native
qemu-image patch thaw way may not be using after all ...) and so I just
read the documentation.

]I am pretty sure that t]The 3.0 documentation says that "when a module
is autoloaded, all symbols become available"?

    http://git.savannah.gnu.org/cgit/guile.git/tree/doc/ref/api-modules.texi#n298

So...what's going on here?

janneke

-- 
Jan Nieuwenhuizen <[email-masked]> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com