summaryrefslogtreecommitdiff
path: root/gnu/packages/patches
diff options
context:
space:
mode:
authorJavier Olaechea <[email protected]>2025-01-15 19:48:42 -0500
committerLiliana Marie Prikler <[email protected]>2025-01-19 13:06:09 +0100
commit5aa63d06a9348c9fcd907916488e8840b6d21bc2 (patch)
treee78c84f10d18a9ed5d78e545264c076c003dd3f6 /gnu/packages/patches
parent56dff9d30386bea657975550a07a4871bf31114d (diff)
gnu: emacs-eglot-x: Fix compatibility with emacs-eglot.
The current emacs-eglot-x version we package is broken when used with an eglot version higher than 1.16 (emacs-eglot is currently at version 1.17). Upstream has an as-of-yet unreleased fix, so let's backport that to our package. * gnu/packages/patches/emacs-eglot-x-fix-apply-text-edits.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it here. * gnu/packages/emacs-xyz.scm (emacs-eglot-x)[patches]: Use it here. Change-Id: Id39f4805dc37902048139049785a4f7852202a8c Signed-off-by: Liliana Marie Prikler <[email protected]>
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r--gnu/packages/patches/emacs-eglot-x-fix-apply-text-edits.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/gnu/packages/patches/emacs-eglot-x-fix-apply-text-edits.patch b/gnu/packages/patches/emacs-eglot-x-fix-apply-text-edits.patch
new file mode 100644
index 0000000000..b9dcebded3
--- /dev/null
+++ b/gnu/packages/patches/emacs-eglot-x-fix-apply-text-edits.patch
@@ -0,0 +1,23 @@
+diff --git a/eglot-x.el b/eglot-x.el
+index a694f90..221822d 100644
+--- a/eglot-x.el
++++ b/eglot-x.el
+@@ -659,10 +659,17 @@ (defun eglot-x--check-capability (&rest capabilities)
+
+ ;;; Snippet TextEdit
+
+-(defun eglot-x--apply-text-edits (edits &optional version)
++(defun eglot-x--apply-text-edits (edits &optional version silent)
+ "Apply EDITS for current buffer if at VERSION, or if it's nil.
+ This is almost a verbatim copy of `eglot--apply-text-edits', but
+ it handles the SnippetTextEdit format."
++ ;; NOTE: eglot--apply-text-edits changed a lot since this defun was
++ ;; imlemented. Additionally, rust-analyzer has changed as well.
++ ;; Now it only sends one SnippetTextEdit. Hence the implementation
++ ;; should be updated, but "if it ain't broke, don't fix it". And
++ ;; this whole extension is going to be obsoleted soon:
++ ;; https://github.com/microsoft/language-server-protocol/issues/724#issuecomment-1850413029
++
+ ;; This is quite rust-analyzer specific. It assumes there is at
+ ;; most one meaningful SnippetTextEdit and that can be identified by
+ ;; searching for "$0".