]> code.delx.au - gnu-emacs/blobdiff - lisp/wid-browse.el
(widget-browse-mode-map, widget-minor-mode-map): Initialize in the declaration.
[gnu-emacs] / lisp / wid-browse.el
index ec702f7b45c4636ab90fc869c9a48afc1de18531..f0dab6626acfc493fd20880e29f1b0366e755c50 100644 (file)
 
 ;;; 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
     widget-browse-mode-map
   "Menu used in widget browser buffers."
@@ -265,38 +264,21 @@ VALUE is assumed to be a list of widgets."
 
 ;;; Widget Minor Mode.
 
-(defvar widget-minor-mode nil
-  "If 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)
 
-;;; arch-tag: d5ffb18f-8984-4735-8502-edf70456db21
+;; arch-tag: d5ffb18f-8984-4735-8502-edf70456db21
 ;;; wid-browse.el ends here