summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2013-10-30 16:27:35 -0400
committerGlenn Morris <rgm@gnu.org>2013-10-30 16:27:35 -0400
commitca7dd4cd1761362289e877e8c20b412821f669c0 (patch)
tree0acf351242550262f794783d56e8a43ae7303d38
parent4f85b47922a2e316ccd05be6be85842b2b5c03e3 (diff)
downloademacs-ca7dd4cd1761362289e877e8c20b412821f669c0.tar.gz
* 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.
-rw-r--r--lisp/ChangeLog2
-rw-r--r--lisp/Makefile.in4
-rw-r--r--lisp/emacs-lisp/autoload.el3
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))