From: Vaidheeswaran C Date: Tue, 25 Jun 2019 16:09:54 +0000 (+0200) Subject: Preserve header lines from derived modes in tabulated lists X-Git-Tag: emacs-27.0.90~2240 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=9de1177a1ee788bc217cbd34350ed1dbba1a9c22;p=emacs.git Preserve header lines from derived modes in tabulated lists * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header): Preserve header line set by derived modes (bug#21025). --- diff --git a/lisp/emacs-lisp/tabulated-list.el b/lisp/emacs-lisp/tabulated-list.el index 05ce6912e0f..5617992aae8 100644 --- a/lisp/emacs-lisp/tabulated-list.el +++ b/lisp/emacs-lisp/tabulated-list.el @@ -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.