Subject: Re: eglot feature request: set Initialize.ClientInfo.{Name,Version}

From: Felician Nemeth <[email-masked]>
Date: Thu, 29 Jun 2023 17:46:37 +0200

João Távora <[email-masked]> writes:

> On Wed, Jun 28, 2023 at 9:41 PM Alan Donovan <[email-masked]> wrote:
>
>> > >Hi João,
>> > > would you mind making eglot populate the clientInfo.{name,version}
>> > > fields of the Initialize request parameters? All that's necessary is
>> > > the one-line change below, though I'm sure you know a cleaner way to
>> > >express the JSON literal and the version constant.
>> > No I wouldn't mind.
>> Great!   I found that this expression works for the version, assuming
>> eglot is actually installed:
>>
>>  (package-desc-version (cadr (assoc 'eglot package-alist)))
>
> That's the thing.  Sometimes it is installed in that variable, sometimes
> it's a builtin described in some other variable.  There is, I think,
> a library for this.
>
> I've found the bug thread: bug#62198.
>
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=62198
>
> Taking the liberty of CCing there. Felicián was also looking for this.

If Eglot is installed, then it is byte-compiled as well.  The earlier
patch in this bug report made sure that the helper library ('lisp-mnt)
was required only at compile time.  However, the patch worked even if
Eglot was not installed with package.el (but Eglot still needed to be
byte-compiled).

On the other hand, if package-desc-version is acceptable as opposed to
that earlier patch, then it is probably better than not sending a
version number in clientInfo.