Subject: bug#38310: 27.0.50; (image-convert "data" t) doesn't work

From: Katsumi Yamaoka <[email-masked]>
Date: Thu, 21 Nov 2019 16:12:39 +0900

Hi,

Whereas (image-convert "file") works, (image-convert "data" t)
causes an error as follows:

(let ((image-converter 'graphicsmagick))
  (image-convert "data" t))
=>
image-convert: /usr/bin/gm convert: Unable to open file (-) [No such file or directory].

(let ((image-converter 'imagemagick))
  (image-convert "data" t))
=>
image-convert: convert: unable to open image `nil:-': No such file or directory @ error/blob.c/OpenBlob/2873.
convert: no decode delegate for this image format `' @ error/constitute.c/ReadImage/560.
convert: no images defined `png:-' @ error/convert.c/ConvertImageCommand/3258.

Where "data" is a binary string of a webp image gotten from:
<https://www.gstatic.com/webp/gallery/1.sm.webp>
Is a temp file required instead of stdin to those converters?

In relation to this, I think `image-convert' should be autoloaded
for the case where `(create-image FILE-OR-DATA 'image-convert)'
is called from a program other than `find-file'.

Thanks.
Regards,

$ gm -version
GraphicsMagick 1.3.33 2019-07-20 Q16 http://www.GraphicsMagick.org/

$ convert -version
ImageMagick 6.9.10-11 Q16 x86_64 2018-09-08 https://www.imagemagick.org