Subject: bug#61063: 30.0.50; ement triggers repeated 'svg' error messages "Invalid message type 'svg'

From: Christophe de Dinechin <[email-masked]>
Date: Mon, 30 Jan 2023 16:35:50 +0100

> On 25 Jan 2023, at 20:59, Eli Zaretskii <[email-masked]> wrote:
> 
>> Cc: [email-masked]
>> From: Christophe de Dinechin <[email-masked]>
>> Date: Wed, 25 Jan 2023 18:53:48 +0100
>> 
>> 
>> Running Emacs on macOS Ventura 13.1 (no problem on Linux).
>> Tested with 29.2 and a daily build.
>> Typing `ement-connect` and entering credentials.
>> Repeated messages:
>> 
>> Ement: Reading JSON took 0.00 seconds
>> Ement: Reading events...
>> Ement: Sync request sent, waiting for response...
>> error in process sentinel: image-type: Invalid image type ‘svg’
>> error in process sentinel: Invalid image type ‘svg’
>> Ement: Response arrived after 0.17 seconds.  Reading 1.2k JSON response...
>> Ement: Reading JSON took 0.00 seconds
>> Ement: Reading events...
>> Ement: Sync request sent, waiting for response...
>> error in process sentinel: image-type: Invalid image type ‘svg’
>> error in process sentinel: Invalid image type ‘svg’
> 
> Looks like this package requires SVG support and your build of Emacs
> doesn't have it?

If you look at the other issue I linked to, specifically https://debbugs.gnu.org/cgi/bugreport.cgi?bug=59081#11, I believe that it’s really a problem with changes in the image APIs on macOS Ventura, which causes some parts of Emacs to believe SVG is present (thanks to the OS), but the display part is not working:

> The problem is Mac OS native image APIs gained the ability to display
> SVG images in version 13, but the code to use them in Emacs was never
> finished.
> 
> So if you built without librsvg, SVG images will not work (from the POV
> of create-image), but the splash screen code will think they are
> supported.
> 

However, that specific issue was supposed to be fixed, and the fix does not seem to work for that specific library.

> This has already been fixed in Emacs 29. If you cherry-pick
> 5f8c655a44a0e7ad1fe6f8b23acb4e6c93dc72a6 and the immediately subsequent
> commit, it should start working again in Emacs 28.