Alex Murray writes: > Hi folks, > > I have noticed that inline image display doesn't work anymore in > emacs-29 / git master and have tracked it down to a change to the way > mm-inline-image inserts an image into the buffer. > > In > https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=d2186160a9e978960c0f96bc3b4fc65b5affc170 > mm-inline-image was changed to use insert-image instead of > put-image. This inserts the image into the buffer using a single space > as the string contents with a display property set as the image contents > so that the single space is not shown itself but instead the image is > shown in its place. > > I had thought the culprit then was the use of > notmuch-wash-elide-blank-lines within the default value of > notmuch-show-insert-text/plain-hook - assuming that since the line > containing the image is now just a single space, it then gets deleted > from the buffer and the image is never shown. However, even after > setting notmuch-show-insert-text/plain-hook to nil, images are still not > shown inline by notmuch. > > However, if I locally redefine mm-inline-image to use say a period "." > as the string argument to insert-image then the image appears as > expected. > > Any thoughts on what may be happening here and how best to resolve this? > The problem seems to be the call to indent-rigidly in notmuch-show-lazy-part. The image is actually inserted OK, but then apparently deleted by indent-rigidly (probably because it looks like whitespace). I tried replacing indent-rigidly with a simplified version the and that leaves the image inserted, but unfortunately doesn't indent it properly. If you want to play with it, my half working patch is attached.