[slime-cvs] CVS slime
CVS User heller
heller at common-lisp.net
Wed Dec 7 18:27:17 UTC 2011
Update of /project/slime/cvsroot/slime
In directory tiger.common-lisp.net:/tmp/cvs-serv12530
Modified Files:
ChangeLog swank.lisp
Log Message:
* swank.lisp (send-to-emacs): Add a without-slime-interrupts to
protect send/receive from arbitrary interrupts.
--- /project/slime/cvsroot/slime/ChangeLog 2011/12/07 18:02:31 1.2276
+++ /project/slime/cvsroot/slime/ChangeLog 2011/12/07 18:27:17 1.2277
@@ -1,5 +1,10 @@
2011-12-07 Helmut Eller <heller at common-lisp.net>
+ * swank.lisp (send-to-emacs): Add a without-slime-interrupts to
+ protect send/receive from arbitrary interrupts.
+
+2011-12-07 Helmut Eller <heller at common-lisp.net>
+
Move flow control from dispatch-event to send-to-emacs.
* swank.lisp (*send-counter*): New thread local variable.
--- /project/slime/cvsroot/slime/swank.lisp 2011/12/07 18:02:31 1.773
+++ /project/slime/cvsroot/slime/swank.lisp 2011/12/07 18:27:17 1.774
@@ -1016,14 +1016,15 @@
(defun send-to-emacs (event)
"Send EVENT to Emacs."
;;(log-event "send-to-emacs: ~a" event)
- (let ((c *emacs-connection*))
- (etypecase c
- (multithreaded-connection
- (send (mconn.control-thread c) event))
- (singlethreaded-connection
- (dispatch-event c event)))
- (maybe-slow-down)))
-
+ (without-slime-interrupts
+ (let ((c *emacs-connection*))
+ (etypecase c
+ (multithreaded-connection
+ (send (mconn.control-thread c) event))
+ (singlethreaded-connection
+ (dispatch-event c event)))
+ (maybe-slow-down))))
+
;;;;;; Flow control
@@ -2084,7 +2085,7 @@
Use this function for informative messages only. The message may even
be dropped if we are too busy with other things."
(when *emacs-connection*
- (send-to-emacs `(:background-message
+ (send-to-emacs `(:background-message
,(apply #'format nil format-string args)))))
;; This is only used by the test suite.
@@ -3692,8 +3693,7 @@
(lambda (string)
(declare (ignore string))
(with-connection (conn)
- (progn ;without-slime-interrupts
- (send-to-emacs `(:test-delay ,delay)))))))))
+ (send-to-emacs `(:test-delay ,delay))))))))
(dotimes (i n)
(print i stream)
(force-output stream)
More information about the slime-cvs
mailing list