diff options
| author | Stefan Monnier | 2006-05-16 06:53:01 +0000 |
|---|---|---|
| committer | Stefan Monnier | 2006-05-16 06:53:01 +0000 |
| commit | 2e8457a0046f0a3e044e54a8d947257136cb7b04 (patch) | |
| tree | d0eaf624fad7c5037ac97d1d550d41288396db3c | |
| parent | 1d0ec0d176dbd3af505a5ea4adb023d1a66ac700 (diff) | |
| download | emacs-2e8457a0046f0a3e044e54a8d947257136cb7b04.tar.gz emacs-2e8457a0046f0a3e044e54a8d947257136cb7b04.zip | |
(server-start): Only create a directory if needed.
(server-edit, server-unload-hook): server-start => server-mode.
(kill-emacs-hook): Cleanup upon exit.
| -rw-r--r-- | lisp/ChangeLog | 6 | ||||
| -rw-r--r-- | lisp/server.el | 12 |
2 files changed, 13 insertions, 5 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 8045b76a338..4e9968c0d35 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2006-05-16 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * server.el (server-start): Only create a directory if needed. | ||
| 4 | (server-edit, server-unload-hook): server-start => server-mode. | ||
| 5 | (kill-emacs-hook): Cleanup upon exit. | ||
| 6 | |||
| 1 | 2006-05-15 Stefan Monnier <monnier@iro.umontreal.ca> | 7 | 2006-05-15 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 8 | ||
| 3 | * hexl.el (hexlify-buffer): Encode process arguments manually. | 9 | * hexl.el (hexlify-buffer): Encode process arguments manually. |
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\". | |||
| 252 | 252 | ||
| 253 | Prefix arg means just kill any existing server communications subprocess." | 253 | Prefix arg means just kill any existing server communications subprocess." |
| 254 | (interactive "P") | 254 | (interactive "P") |
| 255 | ;; Make sure there is a safe directory in which to place the socket. | ||
| 256 | (server-ensure-safe-dir server-socket-dir) | ||
| 257 | ;; kill it dead! | 255 | ;; kill it dead! |
| 258 | (if server-process | 256 | (if server-process |
| 259 | (condition-case () (delete-process server-process) (error nil))) | 257 | (condition-case () (delete-process server-process) (error nil))) |
| @@ -265,7 +263,10 @@ Prefix arg means just kill any existing server communications subprocess." | |||
| 265 | (while server-clients | 263 | (while server-clients |
| 266 | (let ((buffer (nth 1 (car server-clients)))) | 264 | (let ((buffer (nth 1 (car server-clients)))) |
| 267 | (server-buffer-done buffer))) | 265 | (server-buffer-done buffer))) |
| 266 | ;; Now any previous server is properly stopped. | ||
| 268 | (unless leave-dead | 267 | (unless leave-dead |
| 268 | ;; Make sure there is a safe directory in which to place the socket. | ||
| 269 | (server-ensure-safe-dir server-socket-dir) | ||
| 269 | (if server-process | 270 | (if server-process |
| 270 | (server-log (message "Restarting server"))) | 271 | (server-log (message "Restarting server"))) |
| 271 | (letf (((default-file-modes) ?\700)) | 272 | (letf (((default-file-modes) ?\700)) |
| @@ -578,7 +579,7 @@ starts server process and that is all. Invoked by \\[server-edit]." | |||
| 578 | (if (or arg | 579 | (if (or arg |
| 579 | (not server-process) | 580 | (not server-process) |
| 580 | (memq (process-status server-process) '(signal exit))) | 581 | (memq (process-status server-process) '(signal exit))) |
| 581 | (server-start nil) | 582 | (server-mode 1) |
| 582 | (apply 'server-switch-buffer (server-done)))) | 583 | (apply 'server-switch-buffer (server-done)))) |
| 583 | 584 | ||
| 584 | (defun server-switch-buffer (&optional next-buffer killed-one) | 585 | (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." | |||
| 637 | (define-key ctl-x-map "#" 'server-edit) | 638 | (define-key ctl-x-map "#" 'server-edit) |
| 638 | 639 | ||
| 639 | (defun server-unload-hook () | 640 | (defun server-unload-hook () |
| 640 | (server-start t) | 641 | (server-mode -1) |
| 641 | (remove-hook 'kill-buffer-query-functions 'server-kill-buffer-query-function) | 642 | (remove-hook 'kill-buffer-query-functions 'server-kill-buffer-query-function) |
| 642 | (remove-hook 'kill-emacs-query-functions 'server-kill-emacs-query-function) | 643 | (remove-hook 'kill-emacs-query-functions 'server-kill-emacs-query-function) |
| 643 | (remove-hook 'kill-buffer-hook 'server-kill-buffer)) | 644 | (remove-hook 'kill-buffer-hook 'server-kill-buffer)) |
| 644 | 645 | ||
| 646 | (add-hook 'kill-emacs-hook (lambda () (server-mode -1))) ;Cleanup upon exit. | ||
| 645 | (add-hook 'server-unload-hook 'server-unload-hook) | 647 | (add-hook 'server-unload-hook 'server-unload-hook) |
| 646 | 648 | ||
| 647 | (provide 'server) | 649 | (provide 'server) |
| 648 | 650 | ||
| 649 | ;;; arch-tag: 1f7ecb42-f00a-49f8-906d-61995d84c8d6 | 651 | ;; arch-tag: 1f7ecb42-f00a-49f8-906d-61995d84c8d6 |
| 650 | ;;; server.el ends here | 652 | ;;; server.el ends here |