Commit 0728ab11 authored by Stefan Monnier's avatar Stefan Monnier
Browse files

(help-function-def, help-variable-def): Handle hyperrefs

to C source files specially.
parent 583a15bb
;;; help-mode.el --- `help-mode' used by *Help* buffers
;; Copyright (C) 1985, 1986, 1993, 1994, 1998, 1999, 2000, 2001, 2002
;; Copyright (C) 1985, 1986, 1993, 1994, 1998, 1999, 2000, 2001, 2002, 2004
;; Free Software Foundation, Inc.
;; Maintainer: FSF
......@@ -150,8 +150,11 @@ The format is (FUNCTION ARGS...).")
;; Don't use find-function-noselect because it follows
;; aliases (which fails for built-in functions).
(let ((location
(if (bufferp file) (cons file fun)
(find-function-search-for-symbol fun nil file))))
(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)))))
(pop-to-buffer (car location))
(goto-char (cdr location))))
'help-echo (purecopy "mouse-2, RET: find function's definition"))
......@@ -160,7 +163,10 @@ The format is (FUNCTION ARGS...).")
:supertype 'help-xref
'help-function (lambda (var &optional file)
(let ((location
(find-variable-noselect var file)))
(cond
((string-match "\\`src/\\(.*\\.c\\)" file)
(help-find-C-source var (match-string 1 file) 'var))
(t (find-variable-noselect var file)))))
(pop-to-buffer (car location))
(goto-char (cdr location))))
'help-echo (purecopy"mouse-2, RET: find variable's definition"))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment