[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/elpa cc183a6 043/139: Fix assorted bugs
From: |
João Távora |
Subject: |
[elpa] externals/elpa cc183a6 043/139: Fix assorted bugs |
Date: |
Mon, 14 May 2018 09:53:32 -0400 (EDT) |
branch: externals/elpa
commit cc183a6c62567bf7fb6303e133455ad9c8da7479
Author: João Távora <address@hidden>
Commit: João Távora <address@hidden>
Fix assorted bugs
* eglot.el (eglot--special-buffer-process): Must be buffer-local.
(eglot--define-process-var): Fix disaster waiting to happen.
(eglot--process-receive): Explicitly pass PROC to
eglot--pending-continuations.
(eglot--textDocument/publishDiagnostics): Clear unreported diagnostics
---
eglot.el | 33 ++++++++++++++++++---------------
1 file changed, 18 insertions(+), 15 deletions(-)
diff --git a/eglot.el b/eglot.el
index f4ac858..5c014f3 100644
--- a/eglot.el
+++ b/eglot.el
@@ -48,7 +48,7 @@
(defvar eglot-editing-mode) ; forward decl
(defvar eglot-mode) ; forward decl
-(defvar eglot--special-buffer-process nil
+(defvar-local eglot--special-buffer-process nil
"Current buffer's eglot process.")
(defun eglot--current-process ()
@@ -78,13 +78,14 @@ after setting it."
(declare (indent 2))
`(progn
(put ',var-sym 'function-documentation ,doc)
- (defun ,var-sym (&optional process)
- (let* ((proc (or process (eglot--current-process-or-lose)))
- (probe (process-get proc ',var-sym)))
- (or probe
- (let ((def ,initval))
- (process-put proc ',var-sym def)
- def))))
+ (defun ,var-sym (proc)
+ (let* ((plist (process-plist proc))
+ (probe (plist-member plist ',var-sym)))
+ (if probe
+ (cadr probe)
+ (let ((def ,initval))
+ (process-put proc ',var-sym def)
+ def))))
(gv-define-setter ,var-sym (to-store &optional process)
(let* ((prop ',var-sym))
,(let ((form '(let ((proc (or ,process
(eglot--current-process-or-lose))))
@@ -417,7 +418,8 @@ identifier. ERROR is non-nil if this is an error."
(let* ((response-id (plist-get message :id))
(err (plist-get message :error))
(continuations (and response-id
- (gethash response-id
(eglot--pending-continuations)))))
+ (gethash response-id
+ (eglot--pending-continuations proc)))))
(eglot--log-event proc
(cond ((not response-id)
'server-notification)
@@ -436,7 +438,7 @@ identifier. ERROR is non-nil if this is an error."
(continuations
(cancel-timer (cl-third continuations))
(remhash response-id
- (eglot--pending-continuations))
+ (eglot--pending-continuations proc))
(cond (err
(apply (cl-second continuations) err))
(t
@@ -655,11 +657,12 @@ running. INTERACTIVE is t if called interactively."
message))))
into diags
finally
- (if eglot--current-flymake-report-fn
- (funcall eglot--current-flymake-report-fn
- diags)
- (setq eglot--unreported-diagnostics
- diags))))))
+ (if (null eglot--current-flymake-report-fn)
+ (setq eglot--unreported-diagnostics
+ diags)
+ (funcall eglot--current-flymake-report-fn
+ diags)
+ (setq eglot--unreported-diagnostics nil))))))
(t
(eglot--message "OK so %s isn't visited" filename)))))
- [elpa] externals/elpa 51ff863 046/139: Must re-announce didOpen after reconnect, (continued)
- [elpa] externals/elpa 51ff863 046/139: Must re-announce didOpen after reconnect, João Távora, 2018/05/14
- [elpa] externals/elpa d2eca65 045/139: Fix another Flymake sync bug, João Távora, 2018/05/14
- [elpa] externals/elpa c95a0a4 041/139: Multiple servers per project are possible, João Távora, 2018/05/14
- [elpa] externals/elpa e60c7fc 013/139: Overhaul async mechanism safety, João Távora, 2018/05/14
- [elpa] externals/elpa a3545fb 050/139: Rename RPC methods for clarity, João Távora, 2018/05/14
- [elpa] externals/elpa 4d4b85d 061/139: eglot-editing-mode becomes eglot--managed-mode, João Távora, 2018/05/14
- [elpa] externals/elpa 4f246b5 017/139: * eglot.el (eglot-mode-map): Move up before minor mode., João Távora, 2018/05/14
- [elpa] externals/elpa a4f99e0 005/139: Introduce and use `eglot--current-process-or-lose', João Távora, 2018/05/14
- [elpa] externals/elpa 8e6488f 023/139: Don't switch to possibly dead buffer in sentinel, João Távora, 2018/05/14
- [elpa] externals/elpa be52e1e 037/139: Rework connection restarting again, João Távora, 2018/05/14
- [elpa] externals/elpa cc183a6 043/139: Fix assorted bugs,
João Távora <=
- [elpa] externals/elpa e8f859e 031/139: Rework commands for connecting and reconnecting, João Távora, 2018/05/14
- [elpa] externals/elpa b511b7d 036/139: Redesign and simplify parser, João Távora, 2018/05/14
- [elpa] externals/elpa b4dd4f8 022/139: Report server status in the mode-line, João Távora, 2018/05/14
- [elpa] externals/elpa 46bb1c0 049/139: Reorganize file, João Távora, 2018/05/14
- [elpa] externals/elpa b69302c 060/139: Make M-x eglot's interactive spec a separate function, João Távora, 2018/05/14
- [elpa] externals/elpa b657b32 068/139: Use rootUri instead of rootPath, João Távora, 2018/05/14
- [elpa] externals/elpa eebd32b 059/139: When user declines to reconnect, first quit existing server, João Távora, 2018/05/14
- [elpa] externals/elpa f1b6485 053/139: Trim some edges and add a bunch of boring RPC methods, João Távora, 2018/05/14
- [elpa] externals/elpa df5d76d 065/139: Reply to client/registerCapability (don't handle it yet), João Távora, 2018/05/14
- [elpa] externals/elpa f76f04e 057/139: More correctly keep track of didOpen/didClose per buffer, João Távora, 2018/05/14