From: Glenn Morris Date: Wed, 30 Oct 2013 20:27:35 +0000 (-0400) Subject: * lisp/Makefile.in (autoloads): Do not use abs_lisp. X-Git-Tag: emacs-24.3.90~173^2^2~42^2~45^2~387^2~1054 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=ca7dd4cd1761362289e877e8c20b412821f669c0;p=emacs.git * lisp/Makefile.in (autoloads): Do not use abs_lisp. This should stop recent weirdness, eg: http://lists.gnu.org/archive/html/emacs-diffs/2013-10/msg00381.html * lisp/emacs-lisp/autoload.el: Comment. --- 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 + * 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))