summaryrefslogtreecommitdiff
path: root/lisp/help-mode.el
diff options
context:
space:
mode:
authorLuc Teirlinck <teirllm@auburn.edu>2005-11-14 23:19:42 +0000
committerLuc Teirlinck <teirllm@auburn.edu>2005-11-14 23:19:42 +0000
commite715d9b46f8821f6e7e1469a3e1faa1df2c2d1a9 (patch)
tree8ac5008e4851e5f811ad367d4e750844917ea992 /lisp/help-mode.el
parent7cb1a551058b06a700df497dddbe6831da856d61 (diff)
downloademacs-e715d9b46f8821f6e7e1469a3e1faa1df2c2d1a9.tar.gz
(help-make-xrefs, help-xref-on-pp, help-xref-interned, help-follow):
Make hyperlinks for variables that are unbound, but have a non-nil variable-documentation property.
Diffstat (limited to 'lisp/help-mode.el')
-rw-r--r--lisp/help-mode.el22
1 files changed, 16 insertions, 6 deletions
diff --git a/lisp/help-mode.el b/lisp/help-mode.el
index a2e7fb88663..b7cea179aea 100644
--- a/lisp/help-mode.el
+++ b/lisp/help-mode.el
@@ -384,8 +384,9 @@ that."
(if sym
(cond
((match-string 3) ; `variable' &c
- (and (boundp sym) ; `variable' doesn't ensure
+ (and (or (boundp sym) ; `variable' doesn't ensure
; it's actually bound
+ (get sym 'variable-documentation))
(help-xref-button 8 'help-variable sym)))
((match-string 4) ; `function' &c
(and (fboundp sym) ; similarly
@@ -406,12 +407,15 @@ that."
(facep sym)
(save-match-data (looking-at "[ \t\n]+face\\W")))
(help-xref-button 8 'help-face sym))
- ((and (boundp sym) (fboundp sym))
+ ((and (or (boundp sym)
+ (get sym 'variable-documentation))
+ (fboundp sym))
;; We can't intuit whether to use the
;; variable or function doc -- supply both.
(help-xref-button 8 'help-symbol sym))
((and
- (boundp sym)
+ (or (boundp sym)
+ (get sym 'variable-documentation))
(or
(documentation-property
sym 'variable-documentation)
@@ -518,7 +522,10 @@ See `help-make-xrefs'."
((or (memq sym '(t nil))
(keywordp sym))
nil)
- ((and sym (boundp sym))
+ ((and sym
+ (or (boundp sym)
+ (get sym
+ 'variable-documentation)))
'help-variable))))
(when type (help-xref-button 1 type sym)))
(goto-char (match-end 1)))
@@ -542,7 +549,8 @@ help buffer."
;; Don't record the current entry in the stack.
(setq help-xref-stack-item nil)
(describe-function symbol)))
- (sdoc (when (boundp symbol)
+ (sdoc (when (or (boundp symbol)
+ (get symbol 'variable-documentation))
;; Don't record the current entry in the stack.
(setq help-xref-stack-item nil)
(describe-variable symbol))))
@@ -639,7 +647,9 @@ For the cross-reference format, see `help-make-xrefs'."
(buffer-substring (point)
(progn (skip-syntax-forward "w_")
(point)))))))
- (when (or (boundp sym) (fboundp sym) (facep sym))
+ (when (or (boundp sym)
+ (get sym 'variable-documentation)
+ (fboundp sym) (facep sym))
(help-do-xref pos #'help-xref-interned (list sym))))))