summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/autoload.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/emacs-lisp/autoload.el')
-rw-r--r--lisp/emacs-lisp/autoload.el12
1 files changed, 7 insertions, 5 deletions
diff --git a/lisp/emacs-lisp/autoload.el b/lisp/emacs-lisp/autoload.el
index 940bc118e46..10f614f48c1 100644
--- a/lisp/emacs-lisp/autoload.el
+++ b/lisp/emacs-lisp/autoload.el
@@ -122,11 +122,13 @@ are used."
;; subdirectory of the current buffer's directory, we'll make it
;; relative to the current buffer's directory.
(setq file (expand-file-name file))
- (if (and (< (length default-directory) (length file))
- (string= default-directory
- (substring file 0 (length default-directory))))
- (progn
- (setq file (substring file (length default-directory)))))
+ (let ((source-truename (file-truename file))
+ (dir-truename (file-name-as-directory
+ (file-truename default-directory))))
+ (if (and (< (length dir-truename) (length source-truename))
+ (string= dir-truename
+ (substring source-truename 0 (length dir-truename))))
+ (setq file (substring file (length dir-truename)))))
(message "Generating autoloads for %s..." file)
(save-excursion