[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