]> git.eshelyaron.com Git - emacs.git/commitdiff
* help-fns.el (find-lisp-object-file-name): Locate .emacs from .emacs.elc (Bug#7530).
authorChong Yidong <cyd@stupidchicken.com>
Tue, 21 Dec 2010 06:45:11 +0000 (14:45 +0800)
committerChong Yidong <cyd@stupidchicken.com>
Tue, 21 Dec 2010 06:45:11 +0000 (14:45 +0800)
lisp/ChangeLog
lisp/help-fns.el

index b3b9295247ffbba032fb9d257e54ad2534185195..48cd0058521e28adaed7cd47863c8a9d065bf6d9 100644 (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).
 
index d49b06a16e638d0cd48cde286cbbded7ea0613e1..b100a4e471dd55f3024159dec8d2bc9a0d143600 100644 (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))))