diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2006-05-16 06:53:01 +0000 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2006-05-16 06:53:01 +0000 |
commit | 2e8457a0046f0a3e044e54a8d947257136cb7b04 (patch) | |
tree | d0eaf624fad7c5037ac97d1d550d41288396db3c /lisp/server.el | |
parent | 1d0ec0d176dbd3af505a5ea4adb023d1a66ac700 (diff) |
(server-start): Only create a directory if needed.
(server-edit, server-unload-hook): server-start => server-mode.
(kill-emacs-hook): Cleanup upon exit.
Diffstat (limited to 'lisp/server.el')
-rw-r--r-- | lisp/server.el | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/lisp/server.el b/lisp/server.el index 43b2dc63389..d20caf34f79 100644 --- a/lisp/server.el +++ b/lisp/server.el @@ -252,8 +252,6 @@ Emacs distribution as your standard \"editor\". Prefix arg means just kill any existing server communications subprocess." (interactive "P") - ;; Make sure there is a safe directory in which to place the socket. - (server-ensure-safe-dir server-socket-dir) ;; kill it dead! (if server-process (condition-case () (delete-process server-process) (error nil))) @@ -265,7 +263,10 @@ Prefix arg means just kill any existing server communications subprocess." (while server-clients (let ((buffer (nth 1 (car server-clients)))) (server-buffer-done buffer))) + ;; Now any previous server is properly stopped. (unless leave-dead + ;; Make sure there is a safe directory in which to place the socket. + (server-ensure-safe-dir server-socket-dir) (if server-process (server-log (message "Restarting server"))) (letf (((default-file-modes) ?\700)) @@ -578,7 +579,7 @@ starts server process and that is all. Invoked by \\[server-edit]." (if (or arg (not server-process) (memq (process-status server-process) '(signal exit))) - (server-start nil) + (server-mode 1) (apply 'server-switch-buffer (server-done)))) (defun server-switch-buffer (&optional next-buffer killed-one) @@ -637,14 +638,15 @@ Arg NEXT-BUFFER is a suggestion; if it is a live buffer, use it." (define-key ctl-x-map "#" 'server-edit) (defun server-unload-hook () - (server-start t) + (server-mode -1) (remove-hook 'kill-buffer-query-functions 'server-kill-buffer-query-function) (remove-hook 'kill-emacs-query-functions 'server-kill-emacs-query-function) (remove-hook 'kill-buffer-hook 'server-kill-buffer)) +(add-hook 'kill-emacs-hook (lambda () (server-mode -1))) ;Cleanup upon exit. (add-hook 'server-unload-hook 'server-unload-hook) (provide 'server) -;;; arch-tag: 1f7ecb42-f00a-49f8-906d-61995d84c8d6 +;; arch-tag: 1f7ecb42-f00a-49f8-906d-61995d84c8d6 ;;; server.el ends here |