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.