GNU bug report logs - #75817
[PATCH] profiles: emacs-subdirs: Avoid building list with a loop

Previous Next

Package: guix-patches;

Reported by: Thiago Jung Bauermann <bauermann <at> kolabnow.com>

Date: Fri, 24 Jan 2025 23:04:02 UTC

Severity: normal

Tags: patch

Done: Liliana Marie Prikler <liliana.prikler <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Thiago Jung Bauermann <bauermann <at> kolabnow.com>
To: guix-patches <at> gnu.org
Cc: Liliana Marie Prikler <liliana.prikler <at> gmail.com>,
 Thiago Jung Bauermann <bauermann <at> kolabnow.com>
Subject: [PATCH] profiles: emacs-subdirs: Avoid building list with a loop
Date: Fri, 24 Jan 2025 20:01:35 -0300
If the EMACSNATIVELOADPATH environment variable (by mistake) has duplicated
paths, Emacs fails to load with:

  $ emacs
  List contains a loop:
  ("/home/user/.guix-profile/lib/emacs/native-site-lisp"
   "/gnu/store/…-emacs-lsp-mode-9.0.0/lib/emacs/native-site-lisp"
   "/home/user/.guix-profile/lib/emacs/native-site-lisp"
   "/home/user/.guix-profile/lib/emacs/native-site-lisp"
   "/gnu/store/…-emacs-lsp-mode-9.0.0/lib/emacs/native-site-lisp" . #2)
  $ echo $?
  255

A git bisect in Guix to find when the problem was introduced arrived at
commit e9b13294700d ("profiles: emacs-subdirs: Also expand
native-comp-eln-load-path.").

Fix the problem by applying Liliana's suggestion of changing 'nconc' to
'append' in the Elisp code written to subdirs.el.

* guix/profiles.scm (emacs-subdirs): Use 'append' rather than 'nconc'.

Change-Id: If646b806f24666b5247850d30d2819c7482c130b
Fixes: <https://issues.guix.gnu.org/75709>
Suggested-by: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
---
 guix/profiles.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/guix/profiles.scm b/guix/profiles.scm
index 87b9543ac01f..63b2a08a48d4 100644
--- a/guix/profiles.scm
+++ b/guix/profiles.scm
@@ -1230,8 +1230,8 @@ (define build
                         (setq native-comp-eln-load-path
                               (mapcan (lambda (dir)
                                         (if (equal dir needle)
-                                            (nconc ',native-comp-dirs
-                                                   (list dir))
+                                            (append ',native-comp-dirs
+                                                    (list dir))
                                             (list dir)))
                                       native-comp-eln-load-path))))
                    port)




This bug report was last modified 105 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.