aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2006-05-16 06:53:01 +0000
committerStefan Monnier2006-05-16 06:53:01 +0000
commit2e8457a0046f0a3e044e54a8d947257136cb7b04 (patch)
treed0eaf624fad7c5037ac97d1d550d41288396db3c
parent1d0ec0d176dbd3af505a5ea4adb023d1a66ac700 (diff)
downloademacs-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/ChangeLog6
-rw-r--r--lisp/server.el12
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 @@
12006-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
12006-05-15 Stefan Monnier <monnier@iro.umontreal.ca> 72006-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
253Prefix arg means just kill any existing server communications subprocess." 253Prefix 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