Subject: Re: bug#48228: json-serialize should signal error when dll is not found [MS Windows]

From: Eli Zaretskii <[email-masked]>
Date: Tue, 04 May 2021 20:42:18 +0300

> Cc: Eli Zaretskii <[email-masked]>, [email-masked], [email-masked]
> From: Dmitry Gutov <[email-masked]>
> Date: Tue, 4 May 2021 19:59:15 +0300
> 
> On 04.05.2021 19:43, Robert Pluim wrote:
> > What makes it error-prone? Those existing testing functions (on
> > Windows) attempt to load the relevant DLL's using the exact same
> > mechanisms as the actual code, so the failure (and success) modes are
> > identical.
> 
> When somebody write code using json-serialize, and it can't do what it 
> was asked to do, it should raise an error.
> 
> I have code like this in a separate project:
> 
>    (cond ((fboundp 'json-parse-buffer)
>           (json-parse-buffer
>            :array-type 'list
>            :object-type 'alist
>            :null-object nil))
>          (t
>           (let ((json-array-type 'list))
>             (json-read))))
> 
> It has been there for a couple of years. And only now I find out that it 
> can fail on MS Windows, because that failure is not reproducible on any 
> other platform.

How is that different from similar code that relies on, say, librsvg
to display SVG images?