[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r106477: * lisp/server.el (server-eva
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r106477: * lisp/server.el (server-eval-and-print): Allow C-g. |
Date: |
Tue, 22 Nov 2011 10:18:56 -0500 |
User-agent: |
Bazaar (2.3.1) |
------------------------------------------------------------
revno: 106477
fixes bug(s): http://debbugs.gnu.org/cgi/bugreport.cgi?bug=6585
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Tue 2011-11-22 10:18:56 -0500
message:
* lisp/server.el (server-eval-and-print): Allow C-g.
modified:
lisp/ChangeLog
lisp/server.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog 2011-11-22 02:55:06 +0000
+++ b/lisp/ChangeLog 2011-11-22 15:18:56 +0000
@@ -1,3 +1,7 @@
+2011-11-22 Stefan Monnier <address@hidden>
+
+ * server.el (server-eval-and-print): Allow C-g (bug#6585).
+
2011-11-22 Glenn Morris <address@hidden>
* mail/rmailmm.el (test-rmail-mime-handler)
=== modified file 'lisp/server.el'
--- a/lisp/server.el 2011-10-19 12:54:24 +0000
+++ b/lisp/server.el 2011-11-22 15:18:56 +0000
@@ -685,7 +685,14 @@
(defun server-eval-and-print (expr proc)
"Eval EXPR and send the result back to client PROC."
- (let ((v (eval (car (read-from-string expr)))))
+ ;; While we're running asynchronously (from a process filter), it is likely
+ ;; that the emacsclient command was run in response to a user
+ ;; action, so the user probably knows that Emacs is processing this
+ ;; emacsclient request, so if we get a C-g it's likely that the user
+ ;; intended it to interrupt us rather than interrupt whatever Emacs
+ ;; was doing before it started handling the process filter.
+ ;; Hence `with-local-quit' (bug#6585).
+ (let ((v (with-local-quit (eval (car (read-from-string expr))))))
(when proc
(with-temp-buffer
(let ((standard-output (current-buffer)))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r106477: * lisp/server.el (server-eval-and-print): Allow C-g.,
Stefan Monnier <=