;ELC   
;;; Compiled by rms@psilocin.gnu.ai.mit.edu on Sun Jun 15 03:16:51 1997
;;; from file /home/fsf/rms/e19/lisp/wid-browse.el
;;; in Emacs version 19.34.94.27
;;; with bytecomp version 2.28
;;; with all optimizations.
;;; This file uses opcodes which do not exist in Emacs 18.

(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`wid-browse.el' was compiled for Emacs 19.29 or later"))


(byte-code "ÀÁ!ˆÀÂ!ˆÀÃ!ˆÄÅÆÇÉ%‡" [require easymenu custom wid-edit custom-declare-group widget-browse nil "Customization support for browsing widgets." :group widgets] 6)
#@34 Keymap for `widget-browse-mode'.
(defvar widget-browse-mode-map nil (#$ . 721))
(byte-code "„ Á Â\"ˆÄÅÆ#ˆÁ‡" [widget-browse-mode-map make-sparse-keymap set-keymap-parent widget-keymap define-key "q" bury-buffer] 4)
#@38 Menu used in widget browser buffers.
(defvar widget-browse-mode-customize-menu nil (#$ . 948))
(byte-code "ÀÁ\nÃÄÅ!$‡" [easy-menu-do-define widget-browse-mode-customize-menu widget-browse-mode-map "Menu used in widget browser buffers." customize-menu-create widgets] 6)
#@38 Menu used in widget browser buffers.
(defvar widget-browse-mode-menu nil (#$ . 1224))
(easy-menu-do-define 'widget-browse-mode-menu widget-browse-mode-map "Menu used in widget browser buffers." '("Widget" ["Browse" widget-browse t] ["Browse At" widget-browse-at t]))
(custom-declare-variable 'widget-browse-mode-hook 'nil "Hook called when entering widget-browse-mode." :type 'hook :group 'widget-browse)
#@410 Major mode for widget browser buffers.

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.
(defalias 'widget-browse-mode #[nil "À ˆÁÃÅ!ˆÇ!ˆÇ	!ˆÊË!‡" [kill-all-local-variables widget-browse-mode major-mode "Widget" mode-name use-local-map widget-browse-mode-map easy-menu-add widget-browse-mode-customize-menu widget-browse-mode-menu run-hooks widget-browse-mode-hook] 2 (#$ . 1636)])
#@32 Browse the widget under point.
(defalias 'widget-browse-at #[(pos) "À	Â\"À	Ã\"À	Ä\"\nƒ Æ‚( ƒ Ç‚( ƒ' È‚( É\n\n†3 †3 ‰ƒ> Ì!ˆÍ\n!-‡" [get-char-property pos field button widget-doc doc "This is an editable text area." "This is an active area." "This is documentation text." "This is unidentified text." text widget widget-browse message] 4 (#$ . 2351) "d"])
(byte-code "ÀÁ!„ ÂÁBÂ‡" [boundp widget-browse-history nil current-load-list] 2)
#@37 Create a widget browser for WIDGET.
(defalias 'widget-browse #[(widget) ";ƒ	 Á!9ƒ ÂN‚  :ƒ# ‰@)ÂN„' ÃÄ!ˆ9ƒD ÅÆ\"ÈÉ!!ˆÊÉ!!ˆ)‚P ÈÉË!!ˆÊÉË!!ˆÌ ˆ<ƒ_ ÍÎ!ˆ‚ƒ ÍÏ!ˆÐÑÓÕN&ˆhÖ=„{ Í×!ˆÍØ!ˆÂN@AÙ‰‰ÐÑß$ˆÍ×!ˆƒÚ @A@àN†¹ áAAÍ×â!ã#ˆ#ˆÍ×!ˆ‚¡ -ä ˆeb‡" [widget intern widget-type error "Not a widget." format "*Browse %s Widget*" buffer kill-buffer get-buffer-create switch-to-buffer "*Browse Widget*" widget-browse-mode widget-insert "Widget object browser.\n\nClass: " "Widget class browser.\n\n" widget-create widget-browse :format "%[%v%]\n%d" :doc widget-documentation 10 "\n" "\nSuper: " nil printer value key items name "%[%v%]" widget-keyword-printer widget-browse-sexp symbol-name "\n	" widget-setup] 8 (#$ . 2810) (list (completing-read "Widget: " obarray (lambda (symbol) (get symbol 'widget-type)) t nil 'widget-browse-history))])
#@49 Show widget browser for WIDGET in other window.
(defalias 'widget-browse-other-window #[(&optional widget) "À ÂÃ!ˆ\fƒ Å\f!ˆ‚ ÆÅ!ˆÇ	!)‡" [selected-window window switch-to-buffer-other-window "*Browse Widget*" widget widget-browse call-interactively select-window] 2 (#$ . 3707) nil])
(define-widget 'widget-browse 'push-button "Button for creating a widget browser.\nThe :value of the widget shuld be the widget to be browsed." :format "%[[%v]%]" :value-create 'widget-browse-value-create :action 'widget-browse-action)
(defalias 'widget-browse-action #[(widget &optional event) "ÀÁ\n\"!‡" [widget-browse widget-get widget :value] 4])
(defalias 'widget-browse-value-create #[(widget) "À	\n\"‰9ƒ Ä!c‚# :ƒ! Ä‰@)!c‚# Åc)‡" [widget-get widget :value value symbol-name "strange"] 4])
#@76 Insert description of WIDGET's KEY VALUE.
VALUE is assumed to be a widget.
(defalias 'widget-browse-widget #[(widget key value) "ÀÁ\n\"‡" [widget-create widget-browse value] 3 (#$ . 4501)])
#@85 Insert description of WIDGET's KEY VALUE.
VALUE is assumed to be a list of widgets.
(defalias 'widget-browse-widgets #[(widget key value) "… ÁÂ@\"ˆA‰ƒ  ÃÄ!ˆ‚  ‡" [value widget-create widget-browse widget-insert " "] 4 (#$ . 4697)])
#@75 Insert description of WIDGET's KEY VALUE.
Nothing is assumed about value.
(defalias 'widget-browse-sexp #[(widget key value) "ÀÁÂÄÅ\"ƒ ÆGSOÄÇ\"„* GÈ iZV„* É!‚5 ÊË\fÍÏ&)‡" [signal (pp-to-string value) ((error (prin1-to-string signal))) pp string-match "\n\\'" 0 "\n" window-width widget-insert widget-create push-button :tag "show" :action #[(widget &optional event) "ÀÁÂ\f\"!‘‡" ["*Pp Eval Output*" princ widget-get widget :value] 5]] 7 (#$ . 4940)])
#@85 Insert description of WIDGET's KEY VALUE.
VALUE is assumed to be a list of widgets.
(defalias 'widget-browse-sexps #[(widget key value) "i	… Â\f	@#ˆ	A‰ƒ ÅÆÇÈ\"\"ˆ‚ )‡" [target value widget-browse-sexp widget key widget-insert "\n" make-string 32] 6 (#$ . 5414)])
(byte-code "À	ÂÃ#ˆÀ\fÂÅ#ˆÀÂÅ#ˆÀÂÃ#ˆÀÂÉ#‡" [put :parent widget-keyword-printer widget-browse-widget :children widget-browse-widgets :buttons :button :args widget-browse-sexps] 4)
#@41 I non-nil, we are in Widget Minor Mode.
(defvar widget-minor-mode nil (#$ . 5874))
(make-variable-buffer-local 'widget-minor-mode)
#@35 Keymap used in Widget Minor Mode.
(defvar widget-minor-mode-map nil (#$ . 6011))
(byte-code "„\f Á Â\"ˆÁ‡" [widget-minor-mode-map make-sparse-keymap set-keymap-parent widget-keymap] 3)
#@104 Togle minor mode for traversing widgets.
With arg, turn widget mode on if and only if arg is positive.
(defalias 'widget-minor-mode #[(&optional arg) "„\n 	?‚ ÂXƒ Ã‚ ÄÅ ‡" [arg widget-minor-mode 0 nil t force-mode-line-update] 2 (#$ . 6207) "P"])
(byte-code "ÀÁÂ\"ˆÀÃÄB\"ˆÆÇ!‡" [add-to-list minor-mode-alist (widget-minor-mode " Widget") minor-mode-map-alist widget-minor-mode widget-minor-mode-map provide wid-browse] 4)
