Subject: bug#62198: eglot feature request: set Initialize.ClientInfo.{Name,Version}

From: João Távora <[email-masked]>
Date: Thu, 29 Jun 2023 17:02:44 +0100

On Thu, Jun 29, 2023 at 4:46 PM Felician Nemeth
<[email-masked]> wrote:
>
> 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.

I thinkt the lisp-mnt-at-compile-time solution is preferable, as I'm
not sure 'eglot always lives in package-alist (sometimes it is a
built-in and that is a royal pain).  Can you show an
updated patch for it, when you have time, Felicián?

João