GNU bug report logs -
#68699
Eglot completion has stopped working in some cases
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#68699: Eglot completion has stopped working in some cases
which was filed against the emacs package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 68699 <at> debbugs.gnu.org.
--
68699: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=68699
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Great, thanks for testing. Closing. I've release Eglot 1.17
with this fix and another completion-related fix.
João
[Message part 3 (message/rfc822, inline)]
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)
This bug report was last modified 1 year and 118 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.