From: Stefan Monnier Date: Thu, 10 Oct 2002 13:33:57 +0000 (+0000) Subject: (custom-make-dependencies): Don't use find-file. X-Git-Tag: ttn-vms-21-2-B4~12880 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=5188f2eb943cf6a5f08c0701c78486490e2f5c2b;p=emacs.git (custom-make-dependencies): Don't use find-file. Use feature names rather than file names if applicable. --- diff --git a/lisp/cus-dep.el b/lisp/cus-dep.el index d7fd848a9ab..5574cca82b9 100644 --- a/lisp/cus-dep.el +++ b/lisp/cus-dep.el @@ -34,30 +34,29 @@ (defun custom-make-dependencies () "Batch function to extract custom dependencies from .el files. Usage: emacs -batch -l ./cus-dep.el -f custom-make-dependencies DIRS" - (let ((enable-local-eval nil) - (all-subdirs command-line-args-left) - (start-directory default-directory)) - (get-buffer-create " cus-dep temp") - (set-buffer " cus-dep temp") - (while all-subdirs - (message "Directory %s" (car all-subdirs)) - (let ((files (directory-files (car all-subdirs) nil "\\`[^=].*\\.el\\'")) - (default-directory default-directory) - file + (let ((enable-local-eval nil)) + (set-buffer (get-buffer-create " cus-dep temp")) + (dolist (subdir command-line-args-left) + (message "Directory %s" subdir) + (let ((files (directory-files subdir nil "\\`[^=].*\\.el\\'")) + (default-directory (expand-file-name subdir)) is-autoloaded) - (cd (car all-subdirs)) - (while files - (setq file (car files) - files (cdr files)) + (dolist (file files) (when (file-exists-p file) (erase-buffer) (insert-file-contents file) (goto-char (point-min)) (string-match "\\`\\(.*\\)\\.el\\'" file) (let ((name (file-name-nondirectory (match-string 1 file)))) + (if (save-excursion + (re-search-forward + (concat "(provide[ \t\n]+\\('\\|(quote[ \t\n]\\)[ \t\n]*" + (regexp-quote name) "[ \t\n)]") + nil t)) + (setq name (intern name))) (condition-case nil - (while (re-search-forward "^(defcustom\\|^(defface\\|^(defgroup" - nil t) + (while (re-search-forward + "^(def\\(custom\\|face\\|group\\)" nil t) (setq is-autoloaded nil) (beginning-of-line) (save-excursion @@ -71,10 +70,9 @@ Usage: emacs -batch -l ./cus-dep.el -f custom-make-dependencies DIRS" (put (nth 1 expr) 'custom-autoloaded is-autoloaded) (put (nth 1 expr) 'custom-where name)) (error nil)))) - (error nil))))) - (setq all-subdirs (cdr all-subdirs))))) + (error nil)))))))) (message "Generating cus-load.el...") - (find-file "cus-load.el") + (set-buffer (find-file-noselect "cus-load.el")) (erase-buffer) (insert "\ ;;; cus-load.el --- automatically extracted custom dependencies