1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-02 02:10:46 -08:00

* Fix two find function functions for native compilation

`find-function-library' and `find-library-name' gets fixed for new eln
compilation directory layout.
This commit is contained in:
Andrea Corallo 2020-03-08 21:30:28 +00:00
parent 6c3efad161
commit f055f52321

View file

@ -184,8 +184,15 @@ See the functions `find-function' and `find-variable'."
LIBRARY should be a string (the name of the library)."
;; If the library is byte-compiled, try to find a source library by
;; the same name.
(when (string-match "\\.el\\([cn]\\(\\..*\\)?\\)\\'" library)
(cond
((string-match "\\.el\\(c\\(\\..*\\)?\\)\\'" library)
(setq library (replace-match "" t t library)))
((string-match "\\.eln$" library)
;; From help-fns.el.
(setq library (expand-file-name (concat (file-name-base library)
".el")
(concat (file-name-directory library)
"..")))))
(or
(locate-file library
(or find-function-source-path load-path)
@ -439,7 +446,7 @@ message about the whole chain of aliases."
(cons function
(cond
((autoloadp def) (nth 1 def))
((subrp def)
((and (subrp def) (not (subr-native-elisp-p def)))
(if lisp-only
(error "%s is a built-in function" function))
(help-C-file-name def 'subr))