# HG changeset patch # User Glenn Morris # Date 1254798752 0 # Node ID fe4228529c23edc420beb2a0088c8ce5669574ae # Parent ada588cf3ad7e025a19abed6246f69b9e9c7b1b8 (autoload-excludes): New variable. (autoload-generate-file-autoloads): Skip files in autoload-excludes. (batch-update-autoloads): Process a string value of autoload-excludes, set during the build process. diff -r ada588cf3ad7 -r fe4228529c23 lisp/emacs-lisp/autoload.el --- a/lisp/emacs-lisp/autoload.el Tue Oct 06 03:09:25 2009 +0000 +++ b/lisp/emacs-lisp/autoload.el Tue Oct 06 03:12:32 2009 +0000 @@ -70,6 +70,9 @@ read and an autoload made for it. If there is further text on the line, that text will be copied verbatim to `generated-autoload-file'.") +(defvar autoload-excludes nil + "If non-nil, list of absolute file names not to scan for autoloads.") + (defconst generate-autoload-section-header "\f\n;;;### " "String that marks the form at the start of a new file's autoload section.") @@ -373,7 +376,8 @@ relfile ;; nil until we found a cookie. output-start) - + (if (member absfile autoload-excludes) + (message "Generating autoloads for %s...skipped" file) (with-current-buffer (or visited ;; It is faster to avoid visiting the file. (autoload-find-file file)) @@ -482,7 +486,7 @@ (message "Generating autoloads for %s...done" file)) (or visited ;; We created this buffer, so we should kill it. - (kill-buffer (current-buffer)))) + (kill-buffer (current-buffer))))) ;; If the entries were added to some other buffer, then the file ;; doesn't add entries to OUTFILE. (or (not output-start) otherbuf)))) @@ -679,6 +683,18 @@ (defun batch-update-autoloads () "Update loaddefs.el autoloads in batch mode. Calls `update-directory-autoloads' on the command line arguments." + ;; For use during the Emacs build process only. We do the file-name + ;; expansion here rather than in lisp/Makefile in order to keep the + ;; shell command line short. (Long lines are an issue on some systems.) + (if (stringp autoload-excludes) + (setq autoload-excludes + (mapcar + (lambda (file) + (concat + (expand-file-name (file-name-sans-extension file) + (file-name-directory generated-autoload-file)) + ".el")) + (split-string autoload-excludes)))) (let ((args command-line-args-left)) (setq command-line-args-left nil) (apply 'update-directory-autoloads args)))