aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman1998-04-24 21:24:44 +0000
committerRichard M. Stallman1998-04-24 21:24:44 +0000
commit5b64ebe8ec5b475e5e8685cf5d3f488c57a844e8 (patch)
treeda7b51e353d13d8bc99ad803a688c9be61a77462
parent6395da5cede0b4977b4a9a61e5735bf78c1f313d (diff)
downloademacs-5b64ebe8ec5b475e5e8685cf5d3f488c57a844e8.tar.gz
emacs-5b64ebe8ec5b475e5e8685cf5d3f488c57a844e8.zip
(finder-compile-keywords):
Avoid error for nonexistent directory. Print progress messages about directories. Ignore files that are actually Emacs lock files.
-rw-r--r--lisp/finder.el72
1 files changed, 38 insertions, 34 deletions
diff --git a/lisp/finder.el b/lisp/finder.el
index 3d8bb281fe7..652f29cc9d1 100644
--- a/lisp/finder.el
+++ b/lisp/finder.el
@@ -116,40 +116,44 @@ arguments compiles from `load-path'."
116 (insert "\n(setq finder-package-info '(\n") 116 (insert "\n(setq finder-package-info '(\n")
117 (mapcar 117 (mapcar
118 (lambda (d) 118 (lambda (d)
119 (mapcar 119 (when (file-exists-p (directory-file-name d))
120 (lambda (f) 120 (message "Directory %s" d)
121 (if (and (or (string-match "^[^=].*\\.el$" f) 121 (mapcar
122 ;; Allow compressed files also. Fixme: 122 (lambda (f)
123 ;; generalize this, especially for 123 (if (and (or (string-match "^[^=].*\\.el$" f)
124 ;; MS-DOG-type filenames. 124 ;; Allow compressed files also. Fixme:
125 (and (string-match "^[^=].*\\.el\\.\\(gz\\|Z\\)$" f) 125 ;; generalize this, especially for
126 (require 'jka-compr))) 126 ;; MS-DOG-type filenames.
127 (not (member f processed))) 127 (and (string-match "^[^=].*\\.el\\.\\(gz\\|Z\\)$" f)
128 (let (summary keystart keywords) 128 (require 'jka-compr)))
129 (setq processed (cons f processed)) 129 ;; Ignore lock files.
130 (save-excursion 130 (not (string-match "^.#" f))
131 (set-buffer (get-buffer-create "*finder-scratch*")) 131 (not (member f processed)))
132 (buffer-disable-undo (current-buffer)) 132 (let (summary keystart keywords)
133 (erase-buffer) 133 (setq processed (cons f processed))
134 (insert-file-contents 134 (save-excursion
135 (concat (file-name-as-directory (or d ".")) f)) 135 (set-buffer (get-buffer-create "*finder-scratch*"))
136 (setq summary (lm-synopsis)) 136 (buffer-disable-undo (current-buffer))
137 (setq keywords (lm-keywords))) 137 (erase-buffer)
138 (insert 138 (insert-file-contents
139 (format " (\"%s\"\n " 139 (concat (file-name-as-directory (or d ".")) f))
140 (if (string-match "\\.\\(gz\\|Z\\)$" f) 140 (setq summary (lm-synopsis))
141 (file-name-sans-extension f) 141 (setq keywords (lm-keywords)))
142 f))) 142 (insert
143 (prin1 summary (current-buffer)) 143 (format " (\"%s\"\n "
144 (insert 144 (if (string-match "\\.\\(gz\\|Z\\)$" f)
145 "\n ") 145 (file-name-sans-extension f)
146 (setq keystart (point)) 146 f)))
147 (insert 147 (prin1 summary (current-buffer))
148 (if keywords (format "(%s)" keywords) "nil") 148 (insert
149 ")\n") 149 "\n ")
150 (subst-char-in-region keystart (point) ?, ? ) 150 (setq keystart (point))
151 ))) 151 (insert
152 (directory-files (or d ".")))) 152 (if keywords (format "(%s)" keywords) "nil")
153 ")\n")
154 (subst-char-in-region keystart (point) ?, ? )
155 )))
156 (directory-files (or d ".")))))
153 (or dirs load-path)) 157 (or dirs load-path))
154 (insert "))\n\n(provide 'finder-inf)\n\n;;; finder-inf.el ends here\n") 158 (insert "))\n\n(provide 'finder-inf)\n\n;;; finder-inf.el ends here\n")
155 (kill-buffer "*finder-scratch*") 159 (kill-buffer "*finder-scratch*")