diff options
author | Liliana Marie Prikler <liliana.prikler@gmail.com> | 2024-03-02 16:56:13 +0100 |
---|---|---|
committer | Liliana Marie Prikler <liliana.prikler@gmail.com> | 2024-03-02 16:56:13 +0100 |
commit | 7f3f70eedbbec74481a0ca9fea4c19250961685e (patch) | |
tree | 6dbe9bb6b9a990735f0ceba7496baa91fbe1bf69 | |
parent | 3d4fc910f73220f47e5f2459853333a7c83c5d1d (diff) | |
download | guix-7f3f70eedbbec74481a0ca9fea4c19250961685e.tar.gz guix-7f3f70eedbbec74481a0ca9fea4c19250961685e.zip |
guix: emacs-utils: Make emacs-compile-directory forwards-compatible.
Newer (development) builds of Emacs 30 mark a number of functions related to
native compilation as ‘internal’. Since we rely on such functions and there
does not appear to be a high-level replacement at the moment, let's work
around this case.
* guix/build/emacs-utils.scm (emacs-compile-directory): Require comp early
and check if ‘comp-write-bytecode-file’ is available.
Fixes: Upstream renamed comp-write-bytecode-file <https://bugs.gnu.org/69201>
-rw-r--r-- | guix/build/emacs-utils.scm | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/guix/build/emacs-utils.scm b/guix/build/emacs-utils.scm index eca42bf305..aeb364133a 100644 --- a/guix/build/emacs-utils.scm +++ b/guix/build/emacs-utils.scm @@ -136,7 +136,14 @@ If native code is not supported, compile to bytecode instead." (emacs-batch-eval `(let ((byte-compile-debug t) ; for proper exit status (byte+native-compile (native-comp-available-p)) - (files (directory-files-recursively ,dir "\\.el$"))) + (files (directory-files-recursively ,dir "\\.el$")) + (write-bytecode + (and (native-comp-available-p) + (progn + (require 'comp) + (if (fboundp 'comp-write-bytecode-file) + 'comp-write-bytecode-file + 'comp--write-bytecode-file))))) (mapc (lambda (file) (let (byte-to-native-output-buffer-file @@ -152,7 +159,7 @@ If native code is not supported, compile to bytecode instead." (byte-compile-file file)) ;; After native compilation, write the bytecode file. (unless (null byte-to-native-output-buffer-file) - (comp-write-bytecode-file nil)))) + (funcall write-bytecode nil)))) files)) #:dynamic? #t)) |