1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-29 07:58:28 +00:00

* help-fns.el (find-lisp-object-file-name): Locate .emacs from .emacs.elc (Bug#7530).

This commit is contained in:
Chong Yidong 2010-12-21 14:45:11 +08:00
parent 6bfa51ba88
commit d78cdcf74e
2 changed files with 12 additions and 3 deletions

View File

@ -1,5 +1,8 @@
2010-12-21 Chong Yidong <cyd@stupidchicken.com>
* help-fns.el (find-lisp-object-file-name): Locate .emacs from
.emacs.elc (Bug#7530).
* wid-edit.el (widget-image-find): Remove bogus :ascent spec from
image spec (Bug#7480).

View File

@ -289,13 +289,19 @@ suitable file is found, return nil."
((not (stringp file-name))
;; If we don't have a file-name string by now, we lost.
nil)
;; Now, `file-name' should have become an absolute file name.
;; For files loaded from ~/.emacs.elc, try ~/.emacs.
((let (fn)
(and (string-equal file-name
(expand-file-name ".emacs.elc" "~"))
(file-readable-p (setq fn (expand-file-name ".emacs" "~")))
fn)))
;; When the Elisp source file can be found in the install
;; directory, return the name of that file.
((let ((lib-name
(if (string-match "[.]elc\\'" file-name)
(substring-no-properties file-name 0 -1)
file-name)))
;; When the Elisp source file can be found in the install
;; directory return the name of that file - `file-name' should
;; have become an absolute file name ny now.
(or (and (file-readable-p lib-name) lib-name)
;; The library might be compressed.
(and (file-readable-p (concat lib-name ".gz")) lib-name))))