Subject: bug#79380: closed (Re: bug#79380: 31.0.50; Flymake does not check Elisp code anymore, [PATCH] Fix null values of elisp-flymake-byte-compile-executable)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 06 Sep 2025 15:36:02 +0000

Your bug report

#79380: 31.0.50; Flymake does not check Elisp code anymore

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
79380: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=79380
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#79380: 31.0.50; Flymake does not check Elisp code anymore, [PATCH] Fix null values of elisp-flymake-byte-compile-executable
From: Eli Zaretskii <[email-masked]>
To: Spencer Baugh <[email-masked]>
Cc: [email-masked], [email-masked]
Date: Sat, 06 Sep 2025 18:34:48 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

> From: Spencer Baugh <[email-masked]>
> Cc: Eli Zaretskii <[email-masked]>,  [email-masked]
> Date: Sat, 06 Sep 2025 11:14:24 -0400
> 
> Daniel Mendler <[email-masked]> writes:
> 
> > Eli Zaretskii <[email-masked]> writes:
> >
> >>> From: Spencer Baugh <[email-masked]>
> >>> Cc: [email-masked],  Eli Zaretskii <[email-masked]>
> >>> 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.

Subject: 31.0.50; Flymake does not check Elisp code anymore
From: Daniel Mendler <[email-masked]>
To: [email-masked]
Cc: Spencer Baugh <[email-masked]>
Date: Wed, 03 Sep 2025 23:29:49 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

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