> >     A weak-valued hash-table is not enough to guarantee that a reference
> >     to a zombie server in eglot--servers-by-xrefed-file variable won't
> >     survive long enough to confuse the next call to eglot--current-server
> >     in some buffers.
> [...]
> > +(defvar eglot--servers-by-xrefed-file
> > +  (make-hash-table :test 'equal :weakness 'value))
> Do we still need it to be weak?

Prolly not, if we presume the operations running up to the
new cleanup can't throw.  Probably a fair assumption. 
But better be safe? Does value-weakness in a typically small
hash table hurt GC significantly somehow?  Anyway, feel free
to remove.

João