[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
02/06: build: emacs-utils: Add 'emacs-byte-compile-directory'.
From: |
Federico Beffa |
Subject: |
02/06: build: emacs-utils: Add 'emacs-byte-compile-directory'. |
Date: |
Wed, 08 Jul 2015 09:17:06 +0000 |
beffa pushed a commit to branch master
in repository guix.
commit 1d44b4e544151f9911b3a19b522e5b9584ba7632
Author: Federico Beffa <address@hidden>
Date: Tue Jun 16 21:09:57 2015 +0200
build: emacs-utils: Add 'emacs-byte-compile-directory'.
* guix/build/emacs-utils.scm (emacs-byte-compile-directory): New procedure.
---
guix/build/emacs-utils.scm | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/guix/build/emacs-utils.scm b/guix/build/emacs-utils.scm
index 0cff28b..fd06aad 100644
--- a/guix/build/emacs-utils.scm
+++ b/guix/build/emacs-utils.scm
@@ -22,6 +22,7 @@
emacs-batch-eval
emacs-batch-edit-file
emacs-generate-autoloads
+ emacs-byte-compile-directory
emacs-substitute-sexps
emacs-substitute-variables))
@@ -57,6 +58,16 @@
(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
- branch master updated (575b4b0 -> d8b6fcd), Federico Beffa, 2015/07/08
- 02/06: build: emacs-utils: Add 'emacs-byte-compile-directory'.,
Federico Beffa <=
- 05/06: gnu: Add emacs-mmm-mode., Federico Beffa, 2015/07/08
- 04/06: gnu: Add emacs-auctex., Federico Beffa, 2015/07/08
- 03/06: build: Add 'emacs-build-system'., Federico Beffa, 2015/07/08
- 06/06: import: cabal: Make token recognition case-insensitive., Federico Beffa, 2015/07/08
- 01/06: import: Add 'elpa' importer., Federico Beffa, 2015/07/08