From b768cdcd31e941af9a1ddce45da7e1482b494e77 Mon Sep 17 00:00:00 2001 From: Juanma Barranquero Date: Tue, 5 Jul 2011 00:40:03 +0200 Subject: [PATCH] lisp/server.el: Catch quit and close the connection (bug#8942). --- lisp/ChangeLog | 6 ++++++ lisp/server.el | 5 ++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 71fc929308b..6ec351d98c5 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2011-07-04 Juanma Barranquero + + * server.el (server-execute): Catch quit and call + `server-return-error' to pass the error back to emacsclient and + close the connection (bug#8942). + 2011-07-04 Ken Manheimer * allout.el (allout-encrypt-unencrypted-on-saves): Do not provide diff --git a/lisp/server.el b/lisp/server.el index 36b137b7bc9..c91f10b6584 100644 --- a/lisp/server.el +++ b/lisp/server.el @@ -1153,7 +1153,10 @@ The following commands are accepted by the client: "When done with a buffer, type \\[server-edit]"))))) (when (and frame (null tty-name)) (server-unselect-display frame))) - (error (server-return-error proc err))))) + ((quit error) + (when (eq (car err) 'quit) + (message "Quit emacsclient request")) + (server-return-error proc err))))) (defun server-return-error (proc err) (ignore-errors -- 2.39.2