GNU bug report logs - #68699
Eglot completion has stopped working in some cases

Previous Next

Package: emacs;

Reported by: Brennan Vincent <brennan <at> umanwizard.com>

Date: Wed, 24 Jan 2024 20:38:01 UTC

Severity: normal

Done: João Távora <joaotavora <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 68699 in the body.
You can then email your comments to 68699 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#68699; Package emacs. (Wed, 24 Jan 2024 20:38:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Brennan Vincent <brennan <at> umanwizard.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 24 Jan 2024 20:38:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Brennan Vincent <brennan <at> umanwizard.com>
To: bug-gnu-emacs <at> gnu.org, João Távora
 <joaotavora <at> gmail.com>
Subject: Eglot completion has stopped working in some cases
Date: Wed, 24 Jan 2024 15:37:19 -0500
I bisected the issue to e93d99a4a0ce578249304dce350465c580a49892, so
including João.

In some cases when attempting to complete using eglot, I am getting
errors rather than a list of completions. I haven't been able to debug
why but it seems to be happening in "pcm" completion style.

For example, in a Rust crate with the following main file:

fn foo_len() {
}

fn main() {
    len
}

positioning my cursor after "len" and attempting completion yields the
following error message:

completion-pcm--merge-completions: Internal error: _mm_blend_epi16(…)
(use std::arch::x86_64::_mm_blend_epi16) doesn’t match \`len

Full backtrace:

Debugger entered--Lisp error: (error #("Internal error: _mm_blend_epi16(…) (use std::arch::x86_64::_mm_blend_epi16) doesn’t match \\`len" 16 17 (eglot--lsp-item (:label #("_mm_blend_epi16(…) (use std::arch::x86_64::_mm_blend_epi16)" 0 1 (eglot--lsp-item #5) 5 8 (face completions-common-part)) :kind 3 :detail "unsafe fn(__m128i, __m128i) -> __m128i" :documentation (:kind "markdown" :value "Blend packed 16-bit integers from `a` and `b` using the mask `IMM8`.\n\nThe mask bits determine the selection. A clear bit selects the\ncorresponding element of `a`, and a set bit the corresponding\nelement of `b`.\n\n[Intel's documentation](https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_epi16)") :deprecated :json-false :sortText "fffffff0" :filterText #("_mm_blend_epi16" 5 8 (face completions-common-part)) :insertTextFormat 2 :textEdit (:range (:start (:line 4 :character 4) :end (:line 4 :character 7)) :newText "_mm_blend_epi16(${1:a}, ${2:b})$0") :additionalTextEdits [] :command (:title "triggerParameterHints" :command "rust-analyzer.triggerParameterHints") :data (:position (:textDocument (:uri "file:///home/brennan/test_rust/src/bin/test_rust.rs") :position (:line 4 :character 7)) :imports [(:full_import_path "std::arch::x86_64::_mm_blend_epi16" :imported_name "_mm_blend_epi16")]))) 21 24 (face completions-common-part)))
  signal(error (#("Internal error: _mm_blend_epi16(…) (use std::arch::x86_64::_mm_blend_epi16) doesn’t match \\`len" 16 17 (eglot--lsp-item (:label #("_mm_blend_epi16(…) (use std::arch::x86_64::_mm_blend_epi16)" 0 1 (eglot--lsp-item #6) 5 8 (face completions-common-part)) :kind 3 :detail "unsafe fn(__m128i, __m128i) -> __m128i" :documentation (:kind "markdown" :value "Blend packed 16-bit integers from `a` and `b` using the mask `IMM8`.\n\nThe mask bits determine the selection. A clear bit selects the\ncorresponding element of `a`, and a set bit the corresponding\nelement of `b`.\n\n[Intel's documentation](https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_epi16)") :deprecated :json-false :sortText "fffffff0" :filterText #("_mm_blend_epi16" 5 8 (face completions-common-part)) :insertTextFormat 2 :textEdit (:range (:start (:line 4 :character 4) :end (:line 4 :character 7)) :newText "_mm_blend_epi16(${1:a}, ${2:b})$0") :additionalTextEdits [] :command (:title "triggerParameterHints" :command "rust-analyzer.triggerParameterHints") :data (:position (:textDocument (:uri "file:///home/brennan/test_rust/src/bin/test_rust.rs") :position (:line 4 :character 7)) :imports [(:full_import_path "std::arch::x86_64::_mm_blend_epi16" :imported_name "_mm_blend_epi16")]))) 21 24 (face completions-common-part))))
  error("Internal error: %s doesn't match %s" #("_mm_blend_epi16(…) (use std::arch::x86_64::_mm_blend_epi16)" 0 1 (eglot--lsp-item (:label #2 :kind 3 :detail "unsafe fn(__m128i, __m128i) -> __m128i" :documentation (:kind "markdown" :value "Blend packed 16-bit integers from `a` and `b` using the mask `IMM8`.\n\nThe mask bits determine the selection. A clear bit selects the\ncorresponding element of `a`, and a set bit the corresponding\nelement of `b`.\n\n[Intel's documentation](https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_epi16)") :deprecated :json-false :sortText "fffffff0" :filterText #("_mm_blend_epi16" 5 8 (face completions-common-part)) :insertTextFormat 2 :textEdit (:range (:start (:line 4 :character 4) :end (:line 4 :character 7)) :newText "_mm_blend_epi16(${1:a}, ${2:b})$0") :additionalTextEdits [] :command (:title "triggerParameterHints" :command "rust-analyzer.triggerParameterHints") :data (:position (:textDocument (:uri "file:///home/brennan/test_rust/src/bin/test_rust.rs") :position (:line 4 :character 7)) :imports [(:full_import_path "std::arch::x86_64::_mm_blend_epi16" :imported_name "_mm_blend_epi16")]))) 5 8 (face completions-common-part)) "\\`len")
  completion-pcm--merge-completions((... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) ("len"))
  completion-pcm--merge-try(("len") (... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) "" "")
  completion-pcm-try-completion("len" #f(compiled-function (pattern pred action) #<bytecode 0x19ec37e26e8f5965>) nil 3)
  #f(compiled-function (style) #<bytecode -0x32c2df51d2b464c>)(partial-completion)
  #f(compiled-function (elt) #<bytecode 0x19004498146b82cc>)(partial-completion)
  mapc(#f(compiled-function (elt) #<bytecode 0x19004498146b82cc>) (eglot--dumb-flex basic partial-completion emacs22))
  seq-do(#f(compiled-function (elt) #<bytecode 0x19004498146b82cc>) (eglot--dumb-flex basic partial-completion emacs22))
  seq-some(#f(compiled-function (style) #<bytecode -0x32c2df51d2b464c>) (eglot--dumb-flex basic partial-completion emacs22))
  completion--nth-completion(1 "len" #f(compiled-function (pattern pred action) #<bytecode 0x19ec37e26e8f5965>) nil 3 (metadata (category . eglot-capf) (display-sort-function . #f(compiled-function (completions) #<bytecode -0x67c261ef9006e89>))))
  completion-try-completion("len" #f(compiled-function (pattern pred action) #<bytecode 0x19ec37e26e8f5965>) nil 3 (metadata (category . eglot-capf) (display-sort-function . #f(compiled-function (completions) #<bytecode -0x67c261ef9006e89>))))
  ivy-completion-in-region(#<marker at 35 in test_rust.rs> 38 #f(compiled-function (pattern pred action) #<bytecode 0x19ec37e26e8f5965>) nil)
  completion-in-region(#<marker at 35 in test_rust.rs> 38 #f(compiled-function (pattern pred action) #<bytecode 0x19ec37e26e8f5965>) nil)
  completion-at-point()
  complete-symbol(nil)
  funcall-interactively(complete-symbol nil)
  call-interactively(complete-symbol nil nil)
  command-execute(complete-symbol)





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#68699; Package emacs. (Wed, 24 Jan 2024 20:42:02 GMT) Full text and rfc822 format available.

Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):

From: João Távora <joaotavora <at> gmail.com>
To: Brennan Vincent <brennan <at> umanwizard.com>
Cc: "simon254--- via Bug reports for GNU Emacs,
 the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
Subject: Re: Eglot completion has stopped working in some cases
Date: Wed, 24 Jan 2024 20:41:03 +0000
[Message part 1 (text/plain, inline)]
Ok, but please explain exactly what "attempting completion" amounts to.
Read the manual about how Eglot bugs should be reported, Emacs -Q etc.
Thanks

On Wed, Jan 24, 2024, 20:37 Brennan Vincent <brennan <at> umanwizard.com> wrote:

> I bisected the issue to e93d99a4a0ce578249304dce350465c580a49892, so
> including João.
>
> In some cases when attempting to complete using eglot, I am getting
> errors rather than a list of completions. I haven't been able to debug
> why but it seems to be happening in "pcm" completion style.
>
> For example, in a Rust crate with the following main file:
>
> fn foo_len() {
> }
>
> fn main() {
>     len
> }
>
> positioning my cursor after "len" and attempting completion yields the
> following error message:
>
> completion-pcm--merge-completions: Internal error: _mm_blend_epi16(…)
> (use std::arch::x86_64::_mm_blend_epi16) doesn’t match \`len
>
> Full backtrace:
>
> Debugger entered--Lisp error: (error #("Internal error: _mm_blend_epi16(…)
> (use std::arch::x86_64::_mm_blend_epi16) doesn’t match \\`len" 16 17
> (eglot--lsp-item (:label #("_mm_blend_epi16(…) (use
> std::arch::x86_64::_mm_blend_epi16)" 0 1 (eglot--lsp-item #5) 5 8 (face
> completions-common-part)) :kind 3 :detail "unsafe fn(__m128i, __m128i) ->
> __m128i" :documentation (:kind "markdown" :value "Blend packed 16-bit
> integers from `a` and `b` using the mask `IMM8`.\n\nThe mask bits determine
> the selection. A clear bit selects the\ncorresponding element of `a`, and a
> set bit the corresponding\nelement of `b`.\n\n[Intel's documentation](
> https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_epi16)")
> :deprecated :json-false :sortText "fffffff0" :filterText
> #("_mm_blend_epi16" 5 8 (face completions-common-part)) :insertTextFormat 2
> :textEdit (:range (:start (:line 4 :character 4) :end (:line 4 :character
> 7)) :newText "_mm_blend_epi16(${1:a}, ${2:b})$0") :additionalTextEdits []
> :command (:title "triggerParameterHints" :command
> "rust-analyzer.triggerParameterHints") :data (:position (:textDocument
> (:uri "file:///home/brennan/test_rust/src/bin/test_rust.rs") :position
> (:line 4 :character 7)) :imports [(:full_import_path
> "std::arch::x86_64::_mm_blend_epi16" :imported_name "_mm_blend_epi16")])))
> 21 24 (face completions-common-part)))
>   signal(error (#("Internal error: _mm_blend_epi16(…) (use
> std::arch::x86_64::_mm_blend_epi16) doesn’t match \\`len" 16 17
> (eglot--lsp-item (:label #("_mm_blend_epi16(…) (use
> std::arch::x86_64::_mm_blend_epi16)" 0 1 (eglot--lsp-item #6) 5 8 (face
> completions-common-part)) :kind 3 :detail "unsafe fn(__m128i, __m128i) ->
> __m128i" :documentation (:kind "markdown" :value "Blend packed 16-bit
> integers from `a` and `b` using the mask `IMM8`.\n\nThe mask bits determine
> the selection. A clear bit selects the\ncorresponding element of `a`, and a
> set bit the corresponding\nelement of `b`.\n\n[Intel's documentation](
> https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_epi16)")
> :deprecated :json-false :sortText "fffffff0" :filterText
> #("_mm_blend_epi16" 5 8 (face completions-common-part)) :insertTextFormat 2
> :textEdit (:range (:start (:line 4 :character 4) :end (:line 4 :character
> 7)) :newText "_mm_blend_epi16(${1:a}, ${2:b})$0") :additionalTextEdits []
> :command (:title "triggerParameterHints" :command
> "rust-analyzer.triggerParameterHints") :data (:position (:textDocument
> (:uri "file:///home/brennan/test_rust/src/bin/test_rust.rs") :position
> (:line 4 :character 7)) :imports [(:full_import_path
> "std::arch::x86_64::_mm_blend_epi16" :imported_name "_mm_blend_epi16")])))
> 21 24 (face completions-common-part))))
>   error("Internal error: %s doesn't match %s" #("_mm_blend_epi16(…) (use
> std::arch::x86_64::_mm_blend_epi16)" 0 1 (eglot--lsp-item (:label #2 :kind
> 3 :detail "unsafe fn(__m128i, __m128i) -> __m128i" :documentation (:kind
> "markdown" :value "Blend packed 16-bit integers from `a` and `b` using the
> mask `IMM8`.\n\nThe mask bits determine the selection. A clear bit selects
> the\ncorresponding element of `a`, and a set bit the corresponding\nelement
> of `b`.\n\n[Intel's documentation](
> https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_epi16)")
> :deprecated :json-false :sortText "fffffff0" :filterText
> #("_mm_blend_epi16" 5 8 (face completions-common-part)) :insertTextFormat 2
> :textEdit (:range (:start (:line 4 :character 4) :end (:line 4 :character
> 7)) :newText "_mm_blend_epi16(${1:a}, ${2:b})$0") :additionalTextEdits []
> :command (:title "triggerParameterHints" :command
> "rust-analyzer.triggerParameterHints") :data (:position (:textDocument
> (:uri "file:///home/brennan/test_rust/src/bin/test_rust.rs") :position
> (:line 4 :character 7)) :imports [(:full_import_path
> "std::arch::x86_64::_mm_blend_epi16" :imported_name "_mm_blend_epi16")])))
> 5 8 (face completions-common-part)) "\\`len")
>   completion-pcm--merge-completions((... ... ... ... ... ... ... ... ...
> ... ... ... ... ... ...) ("len"))
>   completion-pcm--merge-try(("len") (... ... ... ... ... ... ... ... ...
> ... ... ... ... ... ...) "" "")
>   completion-pcm-try-completion("len" #f(compiled-function (pattern pred
> action) #<bytecode 0x19ec37e26e8f5965>) nil 3)
>   #f(compiled-function (style) #<bytecode
> -0x32c2df51d2b464c>)(partial-completion)
>   #f(compiled-function (elt) #<bytecode
> 0x19004498146b82cc>)(partial-completion)
>   mapc(#f(compiled-function (elt) #<bytecode 0x19004498146b82cc>)
> (eglot--dumb-flex basic partial-completion emacs22))
>   seq-do(#f(compiled-function (elt) #<bytecode 0x19004498146b82cc>)
> (eglot--dumb-flex basic partial-completion emacs22))
>   seq-some(#f(compiled-function (style) #<bytecode -0x32c2df51d2b464c>)
> (eglot--dumb-flex basic partial-completion emacs22))
>   completion--nth-completion(1 "len" #f(compiled-function (pattern pred
> action) #<bytecode 0x19ec37e26e8f5965>) nil 3 (metadata (category .
> eglot-capf) (display-sort-function . #f(compiled-function (completions)
> #<bytecode -0x67c261ef9006e89>))))
>   completion-try-completion("len" #f(compiled-function (pattern pred
> action) #<bytecode 0x19ec37e26e8f5965>) nil 3 (metadata (category .
> eglot-capf) (display-sort-function . #f(compiled-function (completions)
> #<bytecode -0x67c261ef9006e89>))))
>   ivy-completion-in-region(#<marker at 35 in test_rust.rs> 38
> #f(compiled-function (pattern pred action) #<bytecode 0x19ec37e26e8f5965>)
> nil)
>   completion-in-region(#<marker at 35 in test_rust.rs> 38
> #f(compiled-function (pattern pred action) #<bytecode 0x19ec37e26e8f5965>)
> nil)
>   completion-at-point()
>   complete-symbol(nil)
>   funcall-interactively(complete-symbol nil)
>   call-interactively(complete-symbol nil nil)
>   command-execute(complete-symbol)
>
>
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#68699; Package emacs. (Thu, 25 Jan 2024 00:45:02 GMT) Full text and rfc822 format available.

Message #11 received at submit <at> debbugs.gnu.org (full text, mbox):

From: João Távora <joaotavora <at> gmail.com>
To: Brennan Vincent <brennan <at> umanwizard.com>
Cc: bug-gnu-emacs <at> gnu.org
Subject: Re: Eglot completion has stopped working in some cases
Date: Thu, 25 Jan 2024 00:43:38 +0000
On Wed, Jan 24, 2024 at 8:37 PM Brennan Vincent <brennan <at> umanwizard.com> wrote:

> For example, in a Rust crate with the following main file:
>
> fn foo_len() {
> }
>
> fn main() {
>     len
> }

I've reproduced this with latest master:

~/Source/Emacs/emacs/src/emacs -Q ~/MoreSource/Rust/hello/src/main.rs
-f rust-ts-mode -f eglot

where main.rs is the provided snippet.

Pressing C-M-i with point after 'len' yields the error.

The error only happens in partial-completion is in the completion-styles
variable, so a workaround is to remove partial-completion from
completion-styles, at least in Eglot enabled buffers.

I will look now for the underlying cause.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#68699; Package emacs. (Thu, 25 Jan 2024 01:36:01 GMT) Full text and rfc822 format available.

Message #14 received at submit <at> debbugs.gnu.org (full text, mbox):

From: João Távora <joaotavora <at> gmail.com>
To: Brennan Vincent <brennan <at> umanwizard.com>,
 Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: bug-gnu-emacs <at> gnu.org
Subject: Re: Eglot completion has stopped working in some cases
Date: Thu, 25 Jan 2024 01:35:08 +0000
On Thu, Jan 25, 2024 at 12:43 AM João Távora <joaotavora <at> gmail.com> wrote:
>
> On Wed, Jan 24, 2024 at 8:37 PM Brennan Vincent <brennan <at> umanwizard.com> wrote:
>
> > For example, in a Rust crate with the following main file:
> >
> > fn foo_len() {
> > }
> >
> > fn main() {
> >     len
> > }
>
> I've reproduced this with latest master:
>
> ~/Source/Emacs/emacs/src/emacs -Q ~/MoreSource/Rust/hello/src/main.rs
> -f rust-ts-mode -f eglot
>
> where main.rs is the provided snippet.
>
> Pressing C-M-i with point after 'len' yields the error.
>
> The error only happens in partial-completion is in the completion-styles
> variable, so a workaround is to remove partial-completion from
> completion-styles, at least in Eglot enabled buffers.
>
> I will look now for the underlying cause.

Stefan, this is down to partial-completion somehow thinking
that "\\'len" should match at least some LSP-provided
completion candidate, otherwise it's an "internal error"

I wish I could turn off all the styles from the table but I can
only add to them.  I simply cannot write a reasonable
try-completion thing for LSP completions.  LSP completions
are really designed to be navigated using a company-like
popup.  Without it they should almost always use the *Completions*
buffer, and rarely ever Emacs partial completion shenanigans.

Nevertheless, I need to plug this bug somehow in Eglot.

Brennan, can you try this patch I've just pushed?

diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el
index 511000927cf..c5fbf5eb9d5 100644
--- a/lisp/progmodes/eglot.el
+++ b/lisp/progmodes/eglot.el
@@ -3060,9 +3060,13 @@ eglot--dumb-flex
            finally (cl-return comp)))

 (defun eglot--dumb-allc (pat table pred _point) (funcall table pat pred t))
+(defun eglot--dumb-tryc (pat table pred point)
+  (if-let ((probe (funcall table pat pred nil)))
+      (cons probe (length probe))
+    (cons pat point)))

 (add-to-list 'completion-category-defaults '(eglot-capf (styles
eglot--dumb-flex)))
-(add-to-list 'completion-styles-alist '(eglot--dumb-flex ignore
eglot--dumb-allc))
+(add-to-list 'completion-styles-alist '(eglot--dumb-flex
eglot--dumb-tryc eglot--dumb-allc))

 (defun eglot-completion-at-point ()
   "Eglot's `completion-at-point' function."

João




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#68699; Package emacs. (Thu, 25 Jan 2024 15:35:01 GMT) Full text and rfc822 format available.

Message #17 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Brennan Vincent <brennan <at> umanwizard.com>
To: João Távora <joaotavora <at> gmail.com>
Cc: bug-gnu-emacs <at> gnu.org
Subject: Re: Eglot completion has stopped working in some cases
Date: Thu, 25 Jan 2024 10:34:18 -0500
The issue is fixed for me on latest master, which includes the patch you
mentioned.

João Távora <joaotavora <at> gmail.com> writes:

> On Thu, Jan 25, 2024 at 12:43 AM João Távora <joaotavora <at> gmail.com> wrote:
>>
>> On Wed, Jan 24, 2024 at 8:37 PM Brennan Vincent <brennan <at> umanwizard.com> wrote:
>>
>> > For example, in a Rust crate with the following main file:
>> >
>> > fn foo_len() {
>> > }
>> >
>> > fn main() {
>> >     len
>> > }
>>
>> I've reproduced this with latest master:
>>
>> ~/Source/Emacs/emacs/src/emacs -Q ~/MoreSource/Rust/hello/src/main.rs
>> -f rust-ts-mode -f eglot
>>
>> where main.rs is the provided snippet.
>>
>> Pressing C-M-i with point after 'len' yields the error.
>>
>> The error only happens in partial-completion is in the completion-styles
>> variable, so a workaround is to remove partial-completion from
>> completion-styles, at least in Eglot enabled buffers.
>>
>> I will look now for the underlying cause.
>
> Stefan, this is down to partial-completion somehow thinking
> that "\\'len" should match at least some LSP-provided
> completion candidate, otherwise it's an "internal error"
>
> I wish I could turn off all the styles from the table but I can
> only add to them.  I simply cannot write a reasonable
> try-completion thing for LSP completions.  LSP completions
> are really designed to be navigated using a company-like
> popup.  Without it they should almost always use the *Completions*
> buffer, and rarely ever Emacs partial completion shenanigans.
>
> Nevertheless, I need to plug this bug somehow in Eglot.
>
> Brennan, can you try this patch I've just pushed?
>
> diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el
> index 511000927cf..c5fbf5eb9d5 100644
> --- a/lisp/progmodes/eglot.el
> +++ b/lisp/progmodes/eglot.el
> @@ -3060,9 +3060,13 @@ eglot--dumb-flex
>             finally (cl-return comp)))
>
>  (defun eglot--dumb-allc (pat table pred _point) (funcall table pat pred t))
> +(defun eglot--dumb-tryc (pat table pred point)
> +  (if-let ((probe (funcall table pat pred nil)))
> +      (cons probe (length probe))
> +    (cons pat point)))
>
>  (add-to-list 'completion-category-defaults '(eglot-capf (styles
> eglot--dumb-flex)))
> -(add-to-list 'completion-styles-alist '(eglot--dumb-flex ignore
> eglot--dumb-allc))
> +(add-to-list 'completion-styles-alist '(eglot--dumb-flex
> eglot--dumb-tryc eglot--dumb-allc))
>
>  (defun eglot-completion-at-point ()
>    "Eglot's `completion-at-point' function."
>
> João





Reply sent to João Távora <joaotavora <at> gmail.com>:
You have taken responsibility. (Thu, 25 Jan 2024 19:12:02 GMT) Full text and rfc822 format available.

Notification sent to Brennan Vincent <brennan <at> umanwizard.com>:
bug acknowledged by developer. (Thu, 25 Jan 2024 19:12:02 GMT) Full text and rfc822 format available.

Message #22 received at 68699-done <at> debbugs.gnu.org (full text, mbox):

From: João Távora <joaotavora <at> gmail.com>
To: Brennan Vincent <brennan <at> umanwizard.com>
Cc: 68699-done <at> debbugs.gnu.org
Subject: Re: bug#68699: Eglot completion has stopped working in some cases
Date: Thu, 25 Jan 2024 19:11:19 +0000
Great, thanks for testing.  Closing.  I've release Eglot 1.17
with this fix and another completion-related fix.

João




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 23 Feb 2024 12:24:17 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 117 days ago.

Previous Next


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