aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoland Winkler2008-09-14 16:44:44 +0000
committerRoland Winkler2008-09-14 16:44:44 +0000
commitaa5fecb5371e152777e8addcc1e2a7f8d7ae5954 (patch)
treeb24aca55106397ec02b7fb4b815cc859563a425c
parent9360906a81e29b67585934465e763ed2850a2446 (diff)
downloademacs-aa5fecb5371e152777e8addcc1e2a7f8d7ae5954.tar.gz
emacs-aa5fecb5371e152777e8addcc1e2a7f8d7ae5954.zip
(proced-mark-face, proced-marked-face)
(proced-sort-header-face): Removed. (proced-font-lock-keywords): Simplified. (proced-format): Use face proced-sort-header. (proced-format-interactive, proced-sort-interactive) (proced-filter-interactive): Only call proced-update if the scheme has changed. (proced-sort-header): Use posn-actual-col-row.
-rw-r--r--lisp/ChangeLog11
-rw-r--r--lisp/proced.el47
2 files changed, 34 insertions, 24 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 9ab587cc995..9f7f6259b15 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,14 @@
12008-09-14 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
2
3 * proced.el (proced-mark-face, proced-marked-face)
4 (proced-sort-header-face): Removed.
5 (proced-font-lock-keywords): Simplified.
6 (proced-format): Use face proced-sort-header.
7 (proced-format-interactive, proced-sort-interactive)
8 (proced-filter-interactive): Only call proced-update if the scheme
9 has changed.
10 (proced-sort-header): Use posn-actual-col-row.
11
12008-09-14 Martin Rudalics <rudalics@gmx.at> 122008-09-14 Martin Rudalics <rudalics@gmx.at>
2 13
3 * add-log.el (change-log-find-window): New variable. 14 * add-log.el (change-log-find-window): New variable.
diff --git a/lisp/proced.el b/lisp/proced.el
index 2ad486b9a1e..4370a7724a4 100644
--- a/lisp/proced.el
+++ b/lisp/proced.el
@@ -271,7 +271,8 @@ cons pairs, see `proced-process-attributes'.")
271(defvar proced-marker-char ?* ; the answer is 42 271(defvar proced-marker-char ?* ; the answer is 42
272 "In proced, the current mark character.") 272 "In proced, the current mark character.")
273 273
274;; face and font-lock code taken from dired 274;; Faces and font-lock code taken from dired,
275;; but face variables are deprecated for new code.
275(defgroup proced-faces nil 276(defgroup proced-faces nil
276 "Faces used by Proced." 277 "Faces used by Proced."
277 :group 'proced 278 :group 'proced
@@ -281,22 +282,16 @@ cons pairs, see `proced-process-attributes'.")
281 '((t (:inherit font-lock-constant-face))) 282 '((t (:inherit font-lock-constant-face)))
282 "Face used for proced marks." 283 "Face used for proced marks."
283 :group 'proced-faces) 284 :group 'proced-faces)
284(defvar proced-mark-face 'proced-mark
285 "Face name used for proced marks.")
286 285
287(defface proced-marked 286(defface proced-marked
288 '((t (:inherit font-lock-warning-face))) 287 '((t (:inherit font-lock-warning-face)))
289 "Face used for marked processes." 288 "Face used for marked processes."
290 :group 'proced-faces) 289 :group 'proced-faces)
291(defvar proced-marked-face 'proced-marked
292 "Face name used for marked processes.")
293 290
294(defface proced-sort-header 291(defface proced-sort-header
295 '((t (:inherit font-lock-keyword-face))) 292 '((t (:inherit font-lock-keyword-face)))
296 "Face used for header of attribute used for sorting." 293 "Face used for header of attribute used for sorting."
297 :group 'proced-faces) 294 :group 'proced-faces)
298(defvar proced-sort-header-face 'proced-sort-header
299 "Face name used for header of attribute used for sorting.")
300 295
301(defvar proced-re-mark "^[^ \n]" 296(defvar proced-re-mark "^[^ \n]"
302 "Regexp matching a marked line. 297 "Regexp matching a marked line.
@@ -328,14 +323,12 @@ Important: the match ends just after the marker.")
328 "Help string shown when mouse is over a refinable field.") 323 "Help string shown when mouse is over a refinable field.")
329 324
330(defvar proced-font-lock-keywords 325(defvar proced-font-lock-keywords
331 (list 326 `(;; (Any) proced marks.
332 ;; 327 (,proced-re-mark . 'proced-mark)
333 ;; Proced marks. 328 ;; Processes marked with `proced-marker-char'
334 (list proced-re-mark '(0 proced-mark-face)) 329 ;; Should we make sure that only certain attributes are font-locked?
335 ;; 330 (,(concat "^[" (char-to-string proced-marker-char) "]")
336 ;; Marked files. 331 ".+" (proced-move-to-goal-column) nil (0 'proced-marked))))
337 (list (concat "^[" (char-to-string proced-marker-char) "]")
338 '(".+" (proced-move-to-goal-column) nil (0 proced-marked-face)))))
339 332
340(defvar proced-mode-map 333(defvar proced-mode-map
341 (let ((km (make-sparse-keymap))) 334 (let ((km (make-sparse-keymap)))
@@ -786,8 +779,10 @@ Set variable `proced-filter' to SCHEME. Revert listing."
786 (let ((scheme (completing-read "Filter: " 779 (let ((scheme (completing-read "Filter: "
787 proced-filter-alist nil t))) 780 proced-filter-alist nil t)))
788 (list (if (string= "" scheme) nil (intern scheme))))) 781 (list (if (string= "" scheme) nil (intern scheme)))))
789 (setq proced-filter scheme) 782 ;; only update if necessary
790 (proced-update t)) 783 (unless (eq proced-filter scheme)
784 (setq proced-filter scheme)
785 (proced-update t)))
791 786
792(defun proced-process-tree (process-alist) 787(defun proced-process-tree (process-alist)
793 "Return process tree for PROCESS-ALIST. 788 "Return process tree for PROCESS-ALIST.
@@ -976,8 +971,10 @@ in the mode line, using \"+\" or \"-\" for ascending or descending order."
976 proced-grammar-alist nil t))) 971 proced-grammar-alist nil t)))
977 (list (if (string= "" scheme) nil (intern scheme)) 972 (list (if (string= "" scheme) nil (intern scheme))
978 current-prefix-arg))) 973 current-prefix-arg)))
979 (setq proced-sort scheme) 974 ;; only update if necessary
980 (proced-update revert)) 975 (when (or (not (eq proced-sort scheme)) revert)
976 (setq proced-sort scheme)
977 (proced-update revert)))
981 978
982(defun proced-sort-pcpu (&optional revert) 979(defun proced-sort-pcpu (&optional revert)
983 "Sort Proced buffer by percentage CPU time (%CPU)." 980 "Sort Proced buffer by percentage CPU time (%CPU)."
@@ -1013,13 +1010,13 @@ in the mode line, using \"+\" or \"-\" for ascending or descending order."
1013 "Sort Proced listing based on an attribute. 1010 "Sort Proced listing based on an attribute.
1014EVENT is a mouse event with starting position in the header line. 1011EVENT is a mouse event with starting position in the header line.
1015It is converted in the corresponding attribute key. 1012It is converted in the corresponding attribute key.
1016This updates the variable `proced-sort'." 1013This command updates the variable `proced-sort'."
1017 (interactive "e\nP") 1014 (interactive "e\nP")
1018 (let ((start (event-start event)) 1015 (let ((start (event-start event))
1019 col key) 1016 col key)
1020 (save-selected-window 1017 (save-selected-window
1021 (select-window (posn-window start)) 1018 (select-window (posn-window start))
1022 (setq col (+ (1- (car (posn-col-row start))) 1019 (setq col (+ (1- (car (posn-actual-col-row start)))
1023 (window-hscroll))) 1020 (window-hscroll)))
1024 (when (and (<= 0 col) (< col (length proced-header-line))) 1021 (when (and (<= 0 col) (< col (length proced-header-line)))
1025 (setq key (get-text-property col 'proced-key proced-header-line)) 1022 (setq key (get-text-property col 'proced-key proced-header-line))
@@ -1107,7 +1104,7 @@ Replace newline characters by \"^J\" (two characters)."
1107 1104
1108 ;; highlight the header of the sort column 1105 ;; highlight the header of the sort column
1109 (if (eq key proced-sort) 1106 (if (eq key proced-sort)
1110 (setq hprops (append `(face ,proced-sort-header-face) hprops))) 1107 (setq hprops (append '(face proced-sort-header) hprops)))
1111 (goto-char (point-min)) 1108 (goto-char (point-min))
1112 (cond ( ;; fixed width of output field 1109 (cond ( ;; fixed width of output field
1113 (numberp (nth 3 grammar)) 1110 (numberp (nth 3 grammar))
@@ -1179,8 +1176,10 @@ With prefix REVERT non-nil revert listing."
1179 proced-format-alist nil t))) 1176 proced-format-alist nil t)))
1180 (list (if (string= "" scheme) nil (intern scheme)) 1177 (list (if (string= "" scheme) nil (intern scheme))
1181 current-prefix-arg))) 1178 current-prefix-arg)))
1182 (setq proced-format scheme) 1179 ;; only update if necessary
1183 (proced-update revert)) 1180 (when (or (not (eq proced-format scheme)) revert)
1181 (setq proced-format scheme)
1182 (proced-update revert)))
1184 1183
1185;; generate listing 1184;; generate listing
1186 1185