summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJim Meyering <meyering@fb.com>2017-11-22 21:07:29 -0800
committerJim Meyering <meyering@fb.com>2017-12-16 16:03:02 -0800
commit3f8a2dd54edab7d30fa4b218f42ea36d7f36560e (patch)
tree7615fa07744e336462c6435b67cd9ce8dcdb7b84 /lib
parentac47c22e3c0c8b055cdd47ccd18621c56f807b37 (diff)
downloadautomake-3f8a2dd54edab7d30fa4b218f42ea36d7f36560e.tar.gz
port elisp-compilation support to emacs-23.1 and newer
In May of 2017, emacs.master support for using the long-deprecated byte-compile-dest-file function was removed, and that removal broke automake's elisp-compiling rule for any .el file not in the current directory. In emacs-23.1 (July 2009) byte-compile-dest-file-function became the recommended way to adjust the byte-compiler's destination. The removed functionality has been restored for Emacs-26, albeit with dissuasive diagnostics warning about the imminent removal of this functionality. It will be removed in Emacs-27. * lib/am/lisp.am (.el.elc): Use byte-compile-dest-file-function, rather than byte-compile-dest-file. Also, use "-f batch-byte-compile '$<'" rather than open-coding it, as suggested by Glenn Morris. * t/lisp-readonly-srcdir.sh: New file, to test for the above. * t/list-of-tests.mk (handwritten_TESTS): Add it. * NEWS (Bugs fixed): Mention this problem.
Diffstat (limited to 'lib')
-rw-r--r--lib/am/lisp.am6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/am/lisp.am b/lib/am/lisp.am
index 881bf3457..91a0e0516 100644
--- a/lib/am/lisp.am
+++ b/lib/am/lisp.am
@@ -30,7 +30,7 @@ endif %?INSTALL%
## The destination file is normally determined by appending "c" to the
## input (which would erronously put it in $(srcdir) in VPATH builds),
## so we override that, too.
- if test "$(EMACS)" != "no"; then \
+ if test '$(EMACS)' != no; then \
am__dir=. am__subdir_includes=''; \
case $@ in */*) \
am__dir=`echo '$@' | sed 's,/[^/]*$$,,'`; \
@@ -41,8 +41,8 @@ endif %?INSTALL%
$(EMACS) --batch \
$(AM_ELCFLAGS) $(ELCFLAGS) \
$$am__subdir_includes -L $(builddir) -L $(srcdir) \
- --eval "(defun byte-compile-dest-file (f) \"$@\")" \
- --eval "(unless (byte-compile-file \"$<\") (kill-emacs 1))"; \
+ --eval '(setq byte-compile-dest-file-function (lambda (_) "$@"))' \
+ -f batch-byte-compile '$<'; \
else :; fi