changeset 106519:ee0a7551c875

Let loaddefs.el adjust to changes in autoload-excludes (bug#5162). * emacs-lisp/autoload.el (autoload-generate-file-autoloads): Disregard autoload-excludes. (update-directory-autoloads): Obey autoload-excludes here instead. But don't store its contents in no-autoloads and remove entries that refer to excludes files.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Thu, 10 Dec 2009 08:46:54 +0000
parents c22556bde650
children 6d90ad0a3723
files lisp/ChangeLog lisp/emacs-lisp/autoload.el
diffstat 2 files changed, 17 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Thu Dec 10 08:25:58 2009 +0000
+++ b/lisp/ChangeLog	Thu Dec 10 08:46:54 2009 +0000
@@ -1,3 +1,12 @@
+2009-12-10  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	Let loaddefs.el adjust to changes in autoload-excludes (bug#5162).
+	* emacs-lisp/autoload.el (autoload-generate-file-autoloads):
+	Disregard autoload-excludes.
+	(update-directory-autoloads): Obey autoload-excludes here instead.
+	But don't store its contents in no-autoloads and remove entries that
+	refer to excludes files.
+
 2009-12-10  Glenn Morris  <rgm@gnu.org>
 
 	* mail/feedmail.el (top-level): Move require 'mail-utils to start.
--- a/lisp/emacs-lisp/autoload.el	Thu Dec 10 08:25:58 2009 +0000
+++ b/lisp/emacs-lisp/autoload.el	Thu Dec 10 08:46:54 2009 +0000
@@ -372,8 +372,6 @@
           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 +480,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))))
@@ -638,7 +636,9 @@
 		  ((not (stringp file)))
 		  ((or (not (file-exists-p file))
                        ;; Remove duplicates as well, just in case.
-                       (member file done))
+                       (member file done)
+                       ;; If the file is actually excluded.
+                       (member (expand-file-name file) autoload-excludes))
                    ;; Remove the obsolete section.
 		   (autoload-remove-section (match-beginning 0)))
 		  ((not (time-less-p (nth 4 form)
@@ -654,8 +654,10 @@
 	    (setq files (delete file files)))))
       ;; Elements remaining in FILES have no existing autoload sections yet.
       (dolist (file files)
-        (if (autoload-generate-file-autoloads file nil buffer-file-name)
-            (push file no-autoloads)))
+        (cond
+         ((member (expand-file-name file) autoload-excludes) nil)
+         ((autoload-generate-file-autoloads file nil buffer-file-name)
+          (push file no-autoloads))))
 
       (when no-autoloads
 	;; Sort them for better readability.