]> git.eshelyaron.com Git - emacs.git/commitdiff
(proced-format): Make header lines align with the text
authorStephen Berman <stephen.berman@gmx.net>
Tue, 19 Jul 2011 21:31:26 +0000 (23:31 +0200)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Tue, 19 Jul 2011 21:31:26 +0000 (23:31 +0200)
lisp/ChangeLog
lisp/proced.el

index 0699a93ac9bf2928a42eca367487d76de3dd44a5..069dbb2922fce9263da1b8ee54743b0097ba3b41 100644 (file)
@@ -1,3 +1,8 @@
+2011-07-19  Stephen Berman  <stephen.berman@gmx.net>
+
+       * proced.el (proced-format): Make header lines align with the text
+       (bug#1779).
+
 2011-07-19  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
        * view.el (view-buffer): Allow running in `special' modes if we're
index 11598d7350f6d31f8eb3ae0305fdd628d0a96319..cc1856060b307359224f502d51b2ae9ae5560f52 100644 (file)
@@ -1509,6 +1509,16 @@ Replace newline characters by \"^J\" (two characters)."
     (if (string-match "[ \t]+$" proced-header-line)
         (setq proced-header-line (substring proced-header-line 0
                                             (match-beginning 0))))
+     (setq proced-header-line (concat "  " proced-header-line))
+     ;; From buff-menu.el: Turn whitespace chars in the header into
+     ;; stretch specs so they work regardless of the header-line face.
+     (let ((pos 0)
+         (header proced-header-line))
+       (while (string-match "[ \t\n]+" header pos)
+         (setq pos (match-end 0))
+         (put-text-property (match-beginning 0) pos 'display
+                            (list 'space :align-to pos)
+                            header)))
     ;; (delete-trailing-whitespace)
     (goto-char (point-min))
     (while (re-search-forward "[ \t\r]+$" nil t)
@@ -1602,7 +1612,6 @@ After updating a displayed Proced buffer run the normal hook
     (while (not (eobp))
       (insert "  ")
       (forward-line))
-    (setq proced-header-line (concat "  " proced-header-line))
     (if revert (set-buffer-modified-p nil))
 
     ;; set `goal-column'