emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs/lisp proced.el


From: Roland Winkler
Subject: [Emacs-diffs] emacs/lisp proced.el
Date: Sun, 14 Dec 2008 17:31:35 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Roland Winkler <winkler>        08/12/14 17:31:35

Modified files:
        lisp           : proced.el 

Log message:
        (proced-auto-update-interval): Renamed from proced-timer-interval.
        (proced-auto-update-flag): Renamed from proced-timer-flag.
        (proced-auto-update-timer): Renamed from proced-timer.
        (proced-toggle-auto-update): Renamed from proced-toggle-timer-flag.
        (proced-available): Initialize appropriately.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/proced.el?cvsroot=emacs&r1=1.23&r2=1.24

Patches:
Index: proced.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/proced.el,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -b -r1.23 -r1.24
--- proced.el   20 Nov 2008 02:43:29 -0000      1.23
+++ proced.el   14 Dec 2008 17:31:34 -0000      1.24
@@ -33,6 +33,19 @@
 ;;
 ;; Wishlist
 ;; - tree view like pstree(1)
+;;
+;; Thoughts and Ideas
+;; - Currently, `system-process-attributes' returns the list of
+;;   command-line arguments of a process as one concatenated string.
+;;   This format is compatible with `shell-command'.  Also, under
+;;   MS-Windows, the command-line arguments are actually stored as a
+;;   single string, so that it is impossible to reverse-engineer it back
+;;   into separate arguments.  Alternatively, `system-process-attributes'
+;;   could (try to) return a list of strings that correspond to individual
+;;   command-line arguments.  Then one could feed such a list of
+;;   command-line arguments into `call-process' or `start-process'.
+;;   Are there real-world applications when such a feature would be useful?
+;;   What about something like `proced-restart-pid'?
 
 ;;; Code:
 
@@ -291,17 +304,17 @@
   :type '(choice (const :tag "none" nil)
                  (symbol :tag "key")))
 
-(defcustom proced-timer-interval 5
+(defcustom proced-auto-update-interval 5
   "Time interval in seconds for auto updating Proced buffers."
   :group 'proced
   :type 'integer)
 
-(defcustom proced-timer-flag nil
+(defcustom proced-auto-update-flag nil
   "Non-nil for auto update of a Proced buffer.
-Can be changed interactively via `proced-toggle-timer-flag'."
+Can be changed interactively via `proced-toggle-auto-update'."
   :group 'proced
   :type 'boolean)
-(make-variable-buffer-local 'proced-timer-flag)
+(make-variable-buffer-local 'proced-auto-update-flag)
 
 ;; Internal variables
 
@@ -350,8 +363,8 @@
 (defvar proced-process-tree nil
   "Process tree of listing (internal variable).")
 
-(defvar proced-timer nil
-  "Stores if Proced timer is already installed.")
+(defvar proced-auto-update-timer nil
+  "Stores if Proced auto update timer is already installed.")
 
 (defvar proced-log-buffer "*Proced log*"
   "Name of Proced Log buffer.")
@@ -481,9 +494,9 @@
     "--"
     ["Revert" revert-buffer
      :help "Revert Process Listing"]
-    ["Auto Update" proced-toggle-timer-flag
+    ["Auto Update" proced-toggle-auto-update
      :style radio
-     :selected (eval proced-timer-flag)
+     :selected (eval proced-auto-update-flag)
      :help "Auto Update of Proced Buffer"]
     ["Send signal" proced-send-signal
      :help "Send Signal to Marked Processes"]))
@@ -570,16 +583,17 @@
   (set (make-local-variable 'revert-buffer-function) 'proced-revert)
   (set (make-local-variable 'font-lock-defaults)
        '(proced-font-lock-keywords t nil nil beginning-of-line))
-  (if (and (not proced-timer) proced-timer-interval)
-      (setq proced-timer
-            (run-at-time t proced-timer-interval 'proced-timer))))
-
-(defvar proced-available nil
-  "Non-nil means Proced is known to work on this system.")
+  (if (and (not proced-auto-update-timer) proced-auto-update-interval)
+      (setq proced-auto-update-timer
+            (run-at-time t proced-auto-update-interval
+                         'proced-auto-update-timer))))
 
 ;; Proced mode is suitable only for specially formatted data.
 (put 'proced-mode 'mode-class 'special)
 
+(defvar proced-available (not (null (list-system-processes)))
+  "Non-nil means Proced is known to work on this system.")
+
 ;;;###autoload
 (defun proced (&optional arg)
   "Generate a listing of UNIX system processes.
@@ -588,8 +602,7 @@
 
 See `proced-mode' for a description of features available in Proced buffers."
   (interactive "P")
-  (or proced-available
-      (setq proced-available (not (null (list-system-processes))))
+  (unless proced-available
       (error "Proced is not available on this system"))
   (let ((buffer (get-buffer-create "*Proced*")) new)
     (set-buffer buffer)
@@ -604,25 +617,26 @@
        (substitute-command-keys
         "Type \\<proced-mode-map>\\[quit-window] to quit, \\[proced-help] for 
help")))))
 
-(defun proced-timer ()
+(defun proced-auto-update-timer ()
   "Auto-update Proced buffers using `run-at-time'."
   (dolist (buf (buffer-list))
     (with-current-buffer buf
       (if (and (eq major-mode 'proced-mode)
-               proced-timer-flag)
+               proced-auto-update-flag)
           (proced-update t t)))))
 
-(defun proced-toggle-timer-flag (arg)
+(defun proced-toggle-auto-update (arg)
   "Change whether this Proced buffer is updated automatically.
 With prefix ARG, update this buffer automatically if ARG is positive,
-otherwise do not update.  Sets the variable `proced-timer-flag'.
-The time interval for updates is specified via `proced-timer-interval'."
+otherwise do not update.  Sets the variable `proced-auto-update-flag'.
+The time interval for updates is specified via `proced-auto-update-interval'."
   (interactive (list (or current-prefix-arg 'toggle)))
-  (setq proced-timer-flag
-        (cond ((eq arg 'toggle) (not proced-timer-flag))
+  (setq proced-auto-update-flag
+        (cond ((eq arg 'toggle) (not proced-auto-update-flag))
               (arg (> (prefix-numeric-value arg) 0))
-              (t (not proced-timer-flag))))
-  (message "`proced-timer-flag' set to %s" proced-timer-flag))
+              (t (not proced-auto-update-flag))))
+  (message "Proced auto update %s"
+           (if proced-auto-update-flag "enabled" "disabled")))
 
 (defun proced-mark (&optional count)
   "Mark the current (or next COUNT) processes."




reply via email to

[Prev in Thread] Current Thread [Next in Thread]