Mercurial > emacs
changeset 52876:64833a41c107
(help-xref-symbol-regexp): Treat newlines as whitespace.
(help-make-xrefs): Only make cross-references for faces if preceded or
followed by the word `face'. Do not make a cross-reference for
variables without variable documentation, unless preceded by the word
`variable'. Update doc string accordingly.
author | Luc Teirlinck <teirllm@auburn.edu> |
---|---|
date | Sun, 19 Oct 2003 03:58:43 +0000 |
parents | 34db8be1fba8 |
children | aef728111be7 |
files | lisp/help-mode.el |
diffstat | 1 files changed, 20 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/help-mode.el Sun Oct 19 03:56:15 2003 +0000 +++ b/lisp/help-mode.el Sun Oct 19 03:58:43 2003 +0000 @@ -213,7 +213,8 @@ "\\(function\\|command\\)\\|" "\\(face\\)\\|" "\\(symbol\\)\\|" - "\\(source \\(?:code \\)?\\(?:of\\|for\\)\\)\\)\\s-+\\)?" + "\\(source \\(?:code \\)?\\(?:of\\|for\\)\\)\\)" + "[ \t\n]+\\)?" ;; Note starting with word-syntax character: "`\\(\\sw\\(\\sw\\|\\s_\\)+\\)'")) "Regexp matching doc string references to symbols. @@ -278,7 +279,10 @@ references for selection with `help-follow'. Cross-references have the canonical form `...' and the type of reference may be disambiguated by the preceding word(s) used in -`help-xref-symbol-regexp'. +`help-xref-symbol-regexp'. Faces only get cross-referenced if +preceded or followed by the word `face'. Variables without +variable documentation do not get cross-referenced, unless +preceded by the word `variable'. If the variable `help-xref-mule-regexp' is non-nil, find also cross-reference information related to multilingual environment @@ -342,11 +346,11 @@ (sym (intern-soft data))) (if sym (cond - ((match-string 3) ; `variable' &c + ((match-string 3) ; `variable' &c (and (boundp sym) ; `variable' doesn't ensure ; it's actually bound (help-xref-button 8 'help-variable sym))) - ((match-string 4) ; `function' &c + ((match-string 4) ; `function' &c (and (fboundp sym) ; similarly (help-xref-button 8 'help-function sym))) ((match-string 5) ; `face' @@ -354,23 +358,27 @@ (help-xref-button 8 'help-face sym))) ((match-string 6)) ; nothing for `symbol' ((match-string 7) -;; this used: -;; #'(lambda (arg) -;; (let ((location -;; (find-function-noselect arg))) -;; (pop-to-buffer (car location)) -;; (goto-char (cdr location)))) +;;; this used: +;;; #'(lambda (arg) +;;; (let ((location +;;; (find-function-noselect arg))) +;;; (pop-to-buffer (car location)) +;;; (goto-char (cdr location)))) (help-xref-button 8 'help-function-def sym)) ((and (boundp sym) (fboundp sym)) ;; We can't intuit whether to use the ;; variable or function doc -- supply both. (help-xref-button 8 'help-symbol sym)) - ((boundp sym) + ((and + (boundp sym) + (documentation-property sym + 'variable-documentation)) (help-xref-button 8 'help-variable sym)) ((fboundp sym) (help-xref-button 8 'help-function sym)) ((facep sym) - (help-xref-button 8 'help-face sym))))))) + (if (save-match-data (looking-at "[ \t\n]+face\\W")) + (help-xref-button 8 'help-face sym)))))))) ;; An obvious case of a key substitution: (save-excursion (while (re-search-forward