frameset.el (frameset--jump-to-register): Check that buffer is live (bug#16749).
[bpt/emacs.git] / lisp / finder.el
index 8da5896..e516181 100644 (file)
@@ -1,7 +1,6 @@
 ;;; finder.el --- topic & keyword-based code finder
 
-;; Copyright (C) 1992, 1997-1999, 2001-2013 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)))
@@ -138,18 +140,6 @@ cus-load\\|finder-inf\\|esh-groups\\|subdirs\\)\\.el$\\)"
 
 (autoload 'autoload-rubric "autoload")
 
-(defun set-generated-finder-keywords-file (file)
-  "Set value of `generated-finder-keywords-file' from FILE.
-
-On systems other than MS-Windows, just sets the value
-of `generated-finder-keywords-file'.  On MS-Windows, converts
-/d/foo/bar form passed by MSYS Make into d:/foo/bar that Emacs
-can grok.  This function is called from lisp/Makefile."
-  (when (and (eq system-type 'windows-nt)
-            (string-match "\\`/[a-zA-Z]/" file))
-    (setq file (concat (substring file 1 2) ":" (substring file 2))))
-  (setq generated-finder-keywords-file file))
-
 (defvar finder--builtins-alist
   '(("calc" . calc)
     ("ede"  . ede)
@@ -218,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))
@@ -236,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 "  ")