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

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

[elpa] externals/eglot 1671dc4 12/69: Fix #209: protect against null mes


From: João Távora
Subject: [elpa] externals/eglot 1671dc4 12/69: Fix #209: protect against null messages from eldoc
Date: Sun, 20 Oct 2019 08:21:43 -0400 (EDT)

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

    Fix #209: protect against null messages from eldoc
    
    * eglot.el (eglot--eldoc-message): Protect against nil FORMAT.
---
 eglot.el | 41 +++++++++++++++++++++--------------------
 1 file changed, 21 insertions(+), 20 deletions(-)

diff --git a/eglot.el b/eglot.el
index d251bcb..799ab10 100644
--- a/eglot.el
+++ b/eglot.el
@@ -2070,26 +2070,27 @@ Buffer is displayed with `display-buffer', which obeys
   :type 'boolean)
 
 (defun eglot--eldoc-message (format &rest args)
-  (let ((string (apply #'format format args))) ;; FIXME: overworking?
-    (when (or (eq t eglot-put-doc-in-help-buffer)
-              (funcall eglot-put-doc-in-help-buffer string))
-      (with-current-buffer (eglot--help-buffer)
-        (rename-buffer (format "*eglot-help for %s*" eglot--eldoc-hint))
-        (let ((inhibit-read-only t))
-          (erase-buffer)
-          (insert string)
-          (goto-char (point-min))
-          (if eglot-auto-display-help-buffer
-              (display-buffer (current-buffer))
-            (unless (get-buffer-window (current-buffer))
-              (eglot--message
-               "%s\n(...truncated. Full help is in `%s')"
-               (truncate-string-to-width
-                (replace-regexp-in-string "\\(.*\\)\n.*" "\\1" string)
-                (frame-width) nil nil "...")
-               (buffer-name eglot--help-buffer))))
-          (help-mode)
-          t)))))
+  (when format
+    (let ((string (apply #'format format args))) ;; FIXME: overworking?
+      (when (or (eq t eglot-put-doc-in-help-buffer)
+                (funcall eglot-put-doc-in-help-buffer string))
+        (with-current-buffer (eglot--help-buffer)
+          (rename-buffer (format "*eglot-help for %s*" eglot--eldoc-hint))
+          (let ((inhibit-read-only t))
+            (erase-buffer)
+            (insert string)
+            (goto-char (point-min))
+            (if eglot-auto-display-help-buffer
+                (display-buffer (current-buffer))
+              (unless (get-buffer-window (current-buffer))
+                (eglot--message
+                 "%s\n(...truncated. Full help is in `%s')"
+                 (truncate-string-to-width
+                  (replace-regexp-in-string "\\(.*\\)\n.*" "\\1" string)
+                  (frame-width) nil nil "...")
+                 (buffer-name eglot--help-buffer))))
+            (help-mode)
+            t))))))
 
 (defun eglot-eldoc-function ()
   "EGLOT's `eldoc-documentation-function' function.



reply via email to

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