;; -*- emacs-lisp -*- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; $Id: autoload-make.el,v 1.4 2004/04/13 18:45:59 ole Exp $ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; utility functions for autoload and compile ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;###autoload (defun recompile-dir (dir) "recompile all files in a directory which are newer than their corresponding .elc files" (interactive (list (read-file-name "Directory: "))) (let ((files (directory-files dir t "^[^.]+\\.el$" nil))) (while files (let ((srcfile (car files)) (dstfile (concat (car files) "c"))) (if (or (not (file-exists-p dstfile)) (file-newer-than-file-p srcfile dstfile)) (progn (byte-compile-file srcfile) (message (concat "Compiling " srcfile))) (message (concat dstfile " exists and is newer" )))) (setq files (cdr files))))) ;;;###autoload (defun recompile-lisp-dir () "recompile all files in the lisp directory which are newer than their corresponding .elc files" (interactive) (recompile-dir emacs-lisp-dir) ) ;;;###autoload (defun update-autoloads-for-lisp-dir () "generate autoloads.el in emacs-init-dir for all elips files in x-emacs-lisp-dir" (interactive) (require 'autoload) (let ((generated-autoload-file (concat emacs-init-dir "autoloads.el"))) (if (file-exists-p generated-autoload-file) (delete-file generated-autoload-file)) (cond ((fboundp 'update-autoloads-from-directory) (update-autoloads-from-directory emacs-lisp-dir)) ((fboundp 'update-autoloads-from-directories) (update-autoloads-from-directories emacs-lisp-dir)) ((fboundp 'update-directory-autoloads) (update-directory-autoloads emacs-lisp-dir emacs-mylisp-dir))))) (provide 'autoload-make)