frameset.el (frameset--jump-to-register): Check that buffer is live (bug#16749).
[bpt/emacs.git] / lisp / finder.el
index 6245d7f..e516181 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)))
@@ -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)