emacs-devel
[Top][All Lists]
Advanced

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

Re: A DOS box starting Emacs (w32)


From: Eli Zaretskii
Subject: Re: A DOS box starting Emacs (w32)
Date: Wed, 12 Feb 2014 18:20:10 +0200

> Date: Wed, 12 Feb 2014 08:37:15 +0100
> From: Dani Moncayo <address@hidden>
> Cc: Emacs developers <address@hidden>,
>       Angelo Graziosi <address@hidden>
> 
> If it was possible, it'd be nice if we could get rid of
> "runemacs.exe", and always use "emacs.exe" like on the rest of
> platforms.

If it's possible, yes.  Patches are welcome.

> AFAIK, what "runemacs.exe" does is to asynchronously invoke
> "emacs.exe" and then close/kill the CMD window.

No, that's not what runemacs does.  It invokes emacs.exe while
specifying that its console window be hidden in the first place, and
never shown, neither on the desktop nor in the task bar.  This
prevents momentarily flashing the console window, as well as several
other potential problems.  As a side effect, it also emulates the
Posix "&" shell operator, when runemacs is invoked from a shell
prompt (although this is not the main reason for having runemacs, as
there are other method of achieving the same).

> Wouldn't it be possible to achieve the same behavior from
> "emacs.exe"?

Maybe it is possible, but certainly not trivial, AFAIK.  Patches are
welcome; the requirements for such a single emacs.exe executable are
as follows:

 . It should be able to run it as a console application with output to
   the same console from which it was invoked, when given the -nw or
   the -batch/--script options.

 . When run without the above switches, it should behave as a GUI
   application, i.e. create a GUI frame, start the message pump, etc.

 . When invoked from a shell prompt, it should support redirection as
   in "emacs > foo" (including redirection of stderr with 2> and 2>&1),
   both in GUI and in -nw/batch modes.

 . When invoked from a shell prompt, it should not release the console
   (this is actually a subtle prerequisite of the previous requirement,
   but is mentioned here explicitly because it is not immediately
   self-evident).

 . When invoked in the GUI mode, it should not display a console
   window of any kind, shape, or form, including not in the task bar.

 . It should support invocation in GUI mode using any method Windows
   provides for activating applications, including from a desktop
   shortcut, from the Start menu, and from the icon pinned to the task
   bar.

 . When invoked in the console/batch mode, it should not display any
   additional windows, GUI or otherwise.

 . In batch mode, it should be able to read keyboard input typed into
   the console window from which it was invoked.

 . It should support invocation from a debugger, as in "gdb ./emacs.exe".

 . It should be possible to invoke Emacs "as Administrator".



reply via email to

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