GNU bug report logs - #79380
31.0.50; Flymake does not check Elisp code anymore

Previous Next

Package: emacs;

Reported by: Daniel Mendler <mail <at> daniel-mendler.de>

Date: Wed, 3 Sep 2025 21:31:02 UTC

Severity: normal

Found in version 31.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#79380: closed (31.0.50; Flymake does not check Elisp code
 anymore)
Date: Sat, 06 Sep 2025 15:36:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Sat, 06 Sep 2025 18:34:48 +0300
with message-id <864itffvc7.fsf <at> gnu.org>
and subject line Re: bug#79380: 31.0.50; Flymake does not check Elisp code anymore, [PATCH] Fix null values of elisp-flymake-byte-compile-executable
has caused the debbugs.gnu.org bug report #79380,
regarding 31.0.50; Flymake does not check Elisp code anymore
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
79380: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=79380
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Daniel Mendler <mail <at> daniel-mendler.de>
To: bug-gnu-emacs <at> gnu.org
Cc: Spencer Baugh <sbaugh <at> janestreet.com>
Subject: 31.0.50; Flymake does not check Elisp code anymore
Date: Wed, 03 Sep 2025 23:29:49 +0200
If elisp-flymake-byte-compile-executable is nil (the default), the
absolute file predicate fails and as a result Flymake does not check
Elisp anymore:

(file-name-absolute-p elisp-flymake-byte-compile-executable)

Workaround:

(setq elisp-flymake-byte-compile-executable "emacs")

In GNU Emacs 31.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
 3.24.49, cairo version 1.18.4) of 2025-09-03
Windowing system distributor 'The X.Org Foundation', version 11.0.12101016
System Description: Debian GNU/Linux 13 (trixie)

Configured using:
 'configure --prefix=$HOME/.local/share/emacs
 --without-compress-install --with-tree-sitter --with-native-compilation
 --with-dbus --without-selinux --without-threads --disable-gc-mark-trace
 --without-gsettings --without-gpm --with-cairo --with-cairo-xcb
 --with-xinput2 --with-x-toolkit=gtk3 --without-toolkit-scroll-bars
 'CFLAGS=-O3 -mtune=native -march=native''

Configured features:
CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS HARFBUZZ JPEG LIBOTF LIBSYSTEMD
LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP
SOUND SQLITE3 TIFF TREE_SITTER WEBP X11 XDBE XIM XINERAMA XINPUT2 XPM
XRANDR GTK3 ZLIB


[Message part 3 (message/rfc822, inline)]
From: Eli Zaretskii <eliz <at> gnu.org>
To: Spencer Baugh <sbaugh <at> janestreet.com>
Cc: 79380-done <at> debbugs.gnu.org, mail <at> daniel-mendler.de
Subject: Re: bug#79380: 31.0.50; Flymake does not check Elisp code anymore,
 [PATCH] Fix null values of elisp-flymake-byte-compile-executable
Date: Sat, 06 Sep 2025 18:34:48 +0300
> From: Spencer Baugh <sbaugh <at> janestreet.com>
> Cc: Eli Zaretskii <eliz <at> gnu.org>,  79380 <at> debbugs.gnu.org
> Date: Sat, 06 Sep 2025 11:14:24 -0400
> 
> Daniel Mendler <mail <at> daniel-mendler.de> writes:
> 
> > Eli Zaretskii <eliz <at> gnu.org> writes:
> >
> >>> From: Spencer Baugh <sbaugh <at> janestreet.com>
> >>> Cc: 79380 <at> debbugs.gnu.org,  Eli Zaretskii <eliz <at> gnu.org>
> >>> Date: Fri, 05 Sep 2025 14:26:49 -0400
> >>> 
> >>> > Right, even better.  Like this:
> >>> 
> >>> Ping, I'd like to install this patch to fix the breakage on master.
> >>
> >> I was waiting for Daniel to test the patch and say that there are no
> >> further issues with it.
> >>
> >> Daniel, please chime in and ack.
> >
> > Works for me, yes.
> >
> > But there is still a small inconsistency in the patch. If the defcustom
> > is set to an invalid type there will be an error. But if it is set to an
> > invalid executable we will get a warning. Is this desired?
> 
> That was deliberate, yes.  If a user sets
> elisp-flymake-byte-compile-executable to "src/emacs" in dir-locals in
> the Emacs repo, but they haven't compiled Emacs yet, I figure they would
> prefer that flymake fall back to using their running Emacs instance
> rather than error because repo/src/emacs doesn't exist.
> 
> That being said, since this is unclear I think the message for that case
> could be improved.  Also, some of the nested conditionals indeed can be
> removed.  Hence, this patch, which I think seems good to me.  (We don't
> need to check file-executable-p in the absolute file name case, where we
> don't need to fall back; start-process will just error, just like it
> would if (expand-file-name invocation-name invocation-directory) doesn't
> exist anymore)
> 
> >> Thanks.  However, the log message still says the defcustom is being
> >> modified, which the patch doesn't do.
> 
> Fixed, thanks.

Thanks, installed, and closing the bug.


This bug report was last modified 6 days ago.

Previous Next


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