Use find-file-hook instead of find-file-hooks.
[bpt/emacs.git] / lisp / wid-browse.el
index cf98e2b..6aec0a2 100644 (file)
@@ -1,17 +1,16 @@
-;;; wid-browse.el --- Functions for browsing widgets.
+;;; wid-browse.el --- functions for browsing widgets
 ;;
-;; Copyright (C) 1997 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005,
+;;   2006, 2007, 2008 Free Software Foundation, Inc.
 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Keywords: extensions
-;; Version: 1.9914
-;; X-URL: http://www.dina.kvl.dk/~abraham/custom/
 
 ;; This file is part of GNU Emacs.
 
 ;; GNU Emacs is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
+;; the Free Software Foundation; either version 3, or (at your option)
 ;; any later version.
 
 ;; GNU Emacs is distributed in the hope that it will be useful,
@@ -21,8 +20,8 @@
 
 ;; You should have received a copy of the GNU General Public License
 ;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
 
 ;;; Commentary:
 ;;
 
 ;;; The Mode.
 
-(defvar widget-browse-mode-map nil
+(defvar widget-browse-mode-map
+  (let ((map (make-sparse-keymap)))
+    (set-keymap-parent map widget-keymap)
+    (define-key map "q" 'bury-buffer)
+    map)
   "Keymap for `widget-browse-mode'.")
-  
-(unless widget-browse-mode-map
-  (setq widget-browse-mode-map (make-sparse-keymap))
-  (set-keymap-parent widget-browse-mode-map widget-keymap)
-  (define-key widget-browse-mode-map "q" 'bury-buffer))
 
-(easy-menu-define widget-browse-mode-customize-menu 
+(easy-menu-define widget-browse-mode-customize-menu
     widget-browse-mode-map
   "Menu used in widget browser buffers."
   (customize-menu-create 'widgets))
 
-(easy-menu-define widget-browse-mode-menu 
+(easy-menu-define widget-browse-mode-menu
     widget-browse-mode-map
   "Menu used in widget browser buffers."
   '("Widget"
@@ -84,7 +82,9 @@ if that value is non-nil."
   (use-local-map widget-browse-mode-map)
   (easy-menu-add widget-browse-mode-customize-menu)
   (easy-menu-add widget-browse-mode-menu)
-  (run-hooks 'widget-browse-mode-hook))
+  (run-mode-hooks 'widget-browse-mode-hook))
+
+(put 'widget-browse-mode 'mode-class 'special)
 
 ;;; Commands.
 
@@ -109,7 +109,7 @@ if that value is non-nil."
 ;;;###autoload
 (defun widget-browse (widget)
   "Create a widget browser for WIDGET."
-  (interactive (list (completing-read "Widget: " 
+  (interactive (list (completing-read "Widget: "
                                      obarray
                                      (lambda (symbol)
                                        (get symbol 'widget-type))
@@ -120,7 +120,7 @@ if that value is non-nil."
              (get widget 'widget-type)
            (and (consp widget)
                 (get (widget-type widget) 'widget-type)))
-    (error "Not a widget."))
+    (error "Not a widget"))
   ;; Create the buffer.
   (if (symbolp widget)
       (let ((buffer (format "*Browse %s Widget*" widget)))
@@ -129,7 +129,7 @@ if that value is non-nil."
     (kill-buffer (get-buffer-create "*Browse Widget*"))
     (switch-to-buffer (get-buffer-create "*Browse Widget*")))
   (widget-browse-mode)
-  
+
   ;; Quick way to get out.
 ;;  (widget-create 'push-button
 ;;              :action (lambda (widget &optional event)
@@ -192,7 +192,7 @@ The :value of the widget shuld be the widget to be browsed."
   :action 'widget-browse-action)
 
 (defun widget-browse-action (widget &optional event)
-  ;; Create widget browser for WIDGET's :value. 
+  ;; Create widget browser for WIDGET's :value.
   (widget-browse (widget-get widget :value)))
 
 (defun widget-browse-value-create (widget)
@@ -264,37 +264,21 @@ VALUE is assumed to be a list of widgets."
 
 ;;; Widget Minor Mode.
 
-(defvar widget-minor-mode nil
-  "I non-nil, we are in Widget Minor Mode.")
-  (make-variable-buffer-local 'widget-minor-mode)
-
-(defvar widget-minor-mode-map nil
+(defvar widget-minor-mode-map
+  (let ((map (make-sparse-keymap)))
+    (set-keymap-parent map widget-keymap)
+    map)
   "Keymap used in Widget Minor Mode.")
 
-(unless widget-minor-mode-map
-  (setq widget-minor-mode-map (make-sparse-keymap))
-  (set-keymap-parent widget-minor-mode-map widget-keymap))
-
 ;;;###autoload
-(defun widget-minor-mode (&optional arg)
+(define-minor-mode widget-minor-mode
   "Togle minor mode for traversing widgets.
 With arg, turn widget mode on if and only if arg is positive."
-  (interactive "P")
-  (cond ((null arg)
-        (setq widget-minor-mode (not widget-minor-mode)))
-       ((<= arg 0)
-        (setq widget-minor-mode nil))
-       (t
-        (setq widget-minor-mode t)))
-  (force-mode-line-update))
-
-(add-to-list 'minor-mode-alist '(widget-minor-mode " Widget"))
-
-(add-to-list 'minor-mode-map-alist 
-            (cons 'widget-minor-mode widget-minor-mode-map))
+  :lighter " Widget")
 
 ;;; The End:
 
 (provide 'wid-browse)
 
-;; wid-browse.el ends here
+;; arch-tag: d5ffb18f-8984-4735-8502-edf70456db21
+;;; wid-browse.el ends here