guix-commits
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]