/[slime]/slime/swank.lisp
ViewVC logotype

Diff of /slime/swank.lisp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.650 by nsiivola, Wed Jun 24 15:33:20 2009 UTC revision 1.651 by heller, Sun Jun 28 19:15:08 2009 UTC
# Line 3595  synchronization issues (yet).  There can Line 3595  synchronization issues (yet).  There can
3595  a time.")  a time.")
3596    
3597  (defslimefun list-threads ()  (defslimefun list-threads ()
3598    "Return a list ((ID NAME STATUS DESCRIPTION) ...) of all threads."    "Return a list (LABELS (ID NAME STATUS DESCRIPTION ATTRS ...) ...).
3599    LABELS is a list of attribute names and the remaining lists are the
3600    corresponding attribute values per thread."
3601    (setq *thread-list* (all-threads))    (setq *thread-list* (all-threads))
3602    (loop for thread in  *thread-list*    (let* ((plist (thread-attributes (car *thread-list*)))
3603         for name = (thread-name thread)           (labels (loop for (key) on plist by #'cddr
3604          collect (list (thread-id thread)                         collect key)))
3605                        (if (symbolp name) (symbol-name name) name)      `((:id :name :status :description ,@labels)
3606                        (thread-status thread)        ,@(loop for thread in *thread-list*
3607                        (thread-description thread)                for name = (thread-name thread)
3608                        )))                for attributes = (thread-attributes thread)
3609                  collect (list* (thread-id thread)
3610                                 (if (symbolp name) (symbol-name name) name)
3611                                 (thread-status thread)
3612                                 (thread-description thread)
3613                                 (loop for label in labels
3614                                       collect (getf attributes label)))))))
3615    
3616  (defslimefun quit-thread-browser ()  (defslimefun quit-thread-browser ()
3617    (setq *thread-list* nil))    (setq *thread-list* nil))

Legend:
Removed from v.1.650  
changed lines
  Added in v.1.651

  ViewVC Help
Powered by ViewVC 1.1.5