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

From: Ludovic Courtès <[email-masked]>
Date: Mon, 27 Jan 2025 09:41:07 +0100

Hello,

Liliana Marie Prikler <[email-masked]> skribis:

> 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 :)

Looking forward to applying this fix (exwm wouldn’t start this morning).
:-)

Ludo’.