From: David Bremner Date: Sun, 24 Sep 2023 09:51:50 +0000 (-0300) Subject: emacs/show: save redisplay redisplay data when showing lazy part. X-Git-Tag: 0.38.1_pre0~2 X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=commitdiff_plain;h=bfcfa947f8a989594d73a40a056cbb0bd37188ab emacs/show: save redisplay redisplay data when showing lazy part. This data will be used to redisplay an image that is hidden by deleting it from the buffer. We cannot easily delay until the image is hidden, as we won't have the original data at that point. --- diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el index 36cce619..107ce1b8 100644 --- a/emacs/notmuch-show.el +++ b/emacs/notmuch-show.el @@ -1019,10 +1019,13 @@ will return nil if the CID is unknown or cannot be retrieved." (part-end (copy-marker (point) t)) ;; We have to save the depth as we can't find the depth ;; when narrowed. - (depth (notmuch-show-get-depth))) + (depth (notmuch-show-get-depth)) + (mime-type (plist-get (cadr part-args) :computed-type))) (save-restriction (narrow-to-region part-beg part-end) (delete-region part-beg part-end) + (when (and mime-type (string-match "^image/" mime-type)) + (button-put button :notmuch-redisplay-data part-args)) (apply #'notmuch-show-insert-bodypart-internal part-args) (indent-rigidly part-beg part-end