]> git.notmuchmail.org Git - notmuch/commitdiff
emacs/show: save redisplay redisplay data when showing lazy part.
authorDavid Bremner <david@tethera.net>
Sun, 24 Sep 2023 09:51:50 +0000 (06:51 -0300)
committerDavid Bremner <david@tethera.net>
Sun, 1 Oct 2023 10:47:16 +0000 (07:47 -0300)
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.

emacs/notmuch-show.el

index 36cce61962ddc11d9d8208569a1fe7a338de0b77..107ce1b8bd2716a815216d50e649cdd4cac3b9dc 100644 (file)
@@ -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