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

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

[elpa] externals/eglot 2b87b06d9e: Fix #508: Don't ignore flymake-no-cha


From: ELPA Syncer
Subject: [elpa] externals/eglot 2b87b06d9e: Fix #508: Don't ignore flymake-no-changes-timeout
Date: Thu, 19 May 2022 05:57:34 -0400 (EDT)

branch: externals/eglot
commit 2b87b06d9ef15e7c39d87fd5a4375b6deaa7e322
Author: João Távora <joaotavora@gmail.com>
Commit: João Távora <joaotavora@gmail.com>

    Fix #508: Don't ignore flymake-no-changes-timeout
    
    Also per #957.
    
    Only actually and eagerly report LSP diagnotics if the user has
    Flymake starting automatically on a timer (flymake-no-changes-timeout
    is a number).
    
    By contrast, if flymake-no-changes-timeout is nil, the user starts the
    diagnostic collection process on-demand via 'M-x flymake-start'.
    
    Since the control of such collection is impossible with LSP, we should
    just hold on to whatever diagnostics we have (which are presumably
    up-to-date) until the next invocation of 'eglot-flymake-backend'.
    
    For now, this doesn't affect Flymake "list-only" diagnostics.  Those
    are reported via the 'flymake-list-only-diagonstics' variable and
    are always communicated immediately to it.
    
    * eglot.el: (eglot-handle-notification
    textDocument/publishDiagnostics): Consult flymake-no-changes-timeout.
    
    Suggested-by: Jim Davis <jim.jd.davis@gmail.com>
---
 eglot.el | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/eglot.el b/eglot.el
index e8f060cd64..4e28de1875 100644
--- a/eglot.el
+++ b/eglot.el
@@ -1996,7 +1996,11 @@ COMMAND is a symbol naming the command."
                                              collect it)))
                           `((face . ,faces))))))
            into diags
-           finally (cond (eglot--current-flymake-report-fn
+           finally (cond ((and
+                           ;; only add to current report if Flymake
+                           ;; starts on idle-timer (github#958)
+                           (not (null flymake-no-changes-timeout))
+                           eglot--current-flymake-report-fn)
                           (eglot--report-to-flymake diags))
                          (t
                           (setq eglot--diagnostics diags)))))



reply via email to

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