]> git.eshelyaron.com Git - emacs.git/commitdiff
Reload eldoc if needed on emacs < 28
authorJoão Távora <joaotavora@gmail.com>
Mon, 13 Jul 2020 22:43:35 +0000 (23:43 +0100)
committerJoão Távora <joaotavora@gmail.com>
Mon, 13 Jul 2020 22:56:53 +0000 (23:56 +0100)
ElDoc is preloaded in Emacs, so `require`-ing won't guarantee we are
using the latest version from GNU Elpa when we load eglot.el.  Use an
heuristic to see if we need to `load` it in Emacs < 28.

* eglot.el (Package-Requires): Require eldoc 1.5.0
(top): Sometimes load eldoc

lisp/progmodes/eglot.el

index 87fd9c890254a2af13ec5fd588e2edd2bf1bb53a..865ca03dd321cc3e800ee0f265c5955df87049b3 100644 (file)
@@ -7,7 +7,7 @@
 ;; Maintainer: João Távora <joaotavora@gmail.com>
 ;; URL: https://github.com/joaotavora/eglot
 ;; Keywords: convenience, languages
-;; Package-Requires: ((emacs "26.1") (jsonrpc "1.0.9") (flymake "1.0.9") (project "0.3.0") (xref "1.0.1") (eldoc "1.2.0"))
+;; Package-Requires: ((emacs "26.1") (jsonrpc "1.0.9") (flymake "1.0.9") (project "0.3.0") (xref "1.0.1") (eldoc "1.5.0"))
 
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
 (require 'filenotify)
 (require 'ert)
 (require 'array)
+
+;; ElDoc is preloaded in Emacs, so `require'-ing won't guarantee we are
+;; using the latest version from GNU Elpa when we load eglot.el.  Use an
+;; heuristic to see if we need to `load' it in Emacs < 28.
+(if (and (< emacs-major-version 28)
+         (not (boundp 'eldoc-documentation-strategy)))
+    (load "eldoc")
+  (require 'eldoc))
+
 ;; forward-declare, but don't require (Emacs 28 doesn't seem to care)
 (defvar markdown-fontify-code-blocks-natively)
 (defvar company-backends)