Subject: bug#42184: 27.0.91; org-fontify-whole-heading-line does not work in emacs 27

From: Kévin Le Gouguec <[email-masked]>
Date: Sat, 04 Jul 2020 19:13:58 +0200

Erik Hetzner <[email-masked]> writes:

> In emacs 26.3, the entire heading line (and block delimiter) has a background color. In emacs 27, this is not the case.
>
> See attached images.

With the attached diff against leuven, running

    emacs -Q -l $your_elisp_snippet $your_org_file

yields this (with commit d453cee177 on emacs-27):

I don't know if patching leuven is TRT?  Maybe the :extend t should be
added to the face definitions directly, since Org provides a knob
(org-fontify-whole-heading-line) to control whether the final newline is
fontified?

diff --git a/etc/themes/leuven-theme.el b/etc/themes/leuven-theme.el
index c298b536d2..30ac880e00 100644
--- a/etc/themes/leuven-theme.el
+++ b/etc/themes/leuven-theme.el
@@ -45,7 +45,7 @@ leuven
       ;; Leuven generic colors
       (cancel '(:slant italic :strike-through t :foreground "gray55"))
       (clock-line '(:box (:line-width 1 :color "#335EA8") :foreground "black" :background "#EEC900"))
-      (code-block '(:foreground "#000088" :background "#FFFFE0"))
+      (code-block '(:foreground "#000088" :background "#FFFFE0" :extend t))
       (code-inline '(:foreground "#006400" :background "#FDFFF7"))
       (column '(:height 1.0 :weight normal :slant normal :underline nil :strike-through nil :foreground "#E6AD4F" :background "#FFF2DE"))
       (diff-added '(:foreground "#008000" :background "#DDFFDD"))
@@ -66,14 +66,14 @@ leuven
       (mail-unread '(:weight bold :foreground "black"))
       (marked-line '(:weight bold :foreground "white" :background "red"))
       (match '(:weight bold :background "#FBE448")) ; occur patterns
-      (ol1 '(:height 1.3 :weight bold :overline "#A7A7A7" :foreground "#3C3C3C" :background "#F0F0F0"))
-      (ol2 '(:height 1.0 :weight bold :overline "#123555" :foreground "#123555" :background "#E5F4FB"))
-      (ol3 '(:height 1.0 :weight bold :foreground "#005522" :background "#EFFFEF"))
-      (ol4 '(:height 1.0 :weight bold :slant normal :foreground "#EA6300"))
-      (ol5 '(:height 1.0 :weight bold :slant normal :foreground "#E3258D"))
-      (ol6 '(:height 1.0 :weight bold :slant italic :foreground "#0077CC"))
-      (ol7 '(:height 1.0 :weight bold :slant italic :foreground "#2EAE2C"))
-      (ol8 '(:height 1.0 :weight bold :slant italic :foreground "#FD8008"))
+      (ol1 '(:height 1.3 :weight bold :overline "#A7A7A7" :foreground "#3C3C3C" :background "#F0F0F0" :extend t))
+      (ol2 '(:height 1.0 :weight bold :overline "#123555" :foreground "#123555" :background "#E5F4FB" :extend t))
+      (ol3 '(:height 1.0 :weight bold :foreground "#005522" :background "#EFFFEF" :extend t))
+      (ol4 '(:height 1.0 :weight bold :slant normal :foreground "#EA6300" :extend t))
+      (ol5 '(:height 1.0 :weight bold :slant normal :foreground "#E3258D" :extend t))
+      (ol6 '(:height 1.0 :weight bold :slant italic :foreground "#0077CC" :extend t))
+      (ol7 '(:height 1.0 :weight bold :slant italic :foreground "#2EAE2C" :extend t))
+      (ol8 '(:height 1.0 :weight bold :slant italic :foreground "#FD8008" :extend t))
       (paren-matched '(:background "#99CCFF"))
       (paren-unmatched '(:underline "red" :foreground nil :background "#FFDCDC"))
       (region '(:background "#ABDFFA"))
@@ -515,8 +515,8 @@ leuven
    `(org-beamer-tag ((,class (:box (:line-width 1 :color "#FABC18") :foreground "#2C2C2C" :background "#FFF8D0"))))
    `(org-block ((,class ,code-block)))
    `(org-block-background ((,class (:background "#FFFFE0"))))
-   `(org-block-begin-line ((,class (:underline "#A7A6AA" :foreground "#555555" :background "#E2E1D5"))))
-   `(org-block-end-line ((,class (:overline "#A7A6AA" :foreground "#555555" :background "#E2E1D5"))))
+   `(org-block-begin-line ((,class (:underline "#A7A6AA" :foreground "#555555" :background "#E2E1D5" :extend t))))
+   `(org-block-end-line ((,class (:overline "#A7A6AA" :foreground "#555555" :background "#E2E1D5" :extend t))))
    `(org-checkbox ((,class (:weight bold :box (:line-width 1 :style pressed-button) :foreground "white" :background "#777777"))))
    `(org-clock-overlay ((,class (:foreground "white" :background "SkyBlue4"))))
    `(org-code ((,class ,code-inline)))