[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#59864: emacs-guix
From: |
Ludovic Courtès |
Subject: |
bug#59864: emacs-guix |
Date: |
Wed, 07 Dec 2022 18:49:44 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) |
Hi,
Amade Nemes Gmail <nemesamade@gmail.com> skribis:
> I've updated my guix version today and found that most emacs-guix
> interactive commands no longer work. For example, guix-packages-by-name
> throws:
>
> guix-geiser-eval: Error in evaluating guile expression:
> ice-9/boot-9.scm:1685:16: In procedure raise-exception:
> In procedure package-license: Wrong type argument: #<package abduco@0.6
> gnu/packages/abduco.scm:28 7f45f9d11f20>
I think this is caused by an ABI incompatibility: the ‘guix’ package is
currently at 1.4.0rc1, which doesn’t have the change made in:
https://issues.guix.gnu.org/59390
However, current ‘master’ does have this change.
The ‘emacs-guix’ package is built against the ‘guix’ package; it has
inlined calls like (package-name p) to something like:
--8<---------------cut here---------------start------------->8---
scheme@(guile-user)> ,optimize (package-name p)
$8 = (let ((s p))
(if (eq? (struct-vtable s)
(@@ (guix packages) <package>))
(struct-ref s 0)
(throw 'wrong-type-arg
'package-name
"Wrong type argument: ~S"
(list s)
(list s))))
--8<---------------cut here---------------end--------------->8---
But on ‘master’, <package> is a macro, not a record type descriptor;
thus, the (eq? …) expression is always false.
I’ll fix this by upgrading the ‘guix’ package and/or merging the (guix
records) bit in the ‘version-1.4.0’ branch.
Thanks,
Ludo’.
- bug#59864: emacs-guix, Amade Nemes Gmail, 2022/12/06
- bug#59864: emacs-guix,
Ludovic Courtès <=
- Message not available