[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