GNU bug report logs - #79353
31.0.50; Eager macro expansion errors when building master

Previous Next

Package: emacs;

Reported by: Gerd Möllmann <gerd.moellmann <at> gmail.com>

Date: Sun, 31 Aug 2025 06:35:01 UTC

Severity: normal

Found in version 31.0.50

Full log


View this message in rfc822 format

From: JD Smith <jdtsmith <at> gmail.com>
To: Gerd Möllmann <gerd.moellmann <at> gmail.com>
Cc: Po Lu <luangruo <at> yahoo.com>, michael.albinus <at> gmx.de, 79353 <at> debbugs.gnu.org, Stefan Monnier <monnier <at> iro.umontreal.ca>
Subject: bug#79353: 31.0.50; Eager macro expansion errors when building master
Date: Tue, 2 Sep 2025 09:51:47 -0400

> On Sep 2, 2025, at 12:48 AM, Gerd Möllmann <gerd.moellmann <at> gmail.com> wrote:
> 
> Stefan Monnier <monnier <at> iro.umontreal.ca> writes:
> 
>>>> FWIW it sounds like a problem I've seen before in other circumstances
>>>> where I just added a `(require 'cl-extra)`, e.g.:
>>>> 
>>>>    lisp/emacs-lisp/comp-cstr.el:(require 'cl-extra) ;HACK: For
>>>> `cl-find-class' when `cl-loaddefs' is missing.
>>> 
>>> Interesting.  `tramp.el' could probably just (require 'cl-extra) to fix
>>> this.  I guess this is a new use of this cl-extra macro somewhere, which
>>> wasn't caught in testing.
>> 
>> I wouldn't call it "new use".  It's probably just a use that can now
>> occur a bit earlier (before `cl-loaddefs.el` is built).
>> 
>> See also comment in cl-lib.el:
>> 
>>    (unless (load "cl-loaddefs" 'noerror 'quiet)
>>      ;; When bootstrapping, cl-loaddefs hasn't been built yet!
>>      (require 'cl-macs)
>>      (require 'cl-seq)
>>      ;; FIXME: Arguably we should also load `cl-extra', except that this
>>      ;; currently causes more bootstrap troubles, and `cl-extra' is
>>      ;; rarely used, so instead we explicitly (require 'cl-extra) at
>>      ;; those rare places where we do need it.
>>      )
>> 
>> 
>> - Stefan
> 
> Not sure if that's relevant, don't know what this is all about anyway.

I think the idea is to require 'cl-extra in tramp.el, after 'cl-lib.  The issue is we are loading tramp during the build of *-loaddefs.el files, and yet tramp is currently relying (indirectly) on the autoload of cl-subseq from cl-extra. 







This bug report was last modified 1 day ago.

Previous Next


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