mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-22 02:48:08 +01:00
Emacs: Ensure left-to-right display for message headers
In notmuch-show buffer insert invisible U+200E LEFT-TO-RIGHT MARK character at the beginning of message header paragraph if the From header contains a right-to-left character. This ensures that the header paragraph is always rendered in left-to-right mode. See Emacs Lisp reference manual section "(elisp) Bidirectional Display" for more info.
This commit is contained in:
parent
f5ae8040b3
commit
e3fd546ad7
1 changed files with 9 additions and 3 deletions
|
@ -466,10 +466,16 @@ unchanged ADDRESS if parsing fails."
|
||||||
(defun notmuch-show-insert-headerline (headers date tags depth)
|
(defun notmuch-show-insert-headerline (headers date tags depth)
|
||||||
"Insert a notmuch style headerline based on HEADERS for a
|
"Insert a notmuch style headerline based on HEADERS for a
|
||||||
message at DEPTH in the current thread."
|
message at DEPTH in the current thread."
|
||||||
(let ((start (point)))
|
(let ((start (point))
|
||||||
|
(from (notmuch-sanitize
|
||||||
|
(notmuch-show-clean-address (plist-get headers :From)))))
|
||||||
|
(when (string-match "\\cR" from)
|
||||||
|
;; If the From header has a right-to-left character add
|
||||||
|
;; invisible U+200E LEFT-TO-RIGHT MARK character which forces
|
||||||
|
;; the header paragraph as left-to-right text.
|
||||||
|
(insert (propertize (string ?\x200e) 'invisible t)))
|
||||||
(insert (notmuch-show-spaces-n (* notmuch-show-indent-messages-width depth))
|
(insert (notmuch-show-spaces-n (* notmuch-show-indent-messages-width depth))
|
||||||
(notmuch-sanitize
|
from
|
||||||
(notmuch-show-clean-address (plist-get headers :From)))
|
|
||||||
" ("
|
" ("
|
||||||
date
|
date
|
||||||
") ("
|
") ("
|
||||||
|
|
Loading…
Reference in a new issue