diff options
Diffstat (limited to 'lisp/wid-browse.el')
-rw-r--r-- | lisp/wid-browse.el | 36 |
1 files changed, 12 insertions, 24 deletions
diff --git a/lisp/wid-browse.el b/lisp/wid-browse.el index 0864e1b313e..7ce0633b40b 100644 --- a/lisp/wid-browse.el +++ b/lisp/wid-browse.el @@ -1,7 +1,7 @@ -;;; wid-browse.el --- functions for browsing widgets -;; +;;; wid-browse.el --- functions for browsing widgets -*- lexical-binding: t -*- + ;; Copyright (C) 1997, 2001-2021 Free Software Foundation, Inc. -;; + ;; Author: Per Abrahamsen <abraham@dina.kvl.dk> ;; Keywords: extensions ;; Package: emacs @@ -22,12 +22,11 @@ ;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. ;;; Commentary: -;; + ;; Widget browser. See `widget.el'. ;;; Code: -(require 'easymenu) (require 'wid-edit) (defgroup widget-browse nil @@ -39,7 +38,7 @@ (defvar widget-browse-mode-map (let ((map (make-sparse-keymap))) (set-keymap-parent map widget-keymap) - (define-key map "q" 'bury-buffer) + (define-key map "q" #'bury-buffer) map) "Keymap for `widget-browse-mode'.") @@ -56,11 +55,10 @@ ["Browse At" widget-browse-at t])) (defcustom widget-browse-mode-hook nil - "Hook called when entering widget-browse-mode." - :type 'hook - :group 'widget-browse) + "Hook run after entering `widget-browse-mode'." + :type 'hook) -(defun widget-browse-mode () +(define-derived-mode widget-browse-mode special-mode "Widget Browse" "Major mode for widget browser buffers. The following commands are available: @@ -68,15 +66,7 @@ The following commands are available: \\[widget-forward] Move to next button or editable field. \\[widget-backward] Move to previous button or editable field. \\[widget-button-click] Activate button under the mouse pointer. -\\[widget-button-press] Activate button under point. - -Entry to this mode calls the value of `widget-browse-mode-hook' -if that value is non-nil." - (kill-all-local-variables) - (setq major-mode 'widget-browse-mode - mode-name "Widget") - (use-local-map widget-browse-mode-map) - (run-mode-hooks 'widget-browse-mode-hook)) +\\[widget-button-press] Activate button under point.") (put 'widget-browse-mode 'mode-class 'special) @@ -190,11 +180,11 @@ The :value of the widget should 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 :value of WIDGET." (widget-browse (widget-get widget :value))) (defun widget-browse-value-create (widget) - ;; Insert type name. + "Insert type name for WIDGET." (let ((value (widget-get widget :value))) (cond ((symbolp value) (insert (symbol-name value))) @@ -228,7 +218,7 @@ Nothing is assumed about value." (error (prin1-to-string signal))))) (when (string-match "\n\\'" pp) (setq pp (substring pp 0 (1- (length pp))))) - (if (cond ((string-match "\n" pp) + (if (cond ((string-search "\n" pp) nil) ((> (length pp) (- (window-width) (current-column))) nil) @@ -273,8 +263,6 @@ VALUE is assumed to be a list of widgets." "Minor mode for traversing widgets." :lighter " Widget") -;;; The End: - (provide 'wid-browse) ;;; wid-browse.el ends here |