]> git.eshelyaron.com Git - emacs.git/commitdiff
Correctly make lsp positions in narrowed buffers
authorMichal Krzywkowski <k.michal@zoho.com>
Sat, 28 Jul 2018 17:14:02 +0000 (19:14 +0200)
committerJoão Távora <joaotavora@gmail.com>
Sat, 28 Jul 2018 17:14:02 +0000 (18:14 +0100)
* eglot.el (eglot--pos-to-lsp-position): Fix return value when
  narrowing is in effect.

GitHub-reference: close https://github.com/joaotavora/eglot/issues/54

lisp/progmodes/eglot.el

index 3c01657abb7bc7425568ae5fdf8e608003af06bd..fbc6a53db5eb79ae717c98f3e30efe59d85f2cdf 100644 (file)
@@ -597,10 +597,10 @@ CONNECT-ARGS are passed as additional arguments to
 
 (defun eglot--pos-to-lsp-position (&optional pos)
   "Convert point POS to LSP position."
-  (save-excursion
-    (list :line (1- (line-number-at-pos pos t)) ; F!@&#$CKING OFF-BY-ONE
-          :character (- (goto-char (or pos (point)))
-                        (line-beginning-position)))))
+  (eglot--widening
+   (list :line (1- (line-number-at-pos pos t)) ; F!@&#$CKING OFF-BY-ONE
+         :character (- (goto-char (or pos (point)))
+                       (line-beginning-position)))))
 
 (defun eglot--lsp-position-to-point (pos-plist &optional marker)
   "Convert LSP position POS-PLIST to Emacs point.