Re: eglot-tests fail for emacs-31 branch

João Távora <[email protected]>
Newsgroups gmane.emacs.devel
Message-ID <CALDnm532a6OXBUtKt5WMqmrXZYw+ZofjfyP-buYYO+mUApia8w@mail.gmail.com>
On Thu, Jul 23, 2026, 14:21 Michael Albinus <[email protected]> wrote:

>
.  It's just EMBA is not doing that (and shouldn't have to
> > worry about that, IMO).
>
> What do you mean with "configure ... correctly"? There is absolute no
> information about which versions of typescript-language-server and
> vscode-json-languageserver must be used.
>

Because there is no such information anywhere in the planet or need for it.
It's probably not even a question of versions at all. Eglot works with any
server that speaks LSP.

Again, what happened is just that that naive (but perfectly reasonable)
'npm install typescript-language-server' ceased to work. It would seem now
that something else must be added there to make it work, possibly some
other package or configuration thingy. What? Damned if I know... or care.
Just pin the version like I told you and move on.

> If we give some guidamce in Emacs which versions have be tested, she will
do. And Emba will follow this doc.

I've already told you. ANY functioning version will do. Much like any
coffee machine will pour some semblance of coffee if you put water and
beans and plug it in to some source of power.

It is a suggestion you have made for elpa. Document it in Emacs, that
> users in  the wild (who don't know emba) can apply, and emba will follow.


No! it's absolutely not my job to teach users about configuring pieces of
software other than Emacs how to configure them so they work. That would be
the same as Emacs telling you how to setup your printer or drag a window or
adjust your monitor. Emacs usage rather implies "get a functioning printer,
Emacs will print to it".  The Eglot manual is clear about where this line
is drawn from day 1:

"The language server program must be installed separately, and is not
further discussed in this manual; refer to the documentation of the
particular server(s) you want to install."

Now, as Eglot maintainer I don't give a @$,#+ about this particular server
or have a strong inclination to go debug this basic failure on its part. As
a JS programmer I possibly would give a 4&_+$#, but fortunately I'm not
over anymore.

So I got lucky and found out how to install a functioning typescript
-language-server for EMBA: just pin the version. You've even verified it
works!!! Now, there are probably many many better ways for real JS
programmers who want to actually use Eglot. Possibly, indeed likely, these
users wouldn't settle for old versions, or even use npm, maybe the real
leet JS bros don't even use this server. But it's perfectly up to the job
of helping run Eglot tests to check if it can be connected in a JS buffer
and do some basic things. It'll work for now and for the foreseeable future.

> But if you prefer finding the server in apt or snap or the newest JS
> > package manager du jour I have no objections of course.
>
> Again, emba will follow any recommendation which is documented. Just
> pinning a version because you told me so is of no help for users in the
> wild.
>

This is not a problem of any other user other than EMBA (or you rather).
EMBA
, like any other Eglot user, must configure the servers separately. And
that job was easy until now, when JS land messed up. So Michael, as EMBA
caretaker, just pin the version and move on. Trust me on this.

> I hope I've explained above why that is counter-productive: such a
> > condition would be complex to setup, fragile and needlessly cripple the
> > tests for other functional non-EMBA typescript-language-server
> > installations.
>
> ??? Simple find out why this configuration doesn't work. I'm convinced
> it is a (sub-)feature of a language server which behves different
> now. If we know what it is, and we handle it in eglot and/or
> eglot-tests. everybody would profit from. Not only emba tests.
>

No, there are hundreds of language servers and many are broken at one point
or another. Debugging this npm "bleeding edge" problem for this particular
server is completely pointless for Emacs and Eglot in particular. Might
make sense for JS programmers to worry about that, or maybe they've agreed
that's how it should work from now on...

> I really wouldn't be happy :-), just indifferent.  There would be
> > nothing to fix, and nothing interesting to learn.  This particular
> > problem ("the server is here but typescript not found") is a failure by
> > the user and typescript-language-server (chiefly the latter, probably)
> > to set things up correctly.  That's completely outside the realm of
> > Eglot, so my answer would be say sorry and close the bug.
>
> I believe it is too simple. We are responsible to help users fixing
> their problems. With such an approach, Tramp (I'm responsible for) would
> be dead sfor decades.
>
> Yes, we diagree in our philisophy.


Tramp and Eglot are completely different programs. So I can understand why
you have that particular biased view of things, and you've likely lost much
hair debugging ssh and fish and sudo problems. Kudos for that, TRAMP is a
superhero program. Now, have you ever used Eglot at all? LSP is a
completely different approach to system interoperation than remote shells
and such. There are indeed "fat" Emacs LSP clients that do the installation
of some servers and hide some of that mess from you. Those would possibly
be more worried about this npm failure (or not, they probably get the
server from somewhere else...).Anyway Eglot is NOT that system.

Also just to clarify this other doubt may have, the test signal I'm
interested in is not "are the all the LSP features of this  particular JS
server working fine with Eglot".  I'm just looking for "does Eglot for
JavaScript work with some server in and basic capacity?".

Anyway, I think that's it!

João

PS: Trust me Michael, pin the versions :)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.