lisp/finder.el: Revert part of 2014-02-28 change.
[bpt/emacs.git] / lisp / finder.el
index 4a0277c..4729389 100644 (file)
@@ -1,7 +1,6 @@
 ;;; finder.el --- topic & keyword-based code finder
 
-;; Copyright (C) 1992, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005,
-;;   2006, 2007, 2008, 2009, 2010, 2011  Free Software Foundation, Inc.
+;; Copyright (C) 1992, 1997-1999, 2001-2014 Free Software Foundation, Inc.
 
 ;; Author: Eric S. Raymond <esr@snark.thyrsus.com>
 ;; Created: 16 Jun 1992
@@ -73,7 +72,9 @@
     (tools     . "programming tools")
     (unix      . "UNIX feature interfaces and emulators")
     (vc                . "version control")
-    (wp                . "word processing")))
+    (wp                . "word processing"))
+  "Association list of the standard \"Keywords:\" headers.
+Each element has the form (KEYWORD . DESCRIPTION).")
 
 (defvar finder-mode-map
   (let ((map (make-sparse-keymap))
     (define-key menu-map [finder-select]
       '(menu-item "Select" finder-select
                  :help "Select item on current line in a finder buffer"))
-    map))
+    map)
+  "Keymap used in `finder-mode'.")
 
 (defvar finder-mode-syntax-table
   (let ((st (make-syntax-table emacs-lisp-mode-syntax-table)))
   "Font-lock keywords for Finder mode.")
 
 (defvar finder-headmark nil
-  "Internal finder-mode variable, local in finder buffer.")
+  "Internal Finder mode variable, local in Finder buffer.")
 
 ;;; Code for regenerating the keyword list.
 
@@ -206,7 +208,8 @@ from; the default is `load-path'."
              (setq version (ignore-errors (version-to-list version)))
              (setq entry (assq package package--builtins))
              (cond ((null entry)
-                    (push (cons package (vector version nil summary))
+                    (push (cons package
+                                 (package-make-builtin version summary))
                           package--builtins))
                    ((eq base-name package)
                     (setq desc (cdr entry))
@@ -224,13 +227,16 @@ from; the default is `load-path'."
              (lambda (a b) (string< (symbol-name (car a))
                                     (symbol-name (car b))))))
 
-  (save-excursion
-    (find-file generated-finder-keywords-file)
+  (with-current-buffer
+      (find-file-noselect generated-finder-keywords-file)
     (setq buffer-undo-list t)
     (erase-buffer)
     (insert (autoload-rubric generated-finder-keywords-file
                              "keyword-to-package mapping" t))
     (search-backward "\f")
+    ;; FIXME: Now that we have package--builtin-versions, package--builtins is
+    ;; only needed to get the list of unversioned packages and to get the
+    ;; summary description of each package.
     (insert "(setq package--builtins '(\n")
     (dolist (package package--builtins)
       (insert "  ")
@@ -317,7 +323,7 @@ not `finder-known-keywords'."
         (packages (gethash id finder-keywords-hash)))
     (unless packages
       (error "No packages matching key `%s'" key))
-    (package--list-packages packages)))
+    (package-show-package-list packages)))
 
 (define-button-type 'finder-xref 'action #'finder-goto-xref)
 
@@ -378,7 +384,7 @@ FILE should be in a form suitable for passing to `locate-library'."
       key)))
 
 (defun finder-select ()
-  "Select item on current line in a finder buffer."
+  "Select item on current line in a Finder buffer."
   (interactive)
   (let ((key (finder-current-item)))
       (if (string-match "\\.el$" key)
@@ -386,7 +392,7 @@ FILE should be in a form suitable for passing to `locate-library'."
        (finder-list-matches key))))
 
 (defun finder-mouse-select (event)
-  "Select item in a finder buffer with the mouse."
+  "Select item in a Finder buffer with the mouse."
   (interactive "e")
   (with-current-buffer (window-buffer (posn-window (event-start event)))
     (goto-char (posn-point (event-start event)))
@@ -425,8 +431,13 @@ Delete the window and kill all Finder-related buffers."
   (let ((buf "*Finder*"))
     (and (get-buffer buf) (kill-buffer buf))))
 
+(defun finder-unload-function ()
+  "Unload the Finder library."
+  (with-demoted-errors (unload-feature 'finder-inf t))
+  ;; continue standard unloading
+  nil)
+
 \f
 (provide 'finder)
 
-;; arch-tag: ec85ff49-8cb8-41f5-a63f-9131d53ce2c5
 ;;; finder.el ends here