# HG changeset patch # User Stefan Monnier # Date 1190167254 0 # Node ID f539dbd0a615201940ecdcb609937f041ab94691 # Parent a5e09adf5e2ef15669051aa9d2c7854b29297d2b (server-running-p): New function. diff -r a5e09adf5e2e -r f539dbd0a615 lisp/ChangeLog --- a/lisp/ChangeLog Tue Sep 18 22:18:09 2007 +0000 +++ b/lisp/ChangeLog Wed Sep 19 02:00:54 2007 +0000 @@ -1,3 +1,7 @@ +2007-09-19 Stefan Monnier + + * server.el (server-running-p): New function. + 2007-09-18 Jason Rumney * term/w32-win.el (w32-focus-frame): Make obsolete alias for diff -r a5e09adf5e2e -r f539dbd0a615 lisp/server.el --- a/lisp/server.el Tue Sep 18 22:18:09 2007 +0000 +++ b/lisp/server.el Wed Sep 19 02:00:54 2007 +0000 @@ -391,7 +391,8 @@ (server-log (format "server-handle-suspend-tty, terminal %s" terminal) proc) (condition-case err (server-send-string proc "-suspend \n") - (file-error (ignore-errors (server-delete-client proc)))))) + (file-error ;The pipe/socket was closed. + (ignore-errors (server-delete-client proc)))))) (defun server-unquote-arg (arg) "Remove &-quotation from ARG. @@ -526,6 +527,21 @@ " " (int-to-string (emacs-pid)) "\n" auth-key))))))))) +(defun server-running-p (&optional name) + "Test whether server NAME is running." + (interactive + (list (if current-prefix-arg + (read-string "Server name: " nil nil server-name)))) + (unless name (setq name server-name)) + (condition-case nil + (progn + (delete-process + (make-network-process + :name "server-client-test" :family 'local :server nil :noquery t + :service (expand-file-name name server-socket-dir))) + t) + (file-error nil))) + ;;;###autoload (define-minor-mode server-mode "Toggle Server mode.