From: David Bremner Date: Sun, 24 Sep 2023 09:51:51 +0000 (-0300) Subject: emacs: save image redisplay data during non-lazy display X-Git-Tag: 0.38.1_pre0~1 X-Git-Url: https://git.cworth.org/git?p=notmuch;a=commitdiff_plain;h=0646d4855bff8b1f7ab10d5207cd66c9e75ea810 emacs: save image redisplay data during non-lazy display This data will eventually be used to redisplay hidden images. A certain amount of refactoring is done here to avoid code duplication. --- diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el index 107ce1b8..54cf00c6 100644 --- a/emacs/notmuch-show.el +++ b/emacs/notmuch-show.el @@ -1109,14 +1109,18 @@ is t, hide the part initially and show the button." (and deep button) (and high button) (and long button)))) - (content-beg (point))) + (content-beg (point)) + (part-data (list msg part mime-type nth depth button))) ;; Store the computed mime-type for later use (e.g. by attachment handlers). (plist-put part :computed-type mime-type) - (if show-part - (notmuch-show-insert-bodypart-internal msg part mime-type nth depth button) + (cond + (show-part + (apply #'notmuch-show-insert-bodypart-internal part-data) + (when (and button (string-match "^image/" mime-type)) + (button-put button :notmuch-redisplay-data part-data))) + (t (when button - (button-put button :notmuch-lazy-part - (list msg part mime-type nth depth button)))) + (button-put button :notmuch-lazy-part part-data)))) ;; Some of the body part handlers leave point somewhere up in the ;; part, so we make sure that we're down at the end. (goto-char (point-max))