diff options
| author | Richard M. Stallman | 1997-06-12 03:51:53 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1997-06-12 03:51:53 +0000 |
| commit | 5acc847d859ea609f87013fa71477a1b281a27d5 (patch) | |
| tree | 818e9d1ca50e357831726fbd91f30ce0ec438e90 | |
| parent | 04bed6f76ce3b74badafde6996c7abced1f13c38 (diff) | |
| download | emacs-5acc847d859ea609f87013fa71477a1b281a27d5.tar.gz emacs-5acc847d859ea609f87013fa71477a1b281a27d5.zip | |
(finder-mode): Don't switch buffers or change text here.
(finder-by-keyword): Don't call finder-mode here.
(finder-list-matches): Call finder-mode here.
Switch to a buffer called *Finder Category*.
(finder-list-keywords): Call finder-mode here.
Switch to the buffer *Finder*.
If the buffer already exists, don't reinitialize it or move point.
| -rw-r--r-- | lisp/finder.el | 40 |
1 files changed, 21 insertions, 19 deletions
diff --git a/lisp/finder.el b/lisp/finder.el index d86a18ea779..799a681418c 100644 --- a/lisp/finder.el +++ b/lisp/finder.el | |||
| @@ -172,23 +172,29 @@ arguments compiles from `load-path'." | |||
| 172 | (defun finder-list-keywords () | 172 | (defun finder-list-keywords () |
| 173 | "Display descriptions of the keywords in the Finder buffer." | 173 | "Display descriptions of the keywords in the Finder buffer." |
| 174 | (interactive) | 174 | (interactive) |
| 175 | (setq buffer-read-only nil) | 175 | (if (get-buffer "*Finder*") |
| 176 | (erase-buffer) | 176 | (pop-to-buffer "*Finder*") |
| 177 | (mapcar | 177 | (pop-to-buffer (set-buffer "*Finder*")) |
| 178 | (lambda (assoc) | 178 | (finder-mode) |
| 179 | (let ((keyword (car assoc))) | 179 | (setq buffer-read-only nil) |
| 180 | (insert (symbol-name keyword)) | 180 | (erase-buffer) |
| 181 | (finder-insert-at-column 14 (concat (cdr assoc) "\n")) | 181 | (mapcar |
| 182 | (cons (symbol-name keyword) keyword))) | 182 | (lambda (assoc) |
| 183 | finder-known-keywords) | 183 | (let ((keyword (car assoc))) |
| 184 | (goto-char (point-min)) | 184 | (insert (symbol-name keyword)) |
| 185 | (setq finder-headmark (point)) | 185 | (finder-insert-at-column 14 (concat (cdr assoc) "\n")) |
| 186 | (setq buffer-read-only t) | 186 | (cons (symbol-name keyword) keyword))) |
| 187 | (set-buffer-modified-p nil) | 187 | finder-known-keywords) |
| 188 | (balance-windows) | 188 | (goto-char (point-min)) |
| 189 | (finder-summary)) | 189 | (setq finder-headmark (point)) |
| 190 | (setq buffer-read-only t) | ||
| 191 | (set-buffer-modified-p nil) | ||
| 192 | (balance-windows) | ||
| 193 | (finder-summary))) | ||
| 190 | 194 | ||
| 191 | (defun finder-list-matches (key) | 195 | (defun finder-list-matches (key) |
| 196 | (pop-to-buffer (set-buffer "*Finder Category*")) | ||
| 197 | (finder-mode) | ||
| 192 | (setq buffer-read-only nil) | 198 | (setq buffer-read-only nil) |
| 193 | (erase-buffer) | 199 | (erase-buffer) |
| 194 | (let ((id (intern key))) | 200 | (let ((id (intern key))) |
| @@ -262,7 +268,6 @@ arguments compiles from `load-path'." | |||
| 262 | (defun finder-by-keyword () | 268 | (defun finder-by-keyword () |
| 263 | "Find packages matching a given keyword." | 269 | "Find packages matching a given keyword." |
| 264 | (interactive) | 270 | (interactive) |
| 265 | (finder-mode) | ||
| 266 | (finder-list-keywords)) | 271 | (finder-list-keywords)) |
| 267 | 272 | ||
| 268 | (defun finder-mode () | 273 | (defun finder-mode () |
| @@ -272,9 +277,6 @@ arguments compiles from `load-path'." | |||
| 272 | \\[finder-exit] exit Finder mode and kill the Finder buffer. | 277 | \\[finder-exit] exit Finder mode and kill the Finder buffer. |
| 273 | " | 278 | " |
| 274 | (interactive) | 279 | (interactive) |
| 275 | (pop-to-buffer "*Finder*") | ||
| 276 | (setq buffer-read-only nil) | ||
| 277 | (erase-buffer) | ||
| 278 | (use-local-map finder-mode-map) | 280 | (use-local-map finder-mode-map) |
| 279 | (set-syntax-table emacs-lisp-mode-syntax-table) | 281 | (set-syntax-table emacs-lisp-mode-syntax-table) |
| 280 | (setq mode-name "Finder") | 282 | (setq mode-name "Finder") |