diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2004-04-29 18:43:32 +0000 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2004-04-29 18:43:32 +0000 |
commit | 2ea0f8fde524c4998c0ab933cd27ecd50c54e09a (patch) | |
tree | 377985ac811df752a60a5228104072084e01c4d0 /lisp/help-mode.el | |
parent | c29dafeb0af5b05fc6fff5e038070f56fdd82cd9 (diff) | |
download | emacs-2ea0f8fde524c4998c0ab933cd27ecd50c54e09a.tar.gz |
(help-function-def, help-variable-def):
Use the new find-function-search-for-symbol functionality.
Allow FILE to be `C-source'.
Diffstat (limited to 'lisp/help-mode.el')
-rw-r--r-- | lisp/help-mode.el | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/lisp/help-mode.el b/lisp/help-mode.el index 4499f5c48cb..1f1b529c8ef 100644 --- a/lisp/help-mode.el +++ b/lisp/help-mode.el @@ -147,14 +147,13 @@ The format is (FUNCTION ARGS...).") :supertype 'help-xref 'help-function (lambda (fun file) (require 'find-func) + (when (eq file 'C-source) + (setq file + (help-C-file-name (indirect-function fun) 'fun))) ;; Don't use find-function-noselect because it follows ;; aliases (which fails for built-in functions). (let ((location - (cond - ((bufferp file) (cons file fun)) - ((string-match "\\`src/\\(.*\\.c\\)" file) - (help-find-C-source fun (match-string 1 file) 'fun)) - (t (find-function-search-for-symbol fun nil file))))) + (find-function-search-for-symbol fun nil file))) (pop-to-buffer (car location)) (goto-char (cdr location)))) 'help-echo (purecopy "mouse-2, RET: find function's definition")) @@ -162,11 +161,9 @@ The format is (FUNCTION ARGS...).") (define-button-type 'help-variable-def :supertype 'help-xref 'help-function (lambda (var &optional file) - (let ((location - (cond - ((string-match "\\`src/\\(.*\\.c\\)" file) - (help-find-C-source var (match-string 1 file) 'var)) - (t (find-variable-noselect var file))))) + (when (eq file 'C-source) + (setq file (help-C-file-name var 'var))) + (let ((location (find-variable-noselect var file))) (pop-to-buffer (car location)) (goto-char (cdr location)))) 'help-echo (purecopy"mouse-2, RET: find variable's definition")) |