changeset 48136:c102d9848214

(generate-file-autoloads, update-file-autoloads): Strip .gz extensions. (update-autoloads-from-directories): Also consider compressed files.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Sun, 03 Nov 2002 12:37:48 +0000
parents 2c6154347319
children 6c61b0cf0b3c
files lisp/emacs-lisp/autoload.el
diffstat 1 files changed, 8 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/emacs-lisp/autoload.el	Sun Nov 03 12:01:33 2002 +0000
+++ b/lisp/emacs-lisp/autoload.el	Sun Nov 03 12:37:48 2002 +0000
@@ -257,7 +257,7 @@
   (let ((outbuf (current-buffer))
 	(autoloads-done '())
 	(load-name (let ((name (file-name-nondirectory file)))
-		     (if (string-match "\\.elc?$" name)
+		     (if (string-match "\\.elc?\\(\\.\\|$\\)" name)
 			 (substring name 0 (match-beginning 0))
 		       name)))
 	(print-length nil)
@@ -360,7 +360,7 @@
 Return FILE if there was no autoload cookie in it."
   (interactive "fUpdate autoloads for file: ")
   (let ((load-name (let ((name (file-name-nondirectory file)))
-		     (if (string-match "\\.elc?$" name)
+		     (if (string-match "\\.elc?\\(\\.\\|$\\)" name)
 			 (substring name 0 (match-beginning 0))
 		       name)))
 	(found nil)
@@ -480,11 +480,14 @@
 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: ")
-  (let* ((files (apply 'nconc
+  (let* ((files-re (let ((tmp nil))
+		     (dolist (suf load-suffixes
+				  (concat "^[^=.].*" (regexp-opt tmp t) "\\'"))
+		       (unless (string-match "\\.elc" suf) (push suf tmp)))))
+	 (files (apply 'nconc
 		       (mapcar (lambda (dir)
 				 (directory-files (expand-file-name dir)
-						  ;; FIXME: add .gz etc...
-						  t "^[^=.].*\\.el\\'"))
+						  t files-re))
 			       dirs)))
 	 (this-time (current-time))
 	 (no-autoloads nil)		;files with no autoload cookies.