Skip to content
Snippets Groups Projects
Commit 1d44b4e5 authored by Federico Beffa's avatar Federico Beffa
Browse files

build: emacs-utils: Add 'emacs-byte-compile-directory'.

* guix/build/emacs-utils.scm (emacs-byte-compile-directory): New procedure.
parent 7f74a931
No related branches found
No related tags found
No related merge requests found
......@@ -22,6 +22,7 @@ (define-module (guix build emacs-utils)
emacs-batch-eval
emacs-batch-edit-file
emacs-generate-autoloads
emacs-byte-compile-directory
emacs-substitute-sexps
emacs-substitute-variables))
......@@ -57,6 +58,16 @@ (define (emacs-generate-autoloads name directory)
(update-directory-autoloads ,directory))))
(emacs-batch-eval expr)))
(define* (emacs-byte-compile-directory dir #:optional (dependency-dirs '()))
"Byte compile all files in DIR and its sub-directories. Before compiling
the files, add DIR and all directories in DEPENDENCY-DIRS to 'load-path'."
(let ((expr `(progn
(add-to-list 'load-path ,dir)
(when ',dependency-dirs
(setq load-path (append ',dependency-dirs load-path)))
(byte-recompile-directory (file-name-as-directory ,dir) 0))))
(emacs-batch-eval expr)))
(define-syntax emacs-substitute-sexps
(syntax-rules ()
"Substitute the S-expression immediately following the first occurrence of
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment