Subject: bug#36357: Wrong Ghostscript program name on MS Win

From: Eli Zaretskii <[email-masked]>
Date: Wed, 22 Apr 2020 16:45:35 +0300

> From: Tassilo Horn <[email-masked]>
> Date: Wed, 22 Apr 2020 11:05:24 +0200
> Cc: Sebastian Urban <[email-masked]>, [email-masked]
> 
> Another question: You both used executable-find with exe file extension.
> Was that intended?  I mean, it makes sure we don't falsely set some
> "gs.bat" or "gs.cmd" which might have nothing to do with GhostScript.
> Is that a real danger?  If so, we need the OS distinction again.

It is IME wrong and user-unfriendly to refuse to load foo.bat or
foo.cmd and insist on running foo.exe.  The reason is that having a
batch file that shadows a .exe program is the easiest way of
"customizing" programs, like adding default arguments, setting up a
special PATH value, etc.  I need to do that quite a lot, especially
when working in fascist domains where the admins think they know
better what I need and what I don't.  So I wouldn't like it if Emacs,
of all programs, would disallow me to have a gs64winc.cmd file when
the .exe somehow needs some help to run correctly.

Therefore, my suggestion is to use just "foo" without any extension.
If the user has a foo.bat that is found before foo.exe, it is their
misconfiguration, and they need to fix that locally.  However, more
often than not, the user _wants_ the batch file to run instead, and we
shouldn't punish users who know what they are doing on behalf of those
who don't.

Just my $0.02, feel free to disregard.

P.S. This is not Windows-specific, IMO: the same is true on Posix
systems where a shell script can "shadow" a program.