Subject: Re: bug#36312: 27.0.50; (message) in display spec condition causes emacs_abort()

From: Eli Zaretskii <[email-masked]>
Date: Thu, 20 Jun 2019 21:11:43 +0300

> From: Pip Cet <[email-masked]>
> Date: Thu, 20 Jun 2019 16:06:25 +0000
> 
> In emacs -Q, evaluate
> 
> (let ((o (make-overlay (point) (point))))
>   (overlay-put o 'after-string (propertize " " 'display
>                        '(when (message "a")
>   . "b"))))
> 
> This causes a SIGABRT in the bidi stack code.

Thanks.

You do realize that calling 'message' in a display-spec form causes us
to re-enter redisplay in the middle of redisplay?  I didn't even know
we allowed that, but there's something new about our display code to
learn every day.

Should be fixed now.

P.S. Is there a chance fontification-functions will also call
'message'?  Because I think we have the same problem there.