Mercurial > emacs
changeset 99726:38b176122f90
(proced, proced-format-time): Doc fixes.
(proced-process-attributes): Signal an error if unsupported. (Bug#1314)
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Wed, 19 Nov 2008 08:08:28 +0000 |
parents | d067d683a1bc |
children | d21db70cb3cc |
files | lisp/proced.el |
diffstat | 1 files changed, 24 insertions(+), 21 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/proced.el Wed Nov 19 08:03:04 2008 +0000 +++ b/lisp/proced.el Wed Nov 19 08:08:28 2008 +0000 @@ -583,7 +583,7 @@ If invoked with optional ARG the window displaying the process information will be displayed but not selected. -See `proced-mode' for a descreption of features available in Proced buffers." +See `proced-mode' for a description of features available in Proced buffers." (interactive "P") (let ((buffer (get-buffer-create "*Proced*")) new) (set-buffer buffer) @@ -1074,7 +1074,7 @@ ;;; Formating (defun proced-format-time (time) - "Format time intervall TIME." + "Format time interval TIME." (let* ((ftime (float-time time)) (days (truncate ftime 86400)) (ftime (mod ftime 86400)) @@ -1233,25 +1233,28 @@ (defun proced-process-attributes () "Return alist of attributes for each system process. This alist can be customized via `proced-custom-attributes'." - (mapcar (lambda (pid) - (let* ((attributes (system-process-attributes pid)) - (utime (cdr (assq 'utime attributes))) - (stime (cdr (assq 'stime attributes))) - (cutime (cdr (assq 'cutime attributes))) - (cstime (cdr (assq 'cstime attributes))) - attr) - (setq attributes - (append (list (cons 'pid pid)) - (if (and utime stime) - (list (cons 'time (time-add utime stime)))) - (if (and cutime cstime) - (list (cons 'ctime (time-add cutime cstime)))) - attributes)) - (dolist (fun proced-custom-attributes) - (if (setq attr (funcall fun attributes)) - (push attr attributes))) - (cons pid attributes))) - (list-system-processes))) + (let ((procs (list-system-processes))) + (if procs + (mapcar (lambda (pid) + (let* ((attributes (system-process-attributes pid)) + (utime (cdr (assq 'utime attributes))) + (stime (cdr (assq 'stime attributes))) + (cutime (cdr (assq 'cutime attributes))) + (cstime (cdr (assq 'cstime attributes))) + attr) + (setq attributes + (append (list (cons 'pid pid)) + (if (and utime stime) + (list (cons 'time (time-add utime stime)))) + (if (and cutime cstime) + (list (cons 'ctime (time-add cutime cstime)))) + attributes)) + (dolist (fun proced-custom-attributes) + (if (setq attr (funcall fun attributes)) + (push attr attributes))) + (cons pid attributes))) + procs) + (error "Proced is not available on this system")))) (defun proced-update (&optional revert quiet) "Update the `proced' process information. Preserves point and marks.