]> git.eshelyaron.com Git - emacs.git/commitdiff
(proced-mode): Redefine as just the major-mode.
authorStefan Monnier <monnier@iro.umontreal.ca>
Wed, 16 Apr 2008 03:07:49 +0000 (03:07 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Wed, 16 Apr 2008 03:07:49 +0000 (03:07 +0000)
(proced): Separate it from proced-mode.

lisp/ChangeLog
lisp/proced.el

index d68feaf4bf1680e95fd782e93d01d2f94aa2b929..106ed5d2107e2f0235bec60dccdf72998e531d3f 100644 (file)
@@ -1,5 +1,8 @@
 2008-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+       * proced.el (proced-mode): Redefine as just the major-mode.
+       (proced): Separate it from proced-mode.
+
        * vc.el: Rename vc-status to vc-dir and the vc-status var to vc-ewoc.
 
 2008-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
index 743978b42e735c8e2691cfc2bddabed1b01cfc69..126efdc558705f3d588fd9c56873ece0dc01afe4 100644 (file)
@@ -227,7 +227,25 @@ Return the position of the beginning of the process name, or nil if none found."
                                               proced-command-alist)))
                             "\\s-+\\S-+")))
 
-(defun proced-mode (&optional arg)
+(define-derived-mode proced-mode nil "Proced"
+  "Mode for displaying UNIX system processes and sending signals to them.
+Type \\[proced-mark-process] to mark a process for later commands.
+Type \\[proced-send-signal] to send signals to marked processes.
+
+\\{proced-mode-map}"
+  (abbrev-mode 0)
+  (auto-fill-mode 0)
+  (setq buffer-read-only t
+        truncate-lines t)
+  (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)))
+
+;; Proced mode is suitable only for specially formatted data.
+(put 'proced-mode 'mode-class 'special)
+
+;;;###autoload
+(defun proced (&optional arg)
   "Mode for displaying UNIX system processes and sending signals to them.
 Type \\[proced-mark-process] to mark a process for later commands.
 Type \\[proced-send-signal] to send signals to marked processes.
@@ -240,18 +258,7 @@ information will be displayed but not selected.
   (let ((proced-buffer (get-buffer-create "*Process Info*")) new)
     (set-buffer proced-buffer)
     (setq new (zerop (buffer-size)))
-    (when new
-      (kill-all-local-variables)
-      (use-local-map proced-mode-map)
-      (abbrev-mode 0)
-      (auto-fill-mode 0)
-      (setq buffer-read-only t
-            truncate-lines t
-            major-mode 'proced-mode
-            mode-name "Proced")
-      (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)))
+    (when new (proced-mode))
 
     (if (or new arg)
         (proced-update))
@@ -260,14 +267,8 @@ information will be displayed but not selected.
        (display-buffer proced-buffer)
       (pop-to-buffer proced-buffer)
       (message (substitute-command-keys
-                "type \\[quit-window] to quit, \\[proced-help] for help")))
-    (if new (run-mode-hooks 'proced-mode-hook))))
+                "type \\[quit-window] to quit, \\[proced-help] for help")))))
 
-;; Proced mode is suitable only for specially formatted data.
-(put 'proced-mode 'mode-class 'special)
-
-;;;###autoload
-(defalias 'proced 'proced-mode)
 
 (defun proced-mark (&optional count)
   "Mark the current (or next COUNT) processes."