build: emacs-utils: Add 'emacs-generate-autoloads'.
authorAlex Kost <alezost@gmail.com>
Mon, 1 Dec 2014 17:21:08 +0000 (20:21 +0300)
committerAlex Kost <alezost@gmail.com>
Tue, 2 Dec 2014 19:09:23 +0000 (22:09 +0300)
* guix/build/emacs-utils.scm (emacs-generate-autoloads): New procedure.

guix/build/emacs-utils.scm

index 10ef3c8..0cff28b 100644 (file)
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -20,6 +21,7 @@
   #:export (%emacs
             emacs-batch-eval
             emacs-batch-edit-file
+            emacs-generate-autoloads
             emacs-substitute-sexps
             emacs-substitute-variables))
 
                           (format #f "--eval=~S" expr)))
     (error "emacs-batch-edit-file failed!" file expr)))
 
+(define (emacs-generate-autoloads name directory)
+  "Generate autoloads for Emacs package NAME placed in DIRECTORY."
+  (let* ((file (string-append directory "/" name "-autoloads.el"))
+         (expr `(let ((backup-inhibited t)
+                      (generated-autoload-file ,file))
+                  (update-directory-autoloads ,directory))))
+    (emacs-batch-eval expr)))
+
 (define-syntax emacs-substitute-sexps
   (syntax-rules ()
     "Substitute the S-expression immediately following the first occurrence of