diff options
-rw-r--r-- | lisp/ChangeLog | 2 | ||||
-rw-r--r-- | lisp/Makefile.in | 4 | ||||
-rw-r--r-- | lisp/emacs-lisp/autoload.el | 3 |
3 files changed, 8 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 070e2cf247d..ef07b826091 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,7 @@ 2013-10-30 Glenn Morris <rgm@gnu.org> + * Makefile.in (autoloads): Do not use abs_lisp. + * emacs-lisp/autoload.el (autoload-generate-file-autoloads): `newline' does not respect `standard-output', so use `princ'. diff --git a/lisp/Makefile.in b/lisp/Makefile.in index ffd31efa1d7..ff9439d8951 100644 --- a/lisp/Makefile.in +++ b/lisp/Makefile.in @@ -178,13 +178,15 @@ finder-data: doit $(emacs) -l finder --eval '(setq generated-finder-keywords-file (unmsys--file-name "$(abs_lisp)/finder-inf.el"))' -f finder-compile-keywords-make-dist $$wins # The chmod +w is to handle env var CVSREAD=1. +# Use expand-file-name rather than $abs_lisp so that Emacs does not +# get confused when it compares file-names for equality. autoloads: $(LOADDEFS) doit cd $(lisp) && chmod +w $(AUTOGEN_VCS) cd $(lisp) && $(setwins_almost); \ echo Directories: $$wins; \ $(emacs) -l autoload \ --eval '(setq autoload-builtin-package-versions t)' \ - --eval '(setq generated-autoload-file (unmsys--file-name "$(abs_lisp)/loaddefs.el"))' \ + --eval '(setq generated-autoload-file (expand-file-name (unmsys--file-name "$(lisp)/loaddefs.el")))' \ -f batch-update-autoloads $$wins # This is required by the bootstrap-emacs target in ../src/Makefile, so diff --git a/lisp/emacs-lisp/autoload.el b/lisp/emacs-lisp/autoload.el index 099f06d9135..f94f74a5652 100644 --- a/lisp/emacs-lisp/autoload.el +++ b/lisp/emacs-lisp/autoload.el @@ -528,6 +528,9 @@ Return non-nil if and only if FILE adds no autoloads to OUTFILE (if (stringp generated-autoload-load-name) generated-autoload-load-name (autoload-file-load-name absfile))) + ;; FIXME? Comparing file-names for equality with just equal + ;; is fragile, eg if one has an automounter prefix and one + ;; does not, but both refer to the same physical file. (when (and outfile (not (if (memq system-type '(ms-dos windows-nt)) |