unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Re: emacs-29 bbe35c280c: Prevent stale servers when using eglot-extend-to-xref
       [not found] ` <20221222112935.58A32C05F44@vcs2.savannah.gnu.org>
@ 2022-12-22 15:08   ` Stefan Monnier
  2022-12-22 15:30     ` João Távora
  0 siblings, 1 reply; 4+ messages in thread
From: Stefan Monnier @ 2022-12-22 15:08 UTC (permalink / raw)
  To: João Távora; +Cc: emacs-devel

>     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?


        Stefan




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: emacs-29 bbe35c280c: Prevent stale servers when using eglot-extend-to-xref
  2022-12-22 15:08   ` emacs-29 bbe35c280c: Prevent stale servers when using eglot-extend-to-xref Stefan Monnier
@ 2022-12-22 15:30     ` João Távora
  2022-12-22 15:40       ` Stefan Monnier
  0 siblings, 1 reply; 4+ messages in thread
From: João Távora @ 2022-12-22 15:30 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 667 bytes --]

> >     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

[-- Attachment #2: Type: text/html, Size: 893 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: emacs-29 bbe35c280c: Prevent stale servers when using eglot-extend-to-xref
  2022-12-22 15:30     ` João Távora
@ 2022-12-22 15:40       ` Stefan Monnier
  2022-12-22 15:43         ` João Távora
  0 siblings, 1 reply; 4+ messages in thread
From: Stefan Monnier @ 2022-12-22 15:40 UTC (permalink / raw)
  To: João Távora; +Cc: emacs-devel

>> 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?

The usual tension between trying to silently push the unexpected corner
case under the rug vs trying to avoid those corner cases
staying unnoticed.

> Does value-weakness in a typically small hash table hurt GC
> significantly somehow?

I'd doubt it.  They do come at a cost, of course, but so
does everything.


        Stefan




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: emacs-29 bbe35c280c: Prevent stale servers when using eglot-extend-to-xref
  2022-12-22 15:40       ` Stefan Monnier
@ 2022-12-22 15:43         ` João Távora
  0 siblings, 0 replies; 4+ messages in thread
From: João Távora @ 2022-12-22 15:43 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 484 bytes --]

On Thu, Dec 22, 2022 at 3:40 PM Stefan Monnier <monnier@iro.umontreal.ca>
wrote:

> >> 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?
>
> The usual tension between trying to silently push the unexpected corner
> case under the rug vs trying to avoid those corner cases
> staying unnoticed.
>

Yeah, you're right.  Let's do the latter.

João

[-- Attachment #2: Type: text/html, Size: 856 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-12-22 15:43 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <167170857225.23253.4229481345211602184@vcs2.savannah.gnu.org>
     [not found] ` <20221222112935.58A32C05F44@vcs2.savannah.gnu.org>
2022-12-22 15:08   ` emacs-29 bbe35c280c: Prevent stale servers when using eglot-extend-to-xref Stefan Monnier
2022-12-22 15:30     ` João Távora
2022-12-22 15:40       ` Stefan Monnier
2022-12-22 15:43         ` João Távora

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).