Mercurial > emacs
comparison lisp/cus-dep.el @ 48249:4da41542c6ed
Don't require 'autoload.
(custom-make-dependencies): Handle :version also for autoloaded
options.
author | Markus Rost <rost@math.uni-bielefeld.de> |
---|---|
date | Mon, 11 Nov 2002 15:09:13 +0000 |
parents | 80b8ea82dfd9 |
children | ce84fde651fc |
comparison
equal
deleted
inserted
replaced
48248:ee08f1e3d269 | 48249:4da41542c6ed |
---|---|
27 ;;; Code: | 27 ;;; Code: |
28 | 28 |
29 (eval-when-compile (require 'cl)) | 29 (eval-when-compile (require 'cl)) |
30 (require 'widget) | 30 (require 'widget) |
31 (require 'cus-face) | 31 (require 'cus-face) |
32 (require 'autoload) | |
33 | 32 |
34 (defun custom-make-dependencies () | 33 (defun custom-make-dependencies () |
35 "Batch function to extract custom dependencies from .el files. | 34 "Batch function to extract custom dependencies from .el files. |
36 Usage: emacs -batch -l ./cus-dep.el -f custom-make-dependencies DIRS" | 35 Usage: emacs -batch -l ./cus-dep.el -f custom-make-dependencies DIRS" |
37 (let ((enable-local-eval nil)) | 36 (let ((enable-local-eval nil)) |
44 (regexp-opt (mapcar | 43 (regexp-opt (mapcar |
45 (lambda (f) | 44 (lambda (f) |
46 (file-name-sans-extension | 45 (file-name-sans-extension |
47 (file-name-nondirectory f))) | 46 (file-name-nondirectory f))) |
48 preloaded-file-list) t) | 47 preloaded-file-list) t) |
49 "\\.el\\'")) | 48 "\\.el\\'"))) |
50 is-autoloaded) | |
51 (dolist (file files) | 49 (dolist (file files) |
52 (when (and (file-exists-p file) | 50 (when (and (file-exists-p file) |
53 ;; Ignore files that are preloaded. | 51 ;; Ignore files that are preloaded. |
54 (not (string-match preloaded file))) | 52 (not (string-match preloaded file))) |
55 (erase-buffer) | 53 (erase-buffer) |
64 nil t)) | 62 nil t)) |
65 (setq name (intern name))) | 63 (setq name (intern name))) |
66 (condition-case nil | 64 (condition-case nil |
67 (while (re-search-forward | 65 (while (re-search-forward |
68 "^(def\\(custom\\|face\\|group\\)" nil t) | 66 "^(def\\(custom\\|face\\|group\\)" nil t) |
69 (setq is-autoloaded nil) | |
70 (beginning-of-line) | 67 (beginning-of-line) |
71 (save-excursion | |
72 (forward-line -1) | |
73 (if (looking-at generate-autoload-cookie) | |
74 (setq is-autoloaded t))) | |
75 (let ((expr (read (current-buffer)))) | 68 (let ((expr (read (current-buffer)))) |
76 (condition-case nil | 69 (condition-case nil |
77 (let ((custom-dont-initialize t)) | 70 (let ((custom-dont-initialize t)) |
78 (eval expr) | 71 (eval expr) |
79 (put (nth 1 expr) 'custom-autoloaded is-autoloaded) | |
80 (put (nth 1 expr) 'custom-where name)) | 72 (put (nth 1 expr) 'custom-where name)) |
81 (error nil)))) | 73 (error nil)))) |
82 (error nil)))))))) | 74 (error nil)))))))) |
83 (message "Generating cus-load.el...") | 75 (message "Generating cus-load.el...") |
84 (set-buffer (find-file-noselect "cus-load.el")) | 76 (set-buffer (find-file-noselect "cus-load.el")) |
138 (mapatoms (lambda (symbol) | 130 (mapatoms (lambda (symbol) |
139 (let ((version (get symbol 'custom-version)) | 131 (let ((version (get symbol 'custom-version)) |
140 where) | 132 where) |
141 (when version | 133 (when version |
142 (setq where (get symbol 'custom-where)) | 134 (setq where (get symbol 'custom-where)) |
143 (when (and where | 135 (when where |
144 ;; Don't bother to do anything if it's | |
145 ;; autoloaded because we will have all | |
146 ;; this info when emacs is running | |
147 ;; anyway. | |
148 (not (get symbol 'custom-autoloaded))) | |
149 (insert "(custom-put-if-not '" (symbol-name symbol) | 136 (insert "(custom-put-if-not '" (symbol-name symbol) |
150 " 'custom-version ") | 137 " 'custom-version ") |
151 (prin1 version (current-buffer)) | 138 (prin1 version (current-buffer)) |
152 (insert ")\n") | 139 (insert ")\n") |
153 (insert "(custom-put-if-not '" (symbol-name symbol)) | 140 (insert "(custom-put-if-not '" (symbol-name symbol)) |