]> git.eshelyaron.com Git - emacs.git/commitdiff
Preserve header lines from derived modes in tabulated lists
authorVaidheeswaran C <vaidheeswaran.chinnaraju@gmail.com>
Tue, 25 Jun 2019 16:09:54 +0000 (18:09 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Tue, 25 Jun 2019 16:09:54 +0000 (18:09 +0200)
* lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header):
Preserve header line set by derived modes (bug#21025).

lisp/emacs-lisp/tabulated-list.el

index 05ce6912e0f66be8094c82371c9f54b35ca28a55..5617992aae879b48c00bf10fcd91fb03db2ac4cf 100644 (file)
@@ -73,6 +73,11 @@ frames."
   :type 'character
   :version "27.1")
 
+(defface tabulated-list-fake-header
+  '((t :overline t :underline t :weight bold))
+  "Face used on fake header lines."
+  :version "27.1")
+
 ;; The reason `tabulated-list-format' and other variables are
 ;; permanent-local is to make it convenient to switch to a different
 ;; major mode, switch back, and have the original Tabulated List data
@@ -308,7 +313,6 @@ Populated by `tabulated-list-init-header'.")
     (setq cols (apply 'concat (nreverse cols)))
     (if tabulated-list-use-header-line
        (setq header-line-format cols)
-      (setq header-line-format nil)
       (setq-local tabulated-list--header-string cols))))
 
 (defun tabulated-list-print-fake-header ()
@@ -322,7 +326,8 @@ Do nothing if `tabulated-list--header-string' is nil."
           (move-overlay tabulated-list--header-overlay (point-min) (point))
         (setq-local tabulated-list--header-overlay
                     (make-overlay (point-min) (point))))
-      (overlay-put tabulated-list--header-overlay 'face 'underline))))
+      (overlay-put tabulated-list--header-overlay
+                   'face 'tabulated-list-fake-header))))
 
 (defsubst tabulated-list-header-overlay-p (&optional pos)
   "Return non-nil if there is a fake header.