bug#81517: 31.0.90; executable-find on remote buffer fails

Eli Zaretskii <[email protected]> Thu, 30 Jul 2026 07:29:00 +0300
Newsgroups gmane.emacs.bugs
Message-ID <[email protected]>
> Cc: [email protected]
> Date: Wed, 29 Jul 2026 18:38:54 +0200
> From: Michael Albinus via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <[email protected]>
> 
> Shun-ichi TAHARA <[email protected]> writes:
> 
> Hi,
> 
> > After Emacs31.0.90 with Windows, executable-find on remote buffer
> > returns nil.  Then, for example, save-buffers on remote file using tramp
> > fails because '(executable-find "pscp")' returns nil; I use "pscp.exe"
> > derivered from PuTTY and it is expected that the exe file is found by
> > executable-find.
> >
> > I found that tramp added '(exec-suffixes . (""))' to tramp-connection-
> > local-default-system-variables at tramp-integration.el since Emacs31.
> > So 'exec-suffixes' is always changed to that value on remote buffer.
> 
> Yes, this is an undesired side effect of bug#78886.
> 
> > It harms because suffixes are disabled even when local executables are
> > required; "pscp.exe" installed in local file systems must be found then.
> >
> > I suppose it might be a bug of tramp.
> > Emacs-31.0.91 has the same problem, also the same with git HEAD.
> 
> It has been fixed with bug#81280. The fix is in master, not in the
> emacs-31 branch. It covers also call-process and make-process. Shall we
> backport it to Emacs 31? Eli, Sean?

Ouch!  I guess we must, since this whole exec-suffixes business is new
in Emacs 31.

Sean?