Mercurial > emacs
comparison lisp/server.el @ 83517:b6689e223e2f
Merged from emacs@sv.gnu.org
Patches applied:
* emacs@sv.gnu.org/emacs--devo--0--patch-273
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-274
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-275
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-276
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-277
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-278
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-279
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-280
Update etc/MORE.STUFF.
* emacs@sv.gnu.org/emacs--devo--0--patch-281
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-282
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-283
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-284
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-101
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-557
author | Karoly Lorentey <lorentey@elte.hu> |
---|---|
date | Wed, 17 May 2006 18:05:02 +0000 |
parents | 1321f6cfb389 06de67179ba1 |
children | 46b1096093f5 |
comparison
equal
deleted
inserted
replaced
83516:1321f6cfb389 | 83517:b6689e223e2f |
---|---|
413 (yes-or-no-p | 413 (yes-or-no-p |
414 "The current server still has clients; delete them? ")) | 414 "The current server still has clients; delete them? ")) |
415 ;; It is safe to get the user id now. | 415 ;; It is safe to get the user id now. |
416 (setq server-socket-dir (or server-socket-dir | 416 (setq server-socket-dir (or server-socket-dir |
417 (format "/tmp/emacs%d" (user-uid)))) | 417 (format "/tmp/emacs%d" (user-uid)))) |
418 ;; Make sure there is a safe directory in which to place the socket. | |
419 (server-ensure-safe-dir server-socket-dir) | |
420 ;; kill it dead! | 418 ;; kill it dead! |
421 (if server-process | 419 (if server-process |
422 (condition-case () (delete-process server-process) (error nil))) | 420 (condition-case () (delete-process server-process) (error nil))) |
423 ;; Delete the socket files made by previous server invocations. | 421 ;; Delete the socket files made by previous server invocations. |
424 (condition-case () | 422 (condition-case () |
425 (delete-file (expand-file-name server-name server-socket-dir)) | 423 (delete-file (expand-file-name server-name server-socket-dir)) |
426 (error nil)) | 424 (error nil)) |
427 ;; If this Emacs already had a server, clear out associated status. | 425 ;; If this Emacs already had a server, clear out associated status. |
428 (while server-clients | 426 (while server-clients |
429 (server-delete-client (car server-clients))) | 427 (server-delete-client (car server-clients))) |
428 ;; Now any previous server is properly stopped. | |
430 (if leave-dead | 429 (if leave-dead |
431 (progn | 430 (progn |
432 (server-log (message "Server stopped")) | 431 (server-log (message "Server stopped")) |
433 (setq server-process nil)) | 432 (setq server-process nil)) |
433 ;; Make sure there is a safe directory in which to place the socket. | |
434 (server-ensure-safe-dir server-socket-dir) | |
434 (if server-process | 435 (if server-process |
435 (server-log (message "Restarting server")) | 436 (server-log (message "Restarting server")) |
436 (server-log (message "Starting server"))) | 437 (server-log (message "Starting server"))) |
437 (letf (((default-file-modes) ?\700)) | 438 (letf (((default-file-modes) ?\700)) |
438 (add-hook 'suspend-tty-functions 'server-handle-suspend-tty) | 439 (add-hook 'suspend-tty-functions 'server-handle-suspend-tty) |
1026 starts server process and that is all. Invoked by \\[server-edit]." | 1027 starts server process and that is all. Invoked by \\[server-edit]." |
1027 (interactive "P") | 1028 (interactive "P") |
1028 (if (or arg | 1029 (if (or arg |
1029 (not server-process) | 1030 (not server-process) |
1030 (memq (process-status server-process) '(signal exit))) | 1031 (memq (process-status server-process) '(signal exit))) |
1031 (server-start nil) | 1032 (server-mode 1) |
1032 (apply 'server-switch-buffer (server-done)))) | 1033 (apply 'server-switch-buffer (server-done)))) |
1033 | 1034 |
1034 (defun server-switch-buffer (&optional next-buffer killed-one) | 1035 (defun server-switch-buffer (&optional next-buffer killed-one) |
1035 "Switch to another buffer, preferably one that has a client. | 1036 "Switch to another buffer, preferably one that has a client. |
1036 Arg NEXT-BUFFER is a suggestion; if it is a live buffer, use it. | 1037 Arg NEXT-BUFFER is a suggestion; if it is a live buffer, use it. |
1112 | 1113 |
1113 (define-key ctl-x-map "#" 'server-edit) | 1114 (define-key ctl-x-map "#" 'server-edit) |
1114 | 1115 |
1115 (defun server-unload-hook () | 1116 (defun server-unload-hook () |
1116 "Unload the server library." | 1117 "Unload the server library." |
1117 (server-start t) | 1118 (server-mode -1) |
1118 (remove-hook 'suspend-tty-functions 'server-handle-suspend-tty) | 1119 (remove-hook 'suspend-tty-functions 'server-handle-suspend-tty) |
1119 (remove-hook 'delete-frame-functions 'server-handle-delete-frame) | 1120 (remove-hook 'delete-frame-functions 'server-handle-delete-frame) |
1120 (remove-hook 'kill-buffer-query-functions 'server-kill-buffer-query-function) | 1121 (remove-hook 'kill-buffer-query-functions 'server-kill-buffer-query-function) |
1121 (remove-hook 'kill-emacs-query-functions 'server-kill-emacs-query-function) | 1122 (remove-hook 'kill-emacs-query-functions 'server-kill-emacs-query-function) |
1122 (remove-hook 'kill-buffer-hook 'server-kill-buffer)) | 1123 (remove-hook 'kill-buffer-hook 'server-kill-buffer)) |
1123 | 1124 |
1125 (add-hook 'kill-emacs-hook (lambda () (server-mode -1))) ;Cleanup upon exit. | |
1124 (add-hook 'server-unload-hook 'server-unload-hook) | 1126 (add-hook 'server-unload-hook 'server-unload-hook) |
1125 | 1127 |
1126 (provide 'server) | 1128 (provide 'server) |
1127 | 1129 |
1128 ;;; arch-tag: 1f7ecb42-f00a-49f8-906d-61995d84c8d6 | 1130 ;; arch-tag: 1f7ecb42-f00a-49f8-906d-61995d84c8d6 |
1129 ;;; server.el ends here | 1131 ;;; server.el ends here |