# HG changeset patch # User Luc Teirlinck # Date 1132010382 0 # Node ID 2f22c8af038b9a536df2e1b4c23eb21ad47e5ea2 # Parent 2e4874786ab44b96849eef23aa52d2d69b09f043 (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. diff -r 2e4874786ab4 -r 2f22c8af038b lisp/help-mode.el --- 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))))))