diff options
author | Jim Meyering <meyering@fb.com> | 2017-11-22 21:07:29 -0800 |
---|---|---|
committer | Jim Meyering <meyering@fb.com> | 2017-12-16 16:03:02 -0800 |
commit | 3f8a2dd54edab7d30fa4b218f42ea36d7f36560e (patch) | |
tree | 7615fa07744e336462c6435b67cd9ce8dcdb7b84 /lib | |
parent | ac47c22e3c0c8b055cdd47ccd18621c56f807b37 (diff) | |
download | automake-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.am | 6 |
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 |