From ca7dd4cd1761362289e877e8c20b412821f669c0 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 30 Oct 2013 16:27:35 -0400 Subject: [PATCH] * 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. --- lisp/ChangeLog | 2 ++ lisp/Makefile.in | 4 +++- lisp/emacs-lisp/autoload.el | 3 +++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 070e2cf247..ef07b82609 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 ffd31efa1d..ff9439d895 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 099f06d913..f94f74a565 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)) -- 2.20.1