# HG changeset patch # User Karoly Lorentey # Date 1092686056 0 # Node ID e2567214221d9f3838a8a38c7d7601d79b8253e7 # Parent bc4b91420ff4b21180ec176a6b944d437722a012 Change binding of C-x C-c to only exit emacsclient, not Emacs itself. * lisp/server.el (server-save-buffers-kill-display): New function. * lisp/files.el (ctl-x-map): Change binding of C-x C-c to server-save-buffers-kill-display. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-232 diff -r bc4b91420ff4 -r e2567214221d lisp/files.el --- a/lisp/files.el Fri Aug 13 14:48:29 2004 +0000 +++ b/lisp/files.el Mon Aug 16 19:54:16 2004 +0000 @@ -4570,7 +4570,7 @@ (define-key ctl-x-map "i" 'insert-file) (define-key esc-map "~" 'not-modified) (define-key ctl-x-map "\C-d" 'list-directory) -(define-key ctl-x-map "\C-c" 'save-buffers-kill-emacs) +(define-key ctl-x-map "\C-c" 'server-save-buffers-kill-display) (define-key ctl-x-map "\C-q" 'toggle-read-only) (define-key ctl-x-4-map "f" 'find-file-other-window) diff -r bc4b91420ff4 -r e2567214221d lisp/server.el --- a/lisp/server.el Fri Aug 13 14:48:29 2004 +0000 +++ b/lisp/server.el Mon Aug 16 19:54:16 2004 +0000 @@ -883,7 +883,20 @@ ;; a minibuffer/dedicated-window (if there's no other). (error (pop-to-buffer next-buffer))))))))) -(global-set-key "\C-x#" 'server-edit) +(defun server-save-buffers-kill-display (&optional arg) + "Offer to save each buffer, then kill the current connection. +If the current frame has no client, kill Emacs itself. + +With prefix arg, silently save all file-visiting buffers, then kill." + (interactive "P") + (let ((proc (frame-parameter (selected-frame) 'client))) + (if (and proc) + (progn + (save-some-buffers arg t) + (server-delete-client proc)) + (save-buffers-kill-emacs)))) + +(global-set-key "\C-#" 'server-edit) ;;;###autoload (defun server-getenv (variable &optional frame)