(defun finder-list-keywords ()
"Display descriptions of the keywords in the Finder buffer."
(interactive)
- (setq buffer-read-only nil)
- (erase-buffer)
- (mapcar
- (lambda (assoc)
- (let ((keyword (car assoc)))
- (insert (symbol-name keyword))
- (finder-insert-at-column 14 (concat (cdr assoc) "\n"))
- (cons (symbol-name keyword) keyword)))
- finder-known-keywords)
- (goto-char (point-min))
- (setq finder-headmark (point))
- (setq buffer-read-only t)
- (set-buffer-modified-p nil)
- (balance-windows)
- (finder-summary))
+ (if (get-buffer "*Finder*")
+ (pop-to-buffer "*Finder*")
+ (pop-to-buffer (set-buffer "*Finder*"))
+ (finder-mode)
+ (setq buffer-read-only nil)
+ (erase-buffer)
+ (mapcar
+ (lambda (assoc)
+ (let ((keyword (car assoc)))
+ (insert (symbol-name keyword))
+ (finder-insert-at-column 14 (concat (cdr assoc) "\n"))
+ (cons (symbol-name keyword) keyword)))
+ finder-known-keywords)
+ (goto-char (point-min))
+ (setq finder-headmark (point))
+ (setq buffer-read-only t)
+ (set-buffer-modified-p nil)
+ (balance-windows)
+ (finder-summary)))
(defun finder-list-matches (key)
+ (pop-to-buffer (set-buffer "*Finder Category*"))
+ (finder-mode)
(setq buffer-read-only nil)
(erase-buffer)
(let ((id (intern key)))
(defun finder-by-keyword ()
"Find packages matching a given keyword."
(interactive)
- (finder-mode)
(finder-list-keywords))
(defun finder-mode ()
\\[finder-exit] exit Finder mode and kill the Finder buffer.
"
(interactive)
- (pop-to-buffer "*Finder*")
- (setq buffer-read-only nil)
- (erase-buffer)
(use-local-map finder-mode-map)
(set-syntax-table emacs-lisp-mode-syntax-table)
(setq mode-name "Finder")