Mercurial > hg > xemacs-beta
comparison lisp/update-elc-2.el @ 444:576fb035e263 r21-2-37
Import from CVS: tag r21-2-37
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:36:19 +0200 |
parents | abe6d1db359e |
children | ef4d2466a29c |
comparison
equal
deleted
inserted
replaced
443:a8296e22da4e | 444:576fb035e263 |
---|---|
50 `("." ".." "CVS" "SCCS" "RCS" ,@(unless (featurep 'mule) '("mule")))) | 50 `("." ".." "CVS" "SCCS" "RCS" ,@(unless (featurep 'mule) '("mule")))) |
51 | 51 |
52 (defvar update-elc-ignored-files | 52 (defvar update-elc-ignored-files |
53 ;; note: entries here are regexps | 53 ;; note: entries here are regexps |
54 '("^," ;; #### huh? | 54 '("^," ;; #### huh? |
55 "^paths.el$" | 55 "^paths\\.el$" |
56 "^loadup.el$" | 56 "^loadup\\.el$" |
57 "^loadup-el.el$" | 57 "^loadup-el\\.el$" |
58 "^update-elc.el$" | 58 "^update-elc\\.el$" |
59 "^update-elc-2.el$" | 59 "^update-elc-2\\.el$" |
60 "^dumped-lisp.el$" | 60 "^dumped-lisp\\.el$" |
61 "^make-docfile.el$" | 61 "^make-docfile\\.el$" |
62 "^site-start.el$" | 62 "^site-start\\.el$" |
63 "^site-load.el$" | 63 "^site-load\\.el$" |
64 "^site-init.el$" | 64 "^site-init\\.el$" |
65 "^version.el$" | 65 "^version\\.el$" |
66 "^very-early-lisp.el$")) | 66 "^very-early-lisp\\.el$")) |
67 | 67 |
68 ;; SEEN accumulates the list of already-handled dirs. | 68 ;; SEEN accumulates the list of already-handled dirs. |
69 (defun do-update-elc-2 (dir compile-stage-p seen) | 69 (defun do-update-elc-2 (dir compile-stage-p seen) |
70 (setq dir (file-name-as-directory dir)) | 70 (setq dir (file-name-as-directory dir)) |
71 ;; Only scan this sub-tree if we haven't been here yet. | 71 ;; Only scan this sub-tree if we haven't been here yet. |
73 (push (file-truename dir) seen) | 73 (push (file-truename dir) seen) |
74 | 74 |
75 ;; Do this directory. | 75 ;; Do this directory. |
76 (if compile-stage-p | 76 (if compile-stage-p |
77 ;; Stage 2: Recompile necessary .els | 77 ;; Stage 2: Recompile necessary .els |
78 (let ((files (directory-files dir t ".el$")) | 78 (let ((files (directory-files dir t "\\.el$")) |
79 file file-c) | 79 file file-c) |
80 (while (setq file (car files)) | 80 (while (setq file (car files)) |
81 (setq files (cdr files)) | 81 (setq files (cdr files)) |
82 (setq file-c (concat file "c")) | 82 (setq file-c (concat file "c")) |
83 (when (and (file-exists-p file) | 83 (when (and (file-exists-p file) |
93 (not ignore))) | 93 (not ignore))) |
94 (byte-compile-file file)))) | 94 (byte-compile-file file)))) |
95 | 95 |
96 ;; Stage 1. | 96 ;; Stage 1. |
97 ;; Remove out-of-date elcs | 97 ;; Remove out-of-date elcs |
98 (let ((files (directory-files dir t ".el$")) | 98 (let ((files (directory-files dir t "\\.el$")) |
99 file file-c) | 99 file file-c) |
100 (while (setq file (car files)) | 100 (while (setq file (car files)) |
101 (setq files (cdr files)) | 101 (setq files (cdr files)) |
102 (setq file-c (concat file "c")) | 102 (setq file-c (concat file "c")) |
103 (when (and (file-exists-p file-c) | 103 (when (and (file-exists-p file-c) |
104 (file-newer-than-file-p file file-c)) | 104 (file-newer-than-file-p file file-c)) |
105 (message "Removing out-of-date %s" file-c) | 105 (message "Removing out-of-date %s" file-c) |
106 (delete-file file-c)))) | 106 (delete-file file-c)))) |
107 ;; Remove elcs without corresponding el | 107 ;; Remove elcs without corresponding el |
108 (let ((files (directory-files dir t ".elc$")) | 108 (let ((files (directory-files dir t "\\.elc$")) |
109 file file-c) | 109 file file-c) |
110 (while (setq file-c (car files)) | 110 (while (setq file-c (car files)) |
111 (setq files (cdr files)) | 111 (setq files (cdr files)) |
112 (setq file (replace-in-string file-c "c$" "")) | 112 (setq file (replace-in-string file-c "c$" "")) |
113 (when (and (file-exists-p file-c) | 113 (when (and (file-exists-p file-c) |
143 (message "Recompiling updated .els in directory tree `%s'..." dir) | 143 (message "Recompiling updated .els in directory tree `%s'..." dir) |
144 (do-update-elc-2 dir t nil) | 144 (do-update-elc-2 dir t nil) |
145 (message "Recompiling updated .els in directory tree `%s'...done" dir)) | 145 (message "Recompiling updated .els in directory tree `%s'...done" dir)) |
146 (setq command-line-args-left nil)) | 146 (setq command-line-args-left nil)) |
147 | 147 |
148 ;;; cleantree.el ends here | 148 ;;; update-elc-2.el ends here |