diff options
| author | Juanma Barranquero | 2008-10-29 10:42:31 +0000 |
|---|---|---|
| committer | Juanma Barranquero | 2008-10-29 10:42:31 +0000 |
| commit | f77b11a0515b302f8ae77abfdc4e6f66b38f231b (patch) | |
| tree | c058aee977eab9e67efe28abd0829ffcef18c80c | |
| parent | f0e35aeb628f533ca5d71661c3d224da42ce723c (diff) | |
| download | emacs-f77b11a0515b302f8ae77abfdc4e6f66b38f231b.tar.gz emacs-f77b11a0515b302f8ae77abfdc4e6f66b38f231b.zip | |
* server.el, emacsclient.c: Use TMPDIR (default /tmp) instead of hardcoded /tmp.
| -rw-r--r-- | lib-src/ChangeLog | 5 | ||||
| -rw-r--r-- | lib-src/emacsclient.c | 17 | ||||
| -rw-r--r-- | lisp/ChangeLog | 5 | ||||
| -rw-r--r-- | lisp/server.el | 3 |
4 files changed, 23 insertions, 7 deletions
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 7883cf3b085..3f8ae2132e9 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2008-10-29 Ulrich Mueller <ulm@gentoo.org> | ||
| 2 | |||
| 3 | * emacsclient.c (set_local_socket): Use TMPDIR (default /tmp) | ||
| 4 | instead of hardcoded /tmp. | ||
| 5 | |||
| 1 | 2008-10-13 Dan Nicolaescu <dann@ics.uci.edu> | 6 | 2008-10-13 Dan Nicolaescu <dann@ics.uci.edu> |
| 2 | 7 | ||
| 3 | * emacsclient.c (longopts, print_help_and_exit): Add -nw. | 8 | * emacsclient.c (longopts, print_help_and_exit): Add -nw. |
diff --git a/lib-src/emacsclient.c b/lib-src/emacsclient.c index d4a7ad3d095..4c167c2ad7f 100644 --- a/lib-src/emacsclient.c +++ b/lib-src/emacsclient.c | |||
| @@ -1128,6 +1128,7 @@ set_local_socket () | |||
| 1128 | int default_sock = !socket_name; | 1128 | int default_sock = !socket_name; |
| 1129 | int saved_errno = 0; | 1129 | int saved_errno = 0; |
| 1130 | char *server_name = "server"; | 1130 | char *server_name = "server"; |
| 1131 | char *tmpdir; | ||
| 1131 | 1132 | ||
| 1132 | if (socket_name && !index (socket_name, '/') && !index (socket_name, '\\')) | 1133 | if (socket_name && !index (socket_name, '/') && !index (socket_name, '\\')) |
| 1133 | { /* socket_name is a file name component. */ | 1134 | { /* socket_name is a file name component. */ |
| @@ -1138,9 +1139,12 @@ set_local_socket () | |||
| 1138 | 1139 | ||
| 1139 | if (default_sock) | 1140 | if (default_sock) |
| 1140 | { | 1141 | { |
| 1141 | socket_name = alloca (100 + strlen (server_name)); | 1142 | tmpdir = egetenv ("TMPDIR"); |
| 1142 | sprintf (socket_name, "/tmp/emacs%d/%s", | 1143 | if (!tmpdir) |
| 1143 | (int) geteuid (), server_name); | 1144 | tmpdir = "/tmp"; |
| 1145 | socket_name = alloca (32 + strlen (tmpdir) + strlen (server_name)); | ||
| 1146 | sprintf (socket_name, "%s/emacs%d/%s", | ||
| 1147 | tmpdir, (int) geteuid (), server_name); | ||
| 1144 | } | 1148 | } |
| 1145 | 1149 | ||
| 1146 | if (strlen (socket_name) < sizeof (server.sun_path)) | 1150 | if (strlen (socket_name) < sizeof (server.sun_path)) |
| @@ -1174,9 +1178,10 @@ set_local_socket () | |||
| 1174 | if (pw && (pw->pw_uid != geteuid ())) | 1178 | if (pw && (pw->pw_uid != geteuid ())) |
| 1175 | { | 1179 | { |
| 1176 | /* We're running under su, apparently. */ | 1180 | /* We're running under su, apparently. */ |
| 1177 | socket_name = alloca (100 + strlen (server_name)); | 1181 | socket_name = alloca (32 + strlen (tmpdir) |
| 1178 | sprintf (socket_name, "/tmp/emacs%d/%s", | 1182 | + strlen (server_name)); |
| 1179 | (int) pw->pw_uid, server_name); | 1183 | sprintf (socket_name, "%s/emacs%d/%s", |
| 1184 | tmpdir, (int) pw->pw_uid, server_name); | ||
| 1180 | 1185 | ||
| 1181 | if (strlen (socket_name) < sizeof (server.sun_path)) | 1186 | if (strlen (socket_name) < sizeof (server.sun_path)) |
| 1182 | strcpy (server.sun_path, socket_name); | 1187 | strcpy (server.sun_path, socket_name); |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 37cf39e294d..986c9a04704 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2008-10-29 Ulrich Mueller <ulm@gentoo.org> | ||
| 2 | |||
| 3 | * server.el (server-socket-dir): Use TMPDIR (default /tmp) instead | ||
| 4 | of hardcoded /tmp. | ||
| 5 | |||
| 1 | 2008-10-29 Glenn Morris <rgm@gnu.org> | 6 | 2008-10-29 Glenn Morris <rgm@gnu.org> |
| 2 | 7 | ||
| 3 | * net/xesam.el (dbus-get-unique-name, dbus-debug): Declare. | 8 | * net/xesam.el (dbus-get-unique-name, dbus-debug): Declare. |
diff --git a/lisp/server.el b/lisp/server.el index b69965f94a6..57d23183d2c 100644 --- a/lisp/server.el +++ b/lisp/server.el | |||
| @@ -202,7 +202,8 @@ are done with it in the server.") | |||
| 202 | 202 | ||
| 203 | (defvar server-name "server") | 203 | (defvar server-name "server") |
| 204 | 204 | ||
| 205 | (defvar server-socket-dir (format "/tmp/emacs%d" (user-uid)) | 205 | (defvar server-socket-dir |
| 206 | (format "%s/emacs%d" (or (getenv "TMPDIR") "/tmp") (user-uid)) | ||
| 206 | "The directory in which to place the server socket.") | 207 | "The directory in which to place the server socket.") |
| 207 | 208 | ||
| 208 | (defun server-clients-with (property value) | 209 | (defun server-clients-with (property value) |