summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>2002-08-13 01:49:40 +0000
committerRichard M. Stallman <rms@gnu.org>2002-08-13 01:49:40 +0000
commit2bef95e52038eda9e5382d1f786a1042b8c7d1d3 (patch)
tree6540590076450405e3c62acffaf9bdb12b7695f4 /lisp/emacs-lisp
parent0256550475c324e4b28b2ba93233a5d350e24e31 (diff)
downloademacs-2bef95e52038eda9e5382d1f786a1042b8c7d1d3.tar.gz
emacs-2bef95e52038eda9e5382d1f786a1042b8c7d1d3.tar.bz2
emacs-2bef95e52038eda9e5382d1f786a1042b8c7d1d3.zip
(find-function-search-for-symbol): Obey `definition-name' properties.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/find-func.el4
1 files changed, 4 insertions, 0 deletions
diff --git a/lisp/emacs-lisp/find-func.el b/lisp/emacs-lisp/find-func.el
index 93c1f279e10..1ced2eae808 100644
--- a/lisp/emacs-lisp/find-func.el
+++ b/lisp/emacs-lisp/find-func.el
@@ -118,6 +118,10 @@ If VARIABLE-P is nil, `find-function-regexp' is used, otherwise
`find-variable-regexp' is used. The search is done in library LIBRARY."
(if (null library)
(error "Don't know where `%s' is defined" symbol))
+ ;; Some functions are defined as part of the construct
+ ;; that defines something else.
+ (while (get symbol 'definition-name)
+ (setq symbol (get symbol 'definition-name)))
(save-match-data
(if (string-match "\\.el\\(c\\)\\'" library)
(setq library (substring library 0 (match-beginning 1))))