emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bloat in the Emacs Windows package


From: Eli Zaretskii
Subject: Re: Bloat in the Emacs Windows package
Date: Fri, 19 Apr 2019 10:00:41 +0300

> From: Björn Lindqvist <address@hidden>
> Date: Fri, 19 Apr 2019 00:02:55 +0200
> Cc: Stefan Monnier <address@hidden>, address@hidden
> 
> > And btw, invoking through a batch file is in no way 100% transparent.
> > For example, I think users who start Emacs from MSYS Bash will have to
> > go through cmd.exe, because Bash cannot interpret batch files
> > directly.  So we will have to provide both a batch file and a Unix
> > shell script, at least.
> 
> That's true so a batch file is no good. But isn't the runemacs.exe
> file already handling the indirection? If that file is compiled with
> CHOOSE_NEWEST_EXE defined, then it will automagically choose the most
> recent emacs*.exe if multiple version are installed in the same
> directory.

First, runemacs.exe is by default _not_ compiled with
CHOOSE_NEWEST_EXE defined.  I don't think we should turn that feature
on by default, because the result might be unpredictable: no one can
guarantee that the newest emacs*.exe is what the user wants.  E.g.,
what if some older version is rebuilt and re-installed, or if the user
downloads and installs an executable from another source whose
timestamp is older?  This kind of stuff is not for the faint at heart,
IMO, and that's why it's turned off.

> Personally, I never run the emacs.exe nor emacs-xy.z.exe directly
> because it opens up a useless cmd.exe window.

Not if you invoke it from a cmd.exe window.  And that is an important,
albeit relatively rarely used feature, because it allows several
important use cases, such as:

  . using Emacs in -batch mode
  . starting Emacs from emacsclient
  . starting "emacs -Q" to test if some problem happens then
  . if Emacs crashes, the backtrace is printed on the console as well,
    which is more visible than when you invoke via runemacs

> Instead I use runemacs.exe from the Start menu and emacsclientw.exe
> from the Explorer shell.

There are use cases beyond those covered by what you describe.  E.g.,
emacsclientw is inappropriate when Emacs is to be called from a
program that must wait for Emacs to finish editing, like when it is
used as EDITOR from the various VCS programs.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]