[slime-cvs] CVS slime

CVS User heller heller at common-lisp.net
Sun Oct 14 12:55:33 UTC 2012


Update of /project/slime/cvsroot/slime
In directory tiger.common-lisp.net:/tmp/cvs-serv17368

Modified Files:
	ChangeLog swank.lisp 
Log Message:
* swank.lisp (close-connection%): Let *debugger-hook* be nil
across the entire function to that we don't call our own debugger
if we ever get some error during CLOSE or somesuch.

--- /project/slime/cvsroot/slime/ChangeLog	2012/09/04 15:03:22	1.2349
+++ /project/slime/cvsroot/slime/ChangeLog	2012/10/14 12:55:33	1.2350
@@ -1,3 +1,8 @@
+2012-10-14  Helmut Eller  <heller at common-lisp.net>
+	* swank.lisp (close-connection%): Let *debugger-hook* be nil
+	across the entire function to that we don't call our own debugger
+	if we ever get some error during CLOSE or somesuch.
+
 2012-09-04  Stas Boukarev  <stassats at gmail.com>
 
 	* swank-loader.lisp (lisp-version-string): Add "s" to Allegro with
--- /project/slime/cvsroot/slime/swank.lisp	2012/08/04 23:48:19	1.791
+++ /project/slime/cvsroot/slime/swank.lisp	2012/10/14 12:55:33	1.792
@@ -944,32 +944,34 @@
 
 (defun close-connection% (c condition backtrace)
   (let ((*debugger-hook* nil))
-    (log-event "close-connection: ~a ...~%" condition))
-  (format *log-output* "~&;; swank:close-connection: ~A~%"
-          (escape-non-ascii (safe-condition-message condition)))
-  (stop-serving-requests c)
-  (close (connection.socket-io c))
-  (when (connection.dedicated-output c)
-    (close (connection.dedicated-output c)))
-  (setf *connections* (remove c *connections*))
-  (run-hook *connection-closed-hook* c)
-  (when (and condition (not (typep condition 'end-of-file)))
+    (log-event "close-connection: ~a ...~%" condition)
+    (format *log-output* "~&;; swank:close-connection: ~A~%"
+            (escape-non-ascii (safe-condition-message condition)))
+    (stop-serving-requests c)
+    (close (connection.socket-io c))
+    (when (connection.dedicated-output c)
+      (close (connection.dedicated-output c)))
+    (setf *connections* (remove c *connections*))
+    (run-hook *connection-closed-hook* c)
+    (when (and condition (not (typep condition 'end-of-file)))
+      (finish-output *log-output*)
+      (format *log-output* "~&;; Event history start:~%")
+      (dump-event-history *log-output*)
+      (format *log-output* "~
+;; Event history end.~%~
+;; Backtrace:~%~{~A~%~}~
+;; Connection to Emacs lost. [~%~
+;;  condition: ~A~%~
+;;  type: ~S~%~
+;;  style: ~S]~%"
+              (loop for (i f) in backtrace collect 
+                    (ignore-errors 
+                      (format nil "~d: ~a" i (escape-non-ascii f))))
+              (escape-non-ascii (safe-condition-message condition) )
+              (type-of condition)
+              (connection.communication-style c)))
     (finish-output *log-output*)
-    (format *log-output* "~&;; Event history start:~%")
-    (dump-event-history *log-output*)
-    (format *log-output* ";; Event history end.~%~
-                        ;; Backtrace:~%~{~A~%~}~
-                        ;; Connection to Emacs lost. [~%~
-                        ;;  condition: ~A~%~
-                        ;;  type: ~S~%~
-                        ;;  style: ~S]~%"
-            (loop for (i f) in backtrace collect 
-                  (ignore-errors (format nil "~d: ~a" i (escape-non-ascii f))))
-            (escape-non-ascii (safe-condition-message condition) )
-            (type-of condition)
-            (connection.communication-style c)))
-  (finish-output *log-output*)
-  (log-event "close-connection ~a ... done.~%" condition))
+    (log-event "close-connection ~a ... done.~%" condition)))
 
 ;;;;;; Thread based communication
 
@@ -3388,7 +3390,15 @@
 (defslimefun list-threads ()
   "Return a list (LABELS (ID NAME STATUS ATTRS ...) ...).
 LABELS is a list of attribute names and the remaining lists are the
-corresponding attribute values per thread."
+corresponding attribute values per thread.  
+Example: 
+  ((:id :name :status :priority)
+   (6 \"swank-indentation-cache-thread\" \"Semaphore timed wait\" 0)
+   (5 \"reader-thread\" \"Active\" 0)
+   (4 \"control-thread\" \"Semaphore timed wait\" 0)
+   (2 \"Swank Sentinel\" \"Semaphore timed wait\" 0)
+   (1 \"listener\" \"Active\" 0)
+   (0 \"Initial\" \"Sleep\" 0))"
   (setq *thread-list* (all-threads))
   (when (and *emacs-connection*
              (use-threads-p)





More information about the slime-cvs mailing list