[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#34898: 24.4; `message-separator' face only works for default value o
From: |
Basil L. Contovounesios |
Subject: |
bug#34898: 24.4; `message-separator' face only works for default value of `mail-header-separator' |
Date: |
Mon, 18 Mar 2019 17:01:30 +0000 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Eric Abrahamsen <eric@ericabrahamsen.net>
>> Date: Sun, 17 Mar 2019 19:59:41 -0700
>>
>> > So it's a bug.
>>
>> The value of `mail-header-separator' gets added to
>> `message-font-lock-keywords', which does the actual fontification. Using
>> setq to change the value of `mail-header-separator' did not change the
>> font lock keyword, despite setting the variable before message.el is
>> loaded (or is it pre-loaded?). Using the customize interface to set
>> `mail-header-separator' *does* work as expected.
>
> Right. So I don't think there's a bug here.
Actually, I think message-font-lock-keywords can do better:
>From 0aa67e4ac6cd2ac93c05c7b7bec486c5fefd12dd Mon Sep 17 00:00:00 2001
From: "Basil L. Contovounesios" <contovob@tcd.ie>
Date: Mon, 18 Mar 2019 15:09:45 +0000
Subject: [PATCH] Fix mail-header-separator font lock in message.el
* lisp/gnus/message.el (message-font-lock-keywords): Dynamically
font lock mail-header-separator, in case it changes. (bug#34898)
---
lisp/gnus/message.el | 28 +++++++++++++++-------------
1 file changed, 15 insertions(+), 13 deletions(-)
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index c491f16dd8..079a13c706 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -1599,19 +1599,21 @@ message-font-lock-keywords
(progn (goto-char (match-beginning 0)) (match-end 0)) nil
(1 'message-header-name)
(2 'message-header-other nil t)))
- ,@(if (and mail-header-separator
- (not (equal mail-header-separator "")))
- `((,(concat "^\\(" (regexp-quote mail-header-separator) "\\)$")
- 1 'message-separator))
- nil)
- ((lambda (limit)
- (re-search-forward (concat "^\\("
- message-cite-prefix-regexp
- "\\).*")
- limit t))
- (0 'message-cited-text))
- ("<#/?\\(multipart\\|part\\|external\\|mml\\|secure\\)[^>]*>"
- (0 'message-mml))))
+ (,(lambda (limit)
+ (and mail-header-separator
+ (not (equal mail-header-separator ""))
+ (re-search-forward
+ (concat "^" (regexp-quote mail-header-separator) "$")
+ limit t)))
+ 1 'message-separator)
+ (,(lambda (limit)
+ (re-search-forward (concat "^\\(?:"
+ message-cite-prefix-regexp
+ "\\).*")
+ limit t))
+ 0 'message-cited-text)
+ ("<#/?\\(?:multipart\\|part\\|external\\|mml\\|secure\\)[^>]*>"
+ 0 'message-mml)))
"Additional expressions to highlight in Message mode.")
(defvar message-face-alist
--
2.20.1
This is similar to what mail-font-lock-keywords does in
lisp/mail/sendmail.el, namely adapt the font lock keywords to changes in
mail-header-separator.
WDYT?
--
Basil