aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorErik Naggum1996-02-20 14:48:08 +0000
committerErik Naggum1996-02-20 14:48:08 +0000
commite6fb4d11c9f2965dd8f589b5f244755f98f69dfe (patch)
treeff2c508144f355f56864ef08937a0964d5324e15 /lisp
parentdfeadd842f22d67218e78d59d779dd4b7e0ee143 (diff)
downloademacs-e6fb4d11c9f2965dd8f589b5f244755f98f69dfe.tar.gz
emacs-e6fb4d11c9f2965dd8f589b5f244755f98f69dfe.zip
Removed (require 'picture).
(finder-insert-at-column): New function. (finder-list-keywords, finder-list-matches): Use it.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/finder.el106
1 files changed, 55 insertions, 51 deletions
diff --git a/lisp/finder.el b/lisp/finder.el
index 92921852fda..76e2adefa6b 100644
--- a/lisp/finder.el
+++ b/lisp/finder.el
@@ -40,7 +40,6 @@
40 40
41(require 'lisp-mnt) 41(require 'lisp-mnt)
42(require 'finder-inf) 42(require 'finder-inf)
43(require 'picture)
44 43
45;; Local variable in finder buffer. 44;; Local variable in finder buffer.
46(defvar finder-headmark) 45(defvar finder-headmark)
@@ -115,57 +114,67 @@ arguments compiles from `load-path'."
115 (insert ";;; Code:\n") 114 (insert ";;; Code:\n")
116 (insert "\n(setq finder-package-info '(\n") 115 (insert "\n(setq finder-package-info '(\n")
117 (mapcar 116 (mapcar
118 (function 117 (lambda (d)
119 (lambda (d) 118 (mapcar
120 (mapcar 119 (lambda (f)
121 (function 120 (if (and (string-match "^[^=].*\\.el$" f)
122 (lambda (f) 121 (not (member f processed)))
123 (if (and (string-match "^[^=].*\\.el$" f) 122 (let (summary keystart keywords)
124 (not (member f processed))) 123 (setq processed (cons f processed))
125 (let (summary keystart keywords) 124 (save-excursion
126 (setq processed (cons f processed)) 125 (set-buffer (get-buffer-create "*finder-scratch*"))
127 (save-excursion 126 (buffer-disable-undo (current-buffer))
128 (set-buffer (get-buffer-create "*finder-scratch*")) 127 (erase-buffer)
129 (buffer-disable-undo (current-buffer)) 128 (insert-file-contents
130 (erase-buffer) 129 (concat (file-name-as-directory (or d ".")) f))
131 (insert-file-contents 130 (setq summary (lm-synopsis))
132 (concat (file-name-as-directory (or d ".")) f)) 131 (setq keywords (lm-keywords)))
133 (setq summary (lm-synopsis)) 132 (insert
134 (setq keywords (lm-keywords))) 133 (format " (\"%s\"\n " f))
135 (insert 134 (prin1 summary (current-buffer))
136 (format " (\"%s\"\n " f)) 135 (insert
137 (prin1 summary (current-buffer)) 136 "\n ")
138 (insert 137 (setq keystart (point))
139 "\n ") 138 (insert
140 (setq keystart (point)) 139 (if keywords (format "(%s)" keywords) "nil")
141 (insert 140 ")\n")
142 (if keywords (format "(%s)" keywords) "nil") 141 (subst-char-in-region keystart (point) ?, ? )
143 ")\n") 142 )))
144 (subst-char-in-region keystart (point) ?, ? ) 143 (directory-files (or d "."))))
145 )
146 )))
147 (directory-files (or d ".")))
148 ))
149 (or dirs load-path)) 144 (or dirs load-path))
150 (insert "))\n\n(provide 'finder-inf)\n\n;;; finder-inf.el ends here\n") 145 (insert "))\n\n(provide 'finder-inf)\n\n;;; finder-inf.el ends here\n")
151 (kill-buffer "*finder-scratch*") 146 (kill-buffer "*finder-scratch*")
152 (eval-current-buffer) ;; So we get the new keyword list immediately 147 (eval-current-buffer) ;; So we get the new keyword list immediately
153 (basic-save-buffer) 148 (basic-save-buffer))))
154 )))
155 149
156;;; Now the retrieval code 150;;; Now the retrieval code
157 151
152(defun finder-insert-at-column (column &rest strings)
153 "Insert list of STRINGS, at column COLUMN."
154 (if (> (current-column) column) (insert "\n"))
155 (move-to-column column)
156 (let ((col (current-column)))
157 (if (< col column)
158 (indent-to column)
159 (if (and (/= col column)
160 (= (preceding-char) ?\t))
161 (let (indent-tabs-mode)
162 (delete-char -1)
163 (indent-to col)
164 (move-to-column column)))))
165 (apply 'insert strings))
166
158(defun finder-list-keywords () 167(defun finder-list-keywords ()
159 "Display descriptions of the keywords in the Finder buffer." 168 "Display descriptions of the keywords in the Finder buffer."
160 (interactive) 169 (interactive)
161 (setq buffer-read-only nil) 170 (setq buffer-read-only nil)
162 (erase-buffer) 171 (erase-buffer)
163 (mapcar 172 (mapcar
164 (function (lambda (assoc) 173 (lambda (assoc)
165 (let ((keyword (car assoc))) 174 (let ((keyword (car assoc)))
166 (insert (symbol-name keyword)) 175 (insert (symbol-name keyword))
167 (insert-at-column 14 (concat (cdr assoc) "\n")) 176 (finder-insert-at-column 14 (concat (cdr assoc) "\n"))
168 (cons (symbol-name keyword) keyword)))) 177 (cons (symbol-name keyword) keyword)))
169 finder-known-keywords) 178 finder-known-keywords)
170 (goto-char (point-min)) 179 (goto-char (point-min))
171 (setq finder-headmark (point)) 180 (setq finder-headmark (point))
@@ -182,14 +191,11 @@ arguments compiles from `load-path'."
182 "The following packages match the keyword `" key "':\n\n") 191 "The following packages match the keyword `" key "':\n\n")
183 (setq finder-headmark (point)) 192 (setq finder-headmark (point))
184 (mapcar 193 (mapcar
185 (function (lambda (x) 194 (lambda (x)
186 (if (memq id (car (cdr (cdr x)))) 195 (if (memq id (car (cdr (cdr x))))
187 (progn 196 (progn
188 (insert (car x)) 197 (insert (car x))
189 (insert-at-column 16 198 (finder-insert-at-column 16 (concat (car (cdr x)) "\n")))))
190 (concat (car (cdr x)) "\n"))
191 ))
192 ))
193 finder-package-info) 199 finder-package-info)
194 (goto-char (point-min)) 200 (goto-char (point-min))
195 (forward-line) 201 (forward-line)
@@ -232,8 +238,7 @@ arguments compiles from `load-path'."
232 (setq buffer-read-only t) 238 (setq buffer-read-only t)
233 (set-buffer-modified-p nil) 239 (set-buffer-modified-p nil)
234 (shrink-window-if-larger-than-buffer) 240 (shrink-window-if-larger-than-buffer)
235 (finder-summary) 241 (finder-summary)))
236 ))
237 242
238(defun finder-current-item () 243(defun finder-current-item ()
239 (if (and finder-headmark (< (point) finder-headmark)) 244 (if (and finder-headmark (< (point) finder-headmark))
@@ -270,8 +275,7 @@ arguments compiles from `load-path'."
270 (setq mode-name "Finder") 275 (setq mode-name "Finder")
271 (setq major-mode 'finder-mode) 276 (setq major-mode 'finder-mode)
272 (make-local-variable 'finder-headmark) 277 (make-local-variable 'finder-headmark)
273 (setq finder-headmark nil) 278 (setq finder-headmark nil))
274)
275 279
276(defun finder-summary () 280(defun finder-summary ()
277 "Summarize basic Finder commands." 281 "Summarize basic Finder commands."