Extract shr-add-font redef with additional explanation
This commit is contained in:
parent
249f51baa7
commit
0254d0134e
@ -3735,21 +3735,7 @@ Then configure it:
|
|||||||
(let* ((msg (mu4e-message-at-point t)))
|
(let* ((msg (mu4e-message-at-point t)))
|
||||||
(if (not msg)
|
(if (not msg)
|
||||||
(error "No message at point")
|
(error "No message at point")
|
||||||
(cdar (mu4e-message-field msg :from))))))))
|
(cdar (mu4e-message-field msg :from)))))))))
|
||||||
|
|
||||||
;; Ugly hack to make sure that shr faces end up at the beginning of the face list
|
|
||||||
(defun shr-add-font (start end type)
|
|
||||||
(save-excursion
|
|
||||||
(goto-char start)
|
|
||||||
(while (< (point) end)
|
|
||||||
(when (bolp)
|
|
||||||
(skip-chars-forward " "))
|
|
||||||
;; Remove the APPEND argument to add-face-text-property
|
|
||||||
;; so the face ends up at the head of the face list
|
|
||||||
(add-face-text-property (point) (min (line-end-position) end) type)
|
|
||||||
(if (< (line-end-position) end)
|
|
||||||
(forward-line 1)
|
|
||||||
(goto-char end))))))
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
Global keybindings:
|
Global keybindings:
|
||||||
@ -3764,6 +3750,26 @@ Keybindings within mu4e:
|
|||||||
(general-def '(normal motion insert emacs) mu4e-view-mode-map "t" #'mu4e-view-mark-thread))
|
(general-def '(normal motion insert emacs) mu4e-view-mode-map "t" #'mu4e-view-mark-thread))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
Mu4e uses shr to render HTML emails. Unfortunately the shr function
|
||||||
|
that sets faces in the rendered document has a bug: it appends the shr
|
||||||
|
faces to the existing face-list, rather than prepending the shr
|
||||||
|
face. This means that e.g. links don't actually get rendered correctly
|
||||||
|
if there is some non-link face already on the text. The fix:
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
(defun shr-add-font (start end type)
|
||||||
|
(save-excursion
|
||||||
|
(goto-char start)
|
||||||
|
(while (< (point) end)
|
||||||
|
(when (bolp)
|
||||||
|
(skip-chars-forward " "))
|
||||||
|
;; Remove the APPEND argument to add-face-text-property
|
||||||
|
;; so the face ends up at the head of the face list
|
||||||
|
(add-face-text-property (point) (min (line-end-position) end) type)
|
||||||
|
(if (< (line-end-position) end)
|
||||||
|
(forward-line 1)
|
||||||
|
(goto-char end)))))
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
* w3m
|
* w3m
|
||||||
Browsing the web from Emacs. Relies on having [[http://w3m.sourceforge.net/][w3m]] installed.
|
Browsing the web from Emacs. Relies on having [[http://w3m.sourceforge.net/][w3m]] installed.
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
Loading…
Reference in New Issue
Block a user