Interpreting EDITOR/VISUAL environment variables.

From: David Kastrup <hidden>
Date: 2016-06-15 22:43:25

Whatever I have been able to Google, is completely silent on this
matter.  If anybody has an idea where to find authoritative
information, holler.

In the meantime, in the Emacs manual there is the following bit of
information:

(info "(emacs) Invoking Emacsclient")

       The option `-a COMMAND' or `--alternate-editor=COMMAND' specifies a
    command to run if `emacsclient' fails to contact Emacs.  This is useful
    when running `emacsclient' in a script.  For example, the following
    setting for the `EDITOR' environment variable will always give you an
    editor, even if no Emacs server is running:

         EDITOR="emacsclient --alternate-editor emacs +%d %s"

That makes it likely that the way to call an editor should be via
system.  However, there are certainly programs around which will not
interpret the +%d and %s thingies.  My current setting is

         EDITOR="emacsclient --alternate-editor vi"

and this seems to do the trick with most applications.  Not so with
git-commit and other git scripts.  The easiest way out will be to
create something like ~/bin/myemacsclient which does the respective
argument splicing.  I am just not sure this is the "canonically
correct way" of interpreting $EDITOR.

Actually, splicing $EDITOR into a system command is a nuisance because
it means having to shell-quote its arguments.  So the current
interpretation is likely easier to maintain.

Is it the correct one?

-- 
David Kastrup
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help