GNU bug report logs - #72705
31.0.50; eglot--dumb-tryc Filters out too much

Previous Next

Package: emacs;

Reported by: Dmitry Gutov <dmitry <at> gutov.dev>

Date: Mon, 19 Aug 2024 01:53:02 UTC

Severity: normal

Found in version 31.0.50

Done: Dmitry Gutov <dmitry <at> gutov.dev>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Dmitry Gutov <dmitry <at> gutov.dev>
To: João Távora <joaotavora <at> gmail.com>
Cc: 72705 <at> debbugs.gnu.org
Subject: bug#72705: 31.0.50; eglot--dumb-tryc Filters out too much
Date: Mon, 19 Aug 2024 14:39:13 +0300
On 19/08/2024 12:22, João Távora wrote:
> On Mon, Aug 19, 2024 at 2:52 AM Dmitry Gutov <dmitry <at> gutov.dev> wrote:
> 
>> has more completions
>> (one can look at them by pressing TAB after "math.A")
> 
> That's not relevant.  LSP servers can make completely different
> decisions in each position.  What's relevant is to look at the completion
> list returned in the "math.As" case (via the events buffer, for example).

True, but it's hard to look at completions for "math.As" using 
completion-at-point because try-completion behaves this way.

You can also check out Company's completions popup for "math.As" - it 
shows the extra ones.

>> Not sure what's the best fix, but the patch below seems to address both
>> problems in my limited testing. WDYT?
> 
> I would be (pleasantly) surprised if your change doesn't break something
> else.  I tried many many variations in the fairly recent past and each
> of them seemed to break something. Be wary of :exit-function
> which is where things like snippet conversion and edits happen.
> So I'd say this need more testing, especially with more servers.

Here's hoping.

> I also don't understand why the "string-prefix" is being used.
> The "dumb" in eglot--dumb-try should be taken to heart.

string-prefix-p is being used because 'try-completion' will ignore 
non-prefix completions as if they weren't there. We need to make sure 
that the proposed "probe" is indeed a prefix for all completions.

> See logs of commits:
> d376462c7183752bf44b9bd20bf5020fe7eaf75a
> 4dcbf61c1518dc53061707aeff8887517e050003
> a6ef458e3831001b0acad57cf8fa75b77a4aff3f
> 
> You should also encode whatever decisions you make in
> tests in eglot-tests.el.

Thanks for the references, I'll dig in more.

Surprised to hear that exit-function can be affected.




This bug report was last modified 319 days ago.

Previous Next


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