diff options
author | Juanma Barranquero <lekktu@gmail.com> | 2011-07-05 00:40:03 +0200 |
---|---|---|
committer | Juanma Barranquero <lekktu@gmail.com> | 2011-07-05 00:40:03 +0200 |
commit | b768cdcd31e941af9a1ddce45da7e1482b494e77 (patch) | |
tree | fe21db239bf1976cf04ca0618db166364822d7a3 | |
parent | 13aa217bacf43ef70b68e5287e714366e77ae61d (diff) | |
download | emacs-b768cdcd31e941af9a1ddce45da7e1482b494e77.tar.gz |
lisp/server.el: Catch quit and close the connection (bug#8942).
-rw-r--r-- | lisp/ChangeLog | 6 | ||||
-rw-r--r-- | lisp/server.el | 5 |
2 files changed, 10 insertions, 1 deletions
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 <lekktu@gmail.com> + + * 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 <ken.manheimer@gmail.com> * 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 |