[slime-cvs] CVS update: slime/swank.lisp

Helmut Eller heller at common-lisp.net
Fri Nov 19 01:13:09 UTC 2004


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

Modified Files:
	swank.lisp 
Log Message:
(inspect-for-emacs array): Use row-major-aref instead of a displaced
array.  I that's the same.

(inspect-for-emacs integer): Ignore errors in decode-universal-time.
Negative values and in SBCL also small values cannot be decoded.

(list-threads): Include the thread-id. Useful for SLIME debugging.






Date: Fri Nov 19 02:13:07 2004
Author: heller

Index: slime/swank.lisp
diff -u slime/swank.lisp:1.262 slime/swank.lisp:1.263
--- slime/swank.lisp:1.262	Thu Nov 18 18:34:55 2004
+++ slime/swank.lisp	Fri Nov 19 02:13:05 2004
@@ -2659,13 +2659,8 @@
            (when (array-has-fill-pointer-p array)
              (label-value-line "Fill pointer" (fill-pointer array)))
            '("Contents:" (:newline))
-           (let ((darray (make-array (array-total-size array)
-                                     :element-type (array-element-type array)
-                                     :displaced-to array
-                                     :displaced-index-offset 0)))
-             (loop for e across darray 
-                   for i from 0
-                   append (label-value-line i e))))))
+           (loop for i below (array-total-size array)
+                 append (label-value-line i (row-major-aref array i))))))
 
 (defmethod inspect-for-emacs ((char character) inspector)
   (declare (ignore inspector))
@@ -3060,11 +3055,12 @@
            (if (< -1 i char-code-limit)
                (label-value-line "Corresponding character" (code-char i)))
            (label-value-line "Length" (integer-length i))
-           (list "As time: " 
-                 (multiple-value-bind (sec min hour date month year)
-                     (decode-universal-time i)
-                   (format nil "~4,'0D-~2,'0D-~2,'0DT~2,'0D:~2,'0D:~2,'0DZ"
-                           year month date hour min sec))))))
+           (ignore-errors
+             (list "As time: " 
+                   (multiple-value-bind (sec min hour date month year)
+                       (decode-universal-time i)
+                     (format nil "~4,'0D-~2,'0D-~2,'0DT~2,'0D:~2,'0D:~2,'0DZ"
+                             year month date hour min sec)))))))
 
 (defmethod inspect-for-emacs ((c complex) inspector)
   (declare (ignore inspector))
@@ -3226,7 +3222,8 @@
   (setq *thread-list* (all-threads))
   (loop for thread in  *thread-list* 
         collect (list (thread-name thread)
-                      (thread-status thread))))
+                      (thread-status thread)
+                      (thread-id thread))))
 
 (defslimefun quit-thread-browser ()
   (setq *thread-list* nil))





More information about the slime-cvs mailing list