From 968ef9b4dae78c5badd7f377b26519c8840823e7 Mon Sep 17 00:00:00 2001 From: Juanma Barranquero Date: Thu, 30 Sep 2010 04:53:26 +0200 Subject: [PATCH] lisp/server.el: Use just one way to pass the Emacs PID to emacsclient. * lib-src/emacsclient.c (get_server_config): Don't read Emacs pid from the authentication file. * lisp/server.el (server-start): Don't write pid to the authentication file. (server-create-tty-frame): Don't send pid. (server-process-filter): Send pid at the start of every connection. --- lib-src/ChangeLog | 5 +++++ lib-src/emacsclient.c | 13 +++---------- lisp/ChangeLog | 6 ++++++ lisp/server.el | 7 +++---- 4 files changed, 17 insertions(+), 14 deletions(-) diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 2c386257c1..33036c92ff 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -1,3 +1,8 @@ +2010-09-30 Juanma Barranquero + + * emacsclient.c (get_server_config): Don't read Emacs pid from + the authentication file. + 2010-09-29 Juanma Barranquero * makefile.w32-in (../src/config.h): Remove target, it is stale. diff --git a/lib-src/emacsclient.c b/lib-src/emacsclient.c index 1f96c48112..4d8a835e56 100644 --- a/lib-src/emacsclient.c +++ b/lib-src/emacsclient.c @@ -910,14 +910,13 @@ initialize_sockets (void) /* * Read the information needed to set up a TCP comm channel with - * the Emacs server: host, port, pid and authentication string. + * the Emacs server: host, port, and authentication string. */ int get_server_config (struct sockaddr_in *server, char *authentication) { char dotted[32]; char *port; - char *pid; FILE *config = NULL; if (file_name_absolute_p (server_file)) @@ -948,12 +947,8 @@ get_server_config (struct sockaddr_in *server, char *authentication) return FALSE; if (fgets (dotted, sizeof dotted, config) - && (port = strchr (dotted, ':')) - && (pid = strchr (port, ' '))) - { - *port++ = '\0'; - *pid++ = '\0'; - } + && (port = strchr (dotted, ':'))) + *port++ = '\0'; else { message (TRUE, "%s: invalid configuration info\n", progname); @@ -972,8 +967,6 @@ get_server_config (struct sockaddr_in *server, char *authentication) fclose (config); - emacs_pid = atoi (pid); - return TRUE; } diff --git a/lisp/ChangeLog b/lisp/ChangeLog index c19eaaf9dc..a5d171744e 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2010-09-30 Juanma Barranquero + + * server.el (server-start): Don't write pid to the authentication file. + (server-create-tty-frame): Don't send pid. + (server-process-filter): Send pid at the start of every connection. + 2010-09-30 Glenn Morris * calendar/diary-lib.el (view-diary-entries, list-diary-entries) diff --git a/lisp/server.el b/lisp/server.el index 3a48efed7d..87250fd3aa 100644 --- a/lisp/server.el +++ b/lisp/server.el @@ -586,7 +586,6 @@ server or call `M-x server-force-delete' to forcibly disconnect it.") (setq buffer-file-coding-system 'no-conversion) (insert (format-network-address (process-contact server-process :local)) - " " (int-to-string (emacs-pid)) "\n" auth-key))))))))) ;;;###autoload @@ -706,9 +705,6 @@ Server mode runs a process that accepts commands from the ;; Display *scratch* by default. (switch-to-buffer (get-buffer-create "*scratch*") 'norecord) - ;; Reply with our pid. - (server-send-string proc (concat "-emacs-pid " - (number-to-string (emacs-pid)) "\n")) frame)) (defun server-create-window-system-frame (display nowait proc parent-id) @@ -889,6 +885,9 @@ The following commands are accepted by the client: (condition-case err (progn (server-add-client proc) + ;; Send our pid + (server-send-string proc (concat "-emacs-pid " + (number-to-string (emacs-pid)) "\n")) (if (not (string-match "\n" string)) ;; Save for later any partial line that remains. (when (> (length string) 0) -- 2.20.1