emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/eglot 53bfdb7 19/26: Per #173: adjust previous fix


From: João Távora
Subject: [elpa] externals/eglot 53bfdb7 19/26: Per #173: adjust previous fix
Date: Sun, 9 Dec 2018 19:11:28 -0500 (EST)

branch: externals/eglot
commit 53bfdb7087b9b4a7c79abc3863c90b6d06ecca1f
Author: João Távora <address@hidden>
Commit: João Távora <address@hidden>

    Per #173: adjust previous fix
    
    * eglot.el (eglot--before-change): Don't reset
    eglot--last-inserted-char here.
    (eglot--pre-command-hook): Do it here.
    (eglot--managed-mode): Add/remove eglot--pre-command-hook to/from
    pre-command-hook.
---
 eglot.el | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/eglot.el b/eglot.el
index 3bb93dc..727b761 100644
--- a/eglot.el
+++ b/eglot.el
@@ -1055,6 +1055,7 @@ and just return it.  PROMPT shouldn't end with a question 
mark."
     (add-hook 'completion-at-point-functions #'eglot-completion-at-point nil t)
     (add-hook 'change-major-mode-hook 'eglot--managed-mode-onoff nil t)
     (add-hook 'post-self-insert-hook 'eglot--post-self-insert-hook nil t)
+    (add-hook 'pre-command-hook 'eglot--pre-command-hook nil t)
     (add-function :before-until (local 'eldoc-documentation-function)
                   #'eglot-eldoc-function)
     (add-function :around (local 'imenu-create-index-function) #'eglot-imenu)
@@ -1072,6 +1073,7 @@ and just return it.  PROMPT shouldn't end with a question 
mark."
     (remove-hook 'completion-at-point-functions #'eglot-completion-at-point t)
     (remove-hook 'change-major-mode-hook #'eglot--managed-mode-onoff t)
     (remove-hook 'post-self-insert-hook 'eglot--post-self-insert-hook t)
+    (remove-hook 'pre-command-hook 'eglot--pre-command-hook t)
     (remove-function (local 'eldoc-documentation-function)
                      #'eglot-eldoc-function)
     (remove-function (local 'imenu-create-index-function) #'eglot-imenu)
@@ -1394,6 +1396,10 @@ THINGS are either registrations or unregisterations."
   "Set `eglot--last-inserted-char.'"
   (setq eglot--last-inserted-char last-input-event))
 
+(defun eglot--pre-command-hook ()
+  "Reset `eglot--last-inserted-char.'"
+  (setq eglot--last-inserted-char nil))
+
 (defun eglot--CompletionParams ()
   (append
    (eglot--TextDocumentPositionParams)
@@ -1424,10 +1430,7 @@ THINGS are either registrations or unregisterations."
   (when (listp eglot--recent-changes)
     (push `(,(eglot--pos-to-lsp-position start)
             ,(eglot--pos-to-lsp-position end))
-          eglot--recent-changes))
-  ;; Also, reset `eglot--last-inserted-char' which might be set later
-  ;; by `eglot--post-self-insert-hook'.
-  (setq eglot--last-inserted-char nil))
+          eglot--recent-changes)))
 
 (defun eglot--after-change (start end pre-change-length)
   "Hook onto `after-change-functions'.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]