aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2011-11-22 10:18:56 -0500
committerStefan Monnier2011-11-22 10:18:56 -0500
commit28109f49967302bec7f1a96e8460c75244f55419 (patch)
tree489eedad043398a70611264fadab51a23c1c81fd
parentb5afc20930c91159a1cbf629bcaa7e251653dc74 (diff)
downloademacs-28109f49967302bec7f1a96e8460c75244f55419.tar.gz
emacs-28109f49967302bec7f1a96e8460c75244f55419.zip
* lisp/server.el (server-eval-and-print): Allow C-g.
Fixes: debbugs:6585
-rw-r--r--lisp/ChangeLog4
-rw-r--r--lisp/server.el9
2 files changed, 12 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 37ecd3e6852..b30f9dcfab5 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,7 @@
12011-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * server.el (server-eval-and-print): Allow C-g (bug#6585).
4
12011-11-22 Glenn Morris <rgm@gnu.org> 52011-11-22 Glenn Morris <rgm@gnu.org>
2 6
3 * mail/rmailmm.el (test-rmail-mime-handler) 7 * mail/rmailmm.el (test-rmail-mime-handler)
diff --git a/lisp/server.el b/lisp/server.el
index bc989c55ed1..e02f63a8268 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -685,7 +685,14 @@ Server mode runs a process that accepts commands from the
685 685
686(defun server-eval-and-print (expr proc) 686(defun server-eval-and-print (expr proc)
687 "Eval EXPR and send the result back to client PROC." 687 "Eval EXPR and send the result back to client PROC."
688 (let ((v (eval (car (read-from-string expr))))) 688 ;; While we're running asynchronously (from a process filter), it is likely
689 ;; that the emacsclient command was run in response to a user
690 ;; action, so the user probably knows that Emacs is processing this
691 ;; emacsclient request, so if we get a C-g it's likely that the user
692 ;; intended it to interrupt us rather than interrupt whatever Emacs
693 ;; was doing before it started handling the process filter.
694 ;; Hence `with-local-quit' (bug#6585).
695 (let ((v (with-local-quit (eval (car (read-from-string expr))))))
689 (when proc 696 (when proc
690 (with-temp-buffer 697 (with-temp-buffer
691 (let ((standard-output (current-buffer))) 698 (let ((standard-output (current-buffer)))