]> git.eshelyaron.com Git - emacs.git/commitdiff
Add support in emacsclient for EMACS_SOCKET_NAME
authorDaniel Pittman <slippycheeze@google.com>
Wed, 5 Sep 2018 13:44:58 +0000 (09:44 -0400)
committerEli Zaretskii <eliz@gnu.org>
Sat, 27 Oct 2018 09:18:27 +0000 (12:18 +0300)
If the '--socket-name' argument is unspecified, the environment
variable 'EMACS_SOCKET_NAME' is now consulted with the same
semantics.  This mirrors the behavior of the '--server-file' argument,
and allows for easier configuration of emacsclient when the socket is
in a location other than 'TMPDIR' or '/tmp'.

* emacsclient.c (set_socket): Add support for the
EMACS_SOCKET_NAME environment variable.  (Bug#33095)

* misc.texi (emacsclient Options):
* emacsclient.1: Document the EMACS_SOCKET_NAME environment
variable.

* etc/NEWS: Announce the new feature.

Copyright-paperwork-exempt: yes

doc/emacs/misc.texi
doc/man/emacsclient.1
etc/NEWS
lib-src/emacsclient.c

index 236cb07785c3aec074fbff1196cd99631fb69972..ab33cafb8e807b5ddd67b060811fb7cf89cb03be 100644 (file)
@@ -1966,6 +1966,10 @@ is given by the variable @code{server-name} on the Emacs server.  If
 this option is omitted, @command{emacsclient} connects to the first
 server it finds.  (This option is not supported on MS-Windows.)
 
+Alternatively, you can set the @env{EMACS_SOCKET_NAME} environment
+variable to point to the server socket.  (The command-line option
+overrides the environment variable.)
+
 @item -t
 @itemx --tty
 @itemx -nw
index 5aaa6d1f083d12a34b33fb6ff0ecf160f03069c0..24ca1c9a4684ec4352f5a2a7a4028209badf1e6c 100644 (file)
@@ -94,6 +94,7 @@ open a new Emacs frame on the current terminal
 .TP
 .B \-s, \-\-socket-name=FILENAME
 use socket named FILENAME for communication.
+This can also be specified via the EMACS_SOCKET_NAME environment variable.
 .TP
 .B \-V, \-\-version
 print version information and exit
index 2249aa48ab8bf4866a647d2b4eb0c9311f6abea1..be32ac6b9bbb93f410c32154284b6135b1b56f42 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -119,6 +119,12 @@ the new version of the file again.)
 \f
 * Changes in Emacs 27.1
 
++++
+** emacsclient uses EMACS_SOCKET_NAME if --socket-name is not set.
+The behavior is identical to the EMACS_SERVER_FILE, in that the
+command line value will override the environment, and the natural
+default to TMPDIR, then /tmp, continues to apply.
+
 +++
 ** The function 'read-passwd' uses '*' as default character to hide passwords.
 
index 4fe3a588b1909755fbcd6d902941cba85b0ae4c6..42b8dd6227b02596630d834de8c9aba324201bce 100644 (file)
@@ -1409,6 +1409,9 @@ set_socket (int no_exit_if_error)
 
 #ifndef NO_SOCKETS_IN_FILE_SYSTEM
   /* Explicit --socket-name argument.  */
+  if (!socket_name)
+    socket_name = egetenv ("EMACS_SOCKET_NAME");
+
   if (socket_name)
     {
       s = set_local_socket (socket_name);