diff lisp/finder.el @ 89909:68c22ea6027c

Sync to HEAD
author Kenichi Handa <handa@m17n.org>
date Fri, 16 Apr 2004 12:51:06 +0000
parents 375f2633d815
children 13796b0653c7
line wrap: on
line diff
--- a/lisp/finder.el	Thu Apr 15 01:08:34 2004 +0000
+++ b/lisp/finder.el	Fri Apr 16 12:51:06 2004 +0000
@@ -1,6 +1,6 @@
 ;;; finder.el --- topic & keyword-based code finder
 
-;; Copyright (C) 1992, 1997, 1998, 1999, 2001 Free Software Foundation, Inc.
+;; Copyright (C) 1992,97,98,1999,2001,2004  Free Software Foundation, Inc.
 
 ;; Author: Eric S. Raymond <esr@snark.thyrsus.com>
 ;; Created: 16 Jun 1992
@@ -44,6 +44,9 @@
 ;; during byte-compilation (at which point it might be missing).
 (load "finder-inf" t t)
 
+(defvar finder-mode-hook nil
+  "*Hook run when function `finder-mode' is called.")
+
 ;; Local variable in finder buffer.
 (defvar finder-headmark)
 
@@ -58,7 +61,7 @@
     (calendar	. "calendar and time management support")
     (comm	. "communications, networking, remote access to files")
     (convenience . "convenience features for faster editing")
-    (data	. "support editing files of data")
+    (data	. "support for editing files of data")
     (docs	. "support for Emacs documentation")
     (emulations	. "emulations of other editors")
     (extensions	. "Emacs Lisp language extensions")
@@ -84,25 +87,24 @@
     (outlines   . "support for hierarchical outlining")
     (processes	. "process, subshell, compilation, and job control support")
     (terminals	. "support for terminal types")
-    (tex	. "code related to the TeX formatter")
+    (tex	. "supporting code for the TeX formatter")
     (tools	. "programming tools")
-    (unix	. "front-ends/assistants for, or emulators of, UNIX features")
+    (unix	. "front-ends/assistants for, or emulators of, UNIX-like features")
 ;; Not a custom group and not currently useful.
 ;;    (vms	. "support code for vms")
     (wp		. "word processing")
     ))
 
-(defvar finder-mode-map nil)
-(or finder-mode-map
-    (let ((map (make-sparse-keymap)))
-      (define-key map " "	'finder-select)
-      (define-key map "f"	'finder-select)
-      (define-key map [mouse-2]	'finder-mouse-select)
-      (define-key map "\C-m"	'finder-select)
-      (define-key map "?"	'finder-summary)
-      (define-key map "q"	'finder-exit)
-      (define-key map "d"	'finder-list-keywords)
-      (setq finder-mode-map map)))
+(defvar finder-mode-map
+  (let ((map (make-sparse-keymap)))
+    (define-key map " "	'finder-select)
+    (define-key map "f"	'finder-select)
+    (define-key map [mouse-2]	'finder-mouse-select)
+    (define-key map "\C-m"	'finder-select)
+    (define-key map "?"	'finder-summary)
+    (define-key map "q"	'finder-exit)
+    (define-key map "d"	'finder-list-keywords)
+    map))
 
 
 ;;; Code for regenerating the keyword list.
@@ -279,6 +281,7 @@
 	(error "Can't find any Commentary section"))
     ;; This used to use *Finder* but that would clobber the
     ;; directory of categories.
+    (delete-other-windows)
     (pop-to-buffer "*Finder-package*")
     (setq buffer-read-only nil)
     (erase-buffer)
@@ -332,12 +335,13 @@
 \\[finder-select]	more help for the item on the current line
 \\[finder-exit]	exit Finder mode and kill the Finder buffer."
   (interactive)
+  (kill-all-local-variables)
   (use-local-map finder-mode-map)
   (set-syntax-table emacs-lisp-mode-syntax-table)
   (setq mode-name "Finder")
   (setq major-mode 'finder-mode)
-  (make-local-variable 'finder-headmark)
-  (setq finder-headmark nil))
+  (set (make-local-variable 'finder-headmark) nil)
+  (run-mode-hooks 'finder-mode-hook))
 
 (defun finder-summary ()
   "Summarize basic Finder commands."
@@ -362,4 +366,5 @@
 
 (provide 'finder)
 
+;;; arch-tag: ec85ff49-8cb8-41f5-a63f-9131d53ce2c5
 ;;; finder.el ends here