X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/b90caf50d04d2c51742054bb6b0e836f6d425203..1ddd96f5cf0b06846edd03d6b225c31206cee0b7:/lisp/proced.el diff --git a/lisp/proced.el b/lisp/proced.el index cd9255cfde..94ea579ebd 100644 --- a/lisp/proced.el +++ b/lisp/proced.el @@ -1,8 +1,8 @@ ;;; proced.el --- operate on system processes like dired -;; Copyright (C) 2008, 2009 Free Software Foundation, Inc. +;; Copyright (C) 2008-2011 Free Software Foundation, Inc. -;; Author: Roland Winkler +;; Author: Roland Winkler ;; Keywords: Processes, Unix ;; This file is part of GNU Emacs. @@ -265,8 +265,8 @@ It can also be a list of keys appearing in `proced-grammar-alist'." ;; FIXME: is there a better name for filter `user' that does not coincide ;; with an attribute key? (defcustom proced-filter-alist - `((user (user . ,(concat "\\`" (user-real-login-name) "\\'"))) - (user-running (user . ,(concat "\\`" (user-real-login-name) "\\'")) + `((user (user . ,(concat "\\`" (regexp-quote (user-real-login-name)) "\\'"))) + (user-running (user . ,(concat "\\`" (regexp-quote (user-real-login-name)) "\\'")) (state . "\\`[Rr]\\'")) (all) (all-running (state . "\\`[Rr]\\'")) @@ -682,9 +682,9 @@ See `proced-mode' for a description of features available in Proced buffers." (progn (display-buffer buffer) (with-current-buffer buffer - (run-hooks 'proced-post-display-hook))) + (proced-update t))) (pop-to-buffer buffer) - (run-hooks 'proced-post-display-hook) + (proced-update t) (message (substitute-command-keys "Type \\\\[quit-window] to quit, \\[proced-help] for help"))))) @@ -1676,7 +1676,7 @@ After updating a displayed Proced buffer run the normal hook (message (if revert "Updating process information...done." "Updating process display...done."))))) -(defun proced-revert (&rest args) +(defun proced-revert (&rest _args) "Reevaluate the process listing based on the currently running processes. Preserves point and marks." (proced-update t)) @@ -1711,7 +1711,8 @@ After sending the signal, this command runs the normal hook (line-end-position)))))) (unless signal ;; Display marked processes (code taken from `dired-mark-pop-up'). - (let ((bufname "*Marked Processes*") + (let ((bufname " *Marked Processes*") ; use leading space in buffer name + ; to make this buffer ephemeral (header-line (substring-no-properties proced-header-line))) (with-current-buffer (get-buffer-create bufname) (setq truncate-lines t @@ -1723,7 +1724,9 @@ After sending the signal, this command runs the normal hook (buffer-disable-undo) (setq buffer-read-only t) (dolist (process process-alist) - (insert " " (cdr process) "\n"))) + (insert " " (cdr process) "\n")) + (delete-char -1) + (goto-char (point-min))) (save-window-excursion ;; Analogous to `dired-pop-to-buffer' ;; Don't split window horizontally. (Bug#1806) @@ -1734,8 +1737,9 @@ After sending the signal, this command runs the normal hook (pnum (if (= 1 (length process-alist)) "1 process" (format "%d processes" (length process-alist)))) - (completion-annotate-function - (lambda (s) (cdr (assoc s proced-signal-list))))) + (completion-extra-properties + '(:annotation-function + (lambda (s) (cdr (assoc s proced-signal-list)))))) (setq signal (completing-read (concat "Send signal [" pnum "] (default TERM): ") @@ -1769,7 +1773,7 @@ After sending the signal, this command runs the normal hook (number-to-string signal) signal)))) (dolist (process process-alist) (with-temp-buffer - (condition-case err + (condition-case nil (if (zerop (call-process proced-signal-function nil t nil signal (number-to-string (car process)))) @@ -1869,5 +1873,4 @@ Killed processes cannot be recovered by Emacs.")) (provide 'proced) -;; arch-tag: a6e312ad-9032-45aa-972d-31a8cfc545af ;;; proced.el ends here