GNU bug report logs - #58839
29.0.50; project-kill-buffer fails when Eglot is running

Previous Next

Package: emacs;

Reported by: Philip Kaludercic <philipk <at> posteo.net>

Date: Fri, 28 Oct 2022 12:58:01 UTC

Severity: normal

Found in version 29.0.50

Full log


View this message in rfc822 format

From: Juri Linkov <juri <at> linkov.net>
To: Philip Kaludercic <philipk <at> posteo.net>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 58839 <at> debbugs.gnu.org, João Távora <joaotavora <at> gmail.com>, Dmitry Gutov <dgutov <at> yandex.ru>
Subject: bug#58839: [Patch] Re: bug#58839: 29.0.50; project-kill-buffer fails when Eglot is running
Date: Wed, 02 Nov 2022 19:32:02 +0200
>> OK, one last time.  First, the above principle of encapsulation has
>> nothing to do with LSP or Eglot or Jsonrpc.
>
> Again, it is not given that this applies to buffers.  Robust code should
> be able to handle a missing resource or prevent the resource from being
> revoked.  This is not possible with buffers, so this is a design fault
> with Eglot or Jsonprc. *

While the default value of project-kill-buffer-conditions really
looks too wide (especially covering fundamental-mode and special-mode),
OTOH I completely support the request to make Eglot more resilient
to unforeseeable situations.  Currently it's so brittle, so I get a lot
of such errors all the time:

Debugger entered--Lisp error: (wrong-type-argument arrayp nil)
  file-truename(nil)
  eglot--path-to-uri(nil)
  eglot--TextDocumentIdentifier()
  eglot--signal-textDocument/didClose()
  kill-buffer(#<buffer  *xref-temp*>)
  xref--convert-hits(...)
  xref-matches-in-files("word" ...)
  project--find-regexp-in-files("word" ...)
  apply(project--find-regexp-in-files ("word" ...))
  xref--show-xref-buffer(...)
  xref--show-xrefs(...)
  xref-show-xrefs(...)
  project-find-regexp("word")
  funcall-interactively(project-find-regexp "word")
  command-execute(project-find-regexp)




This bug report was last modified 2 years and 281 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.