summaryrefslogtreecommitdiff
path: root/lisp/progmodes/elisp-mode.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/progmodes/elisp-mode.el')
-rw-r--r--lisp/progmodes/elisp-mode.el10
1 files changed, 7 insertions, 3 deletions
diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el
index 29f1c9aeb6b..ff427fd51da 100644
--- a/lisp/progmodes/elisp-mode.el
+++ b/lisp/progmodes/elisp-mode.el
@@ -599,9 +599,13 @@ It can be quoted, or be inside a quoted form."
(find-function-library sym)))
(setq sym (car fun-lib))
(cdr fun-lib))))
- (`defvar (when (boundp sym)
- (or (symbol-file sym 'defvar)
- (help-C-file-name sym 'var))))
+ (`defvar (and (boundp sym)
+ ;; Don't show minor modes twice.
+ ;; TODO: If TYPE ever becomes dependent on the
+ ;; context, move this check outside.
+ (not (fboundp sym))
+ (or (symbol-file sym 'defvar)
+ (help-C-file-name sym 'var))))
(`feature (when (featurep sym)
(ignore-errors
(find-library-name (symbol-name sym)))))