changeset 17851:6e7bb77cd7e1

(update-autoloads-from-directories): Renamed from update-autoloads-from-directory. Take multiple directories as args. Use locate-library to find loaddefs.el and the top level Lisp dir. (batch-update-autoloads): Call update-autoloads-from-directories.
author Richard M. Stallman <rms@gnu.org>
date Fri, 16 May 1997 22:49:59 +0000
parents 0b163f31c39c
children a9f18d920c11
files lisp/emacs-lisp/autoload.el
diffstat 1 files changed, 16 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/emacs-lisp/autoload.el	Fri May 16 22:16:27 1997 +0000
+++ b/lisp/emacs-lisp/autoload.el	Fri May 16 22:49:59 1997 +0000
@@ -379,19 +379,23 @@
       (if (interactive-p) (save-buffer)))))
 
 ;;;###autoload
-(defun update-autoloads-from-directory (dir)
+(defun update-autoloads-from-directories (&rest dirs)
   "\
-Update loaddefs.el with all the current autoloads from DIR, and no old ones.
+Update loaddefs.el with all the current autoloads from DIRS, and no old ones.
 This uses `update-file-autoloads' (which see) do its work."
   (interactive "DUpdate autoloads from directory: ")
-  (setq dir (expand-file-name dir))
-  (let ((files (directory-files dir t "^[^=].*\\.el$")))
+  (let ((files (apply 'nconc
+		      (mapcar (function (lambda (dir)
+					  (directory-files (expand-file-name dir)
+							   t
+							   "^[^=].*\\.el$")))
+			      dirs)))
+	autoloads-file
+	top-dir)
+    (setq autoloads-file (locate-library generated-autoload-file))
+    (setq top-dir (file-name-directory autoloads-file))
     (save-excursion
-      (set-buffer (find-file-noselect
-		   (if (file-exists-p generated-autoload-file)
-		       (expand-file-name generated-autoload-file)
-		     (expand-file-name generated-autoload-file
-				       dir))))
+      (set-buffer (find-file-noselect autoloads-file))
       (save-excursion
 	(goto-char (point-min))
 	(while (search-forward generate-autoload-section-header nil t)
@@ -400,7 +404,7 @@
 			 (end-of-file nil)))
 		 (file (nth 3 form)))
 	    (cond ((not (stringp file)))
-		  ((not (file-exists-p (expand-file-name file dir)))
+		  ((not (file-exists-p (expand-file-name file top-dir)))
 		   ;; Remove the obsolete section.
 		   (let ((begin (match-beginning 0)))
 		     (search-forward generate-autoload-section-trailer)
@@ -415,8 +419,8 @@
 ;;;###autoload
 (defun batch-update-autoloads ()
   "Update loaddefs.el autoloads in batch mode.
-Calls `update-autoloads-from-directory' on each command line argument."
-  (mapcar 'update-autoloads-from-directory command-line-args-left)
+Calls `update-autoloads-from-directories' on the command line arguments."
+  (apply 'update-autoloads-from-directories command-line-args-left)
   (setq command-line-args-left nil))
 
 (provide 'autoload)