Mercurial > emacs
changeset 66874:2f22c8af038b
(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.
author | Luc Teirlinck <teirllm@auburn.edu> |
---|---|
date | Mon, 14 Nov 2005 23:19:42 +0000 |
parents | 2e4874786ab4 |
children | bbb6d767c367 |
files | lisp/help-mode.el |
diffstat | 1 files changed, 16 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/help-mode.el Mon Nov 14 23:16:26 2005 +0000 +++ b/lisp/help-mode.el Mon Nov 14 23:19:42 2005 +0000 @@ -384,8 +384,9 @@ (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 @@ (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 @@ ((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 @@ ;; 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 @@ (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))))))