Subject: Re: bug#42521: 28.0.50; Can't include an image in a display string

From: Eli Zaretskii <[email-masked]>
Date: Sat, 25 Jul 2020 08:54:48 +0300

severity 42521 wishlist
thanks

> From: Dmitry Gutov <[email-masked]>
> Date: Fri, 24 Jul 2020 22:40:02 +0300
> 
> (progn
>    (erase-buffer)
>    (insert " ")
>    (setq o (make-overlay (point-min) (point)))
>    (overlay-put o 'display
>                 (concat (propertize " " 'display
>                                     (create-image "splash.svg" nil nil 
> :max-height
>                                                   (default-font-height)))
>                         " text after image")))
> 
> The script above will end with a blank space instead of an image being 
> displayed.

This is a documented limitation of the current design and
implementation of the 'display' property.  The ELisp manual says:

  ‘STRING’
       Display STRING instead of the text that has this property.

       Recursive display specifications are not supported—STRING’s
       ‘display’ properties, if any, are not used.

I never looked into lifting this restriction, so I don't know what
would that entail.  There are probably some complications with faces,
at least.  If someone wants to study the issue, that'd be welcome, I
think.