Subject: [bug#75817] [PATCH v2] profiles: emacs-subdirs: Avoid building list with a loop

From: Liliana Marie Prikler <[email-masked]>
Date: Sat, 25 Jan 2025 15:26:07 +0100

Am Samstag, dem 25.01.2025 um 01:14 -0300 schrieb Thiago Jung
Bauermann:
> 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: Emacs "List contains a loop" error
> <https://issues.guix.gnu.org/75709>
> Suggested-by: Liliana Marie Prikler <[email-masked]>
> ---
Reworded commit message slightly and pushed to emacs-team.  Let's wait
a little for all Emacsen to rebuild on CI before merging this into
master :)

Thanks