Subject: bug#66144: 29.1; eglot-shutdown request params violate JSONRPC

From: Javier Olaechea <[email-masked]>
Date: Sat, 14 Oct 2023 15:14:14 -0500

> Can you test gopls shutdowns
with your patch Javier?

I have tested locally with gopls v0.11.0 and M-x eglot-shutdown works
successfully afaict. Both w/o and w/ the patch applied.

However I think it might be better to modify jsonrpc-request so that when
the param argument is nil the JSON serialization omits the param key. I'm
thinking of using the `,@(when param (list param)) idiom. jsonrpc has
tests. I'd like to give it a go this weekend to see if I can come up with
an acceptable way to have jsonrpc.el conform with the standard w/o changing
the API. What do you think?

On Sat, Oct 14, 2023 at 1:30 PM João Távora <[email-masked]> wrote:

> On Sat, Oct 14, 2023 at 7:02 PM João Távora <[email-masked]> wrote:
> >
> > On Sat, Oct 14, 2023 at 6:19 PM Javier Olaechea <[email-masked]>
> wrote:
> > >
> > > > If you can find some Eglot use case that is actually hurt by this,
> we can reopen.
> > >
> > > The OP has an Eglot use case that is hurt by this, they cannot
> shutdown the ocamllsp server. Because when they call M-x eglot-shutdown,
> eglot sends an invalid request. The server dies instead of returning a
> response and then eglot restarts the server.
> >
> > But what OP?  I don't see this message, can you point to it?
>
> OK, I see the message now.  In that case that changes things.
> One of the misbehaving servers has to correct itself.  I'd say it
> should be gopls.
>
> Unless that has already happened.  Can you test gopls shutdowns
> with your patch Javier?
>
> João
>

-- 
"I object to doing things that computers can do." — Olin Shivers