GNU bug report logs - #74530
31.0.50; Emacs fails to compile cape package

Previous Next

Package: emacs;

Reported by: Osama Rebach <osamarebach <at> gmail.com>

Date: Mon, 25 Nov 2024 15:24:01 UTC

Severity: normal

Found in version 31.0.50

Done: Sean Whitton <spwhitton <at> spwhitton.name>

Bug is archived. No further changes may be made.

Full log


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

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Sean Whitton <spwhitton <at> spwhitton.name>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 74530 <at> debbugs.gnu.org,
 Osama Rebach <osamarebach <at> gmail.com>
Subject: Re: bug#74530: 31.0.50; Emacs fails to compile cape package
Date: Mon, 25 Nov 2024 22:24:11 -0500
> Stefan's commit a0f60293d9 says
>
>     `byte-compile-macro-environment` contains definitions which expand
>     to code that is only understood by the rest of the byte-compiler, so
>     using it for code which isn't being byte-compiled leads to errors
>     such as references to non-existing function
>     `internal--with-suppressed-warnings`.
>
> So it sounds like we are inappropriately tangling with machinery
> internal to the byte compiler.  I used with-suppressed-warnings in a
> completely standard way, so I think the most likely thing is that we
> have uncovered a bug in the byte compiler, probably something to do with
> evaluating top-level forms while compiling.  Adding Stefan.

My guess is that it's the `when-let` inside an `eval-and-compile` that's
making us bite the dust.

I'd welcome a patch to fix that problem, but in the mean time a
patch that actually fixes `when-let` to not use `if-let` (and hence not
use `with-suppressed-warnings` either) might be a simpler solution.


        Stefan





This bug report was last modified 175 days ago.

Previous Next


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