summaryrefslogtreecommitdiff
path: root/lisp/wid-edit.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/wid-edit.el')
-rw-r--r--lisp/wid-edit.el8
1 files changed, 7 insertions, 1 deletions
diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el
index f7926ba3d45..ec9fdcdc596 100644
--- a/lisp/wid-edit.el
+++ b/lisp/wid-edit.el
@@ -2637,7 +2637,13 @@ when he invoked the menu."
(defun widget-documentation-link-action (widget &optional event)
"Run apropos on WIDGET's value. Ignore optional argument EVENT."
- (apropos (concat "\\`" (regexp-quote (widget-get widget :value)) "\\'")))
+ (let* ((string (widget-get widget :value))
+ (symbol (intern string)))
+ (if (and (fboundp symbol) (boundp symbol))
+ (apropos (concat "\\`" (regexp-quote string) "\\'"))
+ (if (fboundp symbol)
+ (describe-function symbol)
+ (describe-variable symbol)))))
(defcustom widget-documentation-links t
"Add hyperlinks to documentation strings when non-nil."