;ELC   
;;; compiled by rms@mole.gnu.ai.mit.edu on Tue Jun  7 15:36:50 1994
;;; from file /gd/gnu/emacs/19.0/lisp/foldout.el
;;; emacs version 19.25.3.
;;; bytecomp version FSF 2.10
;;; optimization is on.
;;; this file uses opcodes which do not exist in Emacs 18.

(if (and (boundp 'emacs-version)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19")))
    (error "`/gd/gnu/emacs/19.0/lisp/foldout.el' was compiled for Emacs 19"))

(byte-code "ÀÁ!ˆÂÃ!„ ÄÅ!ˆÀ‡" [require outline boundp outline-minor-mode error "Can't find outline-minor-mode"] 2)
(defconst foldout-fold-list nil "\
List of start and end markers for the folds currently entered.
An end marker of NIL means the fold ends after (point-max).")
(make-variable-buffer-local (quote foldout-fold-list))
(defconst foldout-modeline-string nil "\
Modeline string announcing that we are in an outline fold.")
(byte-code "ÀÁ!ˆÁ\nž„% Ã\nž\n>Ä‰„ ÇÈ!ˆA¤¡ˆ*À‡" [make-variable-buffer-local foldout-modeline-string minor-mode-alist outline-minor-mode ((foldout-modeline-string foldout-modeline-string)) foldout-entry outl-entry error "Can't find outline-minor-mode in minor-mode-alist"] 4)
(defalias 'foldout-zoom-subtree #[(&optional exposure) "Š~ˆÀ ˆÁ\n!`Å Ç ˆÈÉwˆ`\nm?…& Ë \nTÉ“\f\f\n}ˆ\fbˆ\n„= Í ˆÎ ˆ‚d ÏWƒI Í ˆ‚d \n:ƒT Î ˆ‚d ÏVƒa Î!ˆ‚d Ð ˆ\fBBÒ .‡" [outline-back-to-heading prefix-numeric-value exposure exposure-value start point-marker start-marker outline-end-of-subtree "\n" nil end make-marker end-marker show-entry show-children 0 show-subtree foldout-fold-list foldout-update-modeline] 3 "\
Open the subtree under the current heading and narrow to it.

Normally the body and the immediate subheadings are exposed, but
optional arg EXPOSURE (interactively with prefix arg) changes this:-

	EXPOSURE > 0	exposes n levels of subheadings (c.f. show-children)
	EXPOSURE < 0	exposes only the body
	EXPOSURE = 0	exposes the entire subtree" "P"])
(defalias 'foldout-exit-fold #[(&optional num-folds) "À‰Á„ ÆÇ!ˆÉUƒ G‚* ÉWƒ* À[G^~ˆÉU„§ @@@AASƒ] bˆÊuˆhË>„] ÌcˆÉUƒ– `ƒy ÊuˆhÍ>ƒu Êuˆ`‚z d\nƒ‰ Ð\fÑ#ˆƒ• ÐÌ#ˆ*\fÀ‰“ˆƒ3 À‰“ˆ‚3 ƒÂ @@@A\fƒ¿ Ò!S‚À d}ˆÓ ˆÔ +‡" [nil t hide-fold end-marker start-marker foldout-fold-list error "Not in a fold!" num-folds 0 -1 (10 13) 10 (10 13) end-of-subtree beginning-of-heading outline-flag-region 13 marker-position recenter foldout-update-modeline] 4 "\
Return to the ARG'th enclosing fold view.  With ARG = 0 exit all folds.

Normally causes exited folds to be hidden, but with ARG < 0, -ARG folds are
exited and text is left visible." "p"])
(defalias 'foldout-update-modeline #[nil "G‰ÂUƒ Ã‚& \fƒ ÅÆ	\"‚& 	ÇUƒ\" È‚& ÅÉ	\"‰\n)‡" [foldout-fold-list depth 0 nil outline-minor-mode format ":%d" 1 " Inside 1 fold" " Inside %d folds" foldout-modeline-string] 4 "\
Set the modeline string to indicate our fold depth."])
(defalias 'foldout-mouse-zoom #[(event) "À	!Â	!ˆÃ	Ä	8¨ƒ Ä	8‚ Å)‰ÅUƒ& Ç‚= ÄUƒ1 È‚= ÉUƒ< Ê‚= Ë)!‡" [foldout-mouse-swallow-events event foldout-mouse-goto-heading foldout-zoom-subtree 2 1 nclicks -1 (1) 3 nil 0] 4 "\
Zoom in on the heading clicked on.

How much is exposed by the zoom depends on the number of mouse clicks:-

	1	expose body
	2	expose subheadings
	3	expose body and subheadings
	4	expose entire subtree" "@e"])
(defalias 'foldout-mouse-show #[(event) "À	!Â	!ˆ	Ã	8¨ƒ Ã	8‚ Ä)‰ÄUƒ% Æ ‚@ ÃUƒ0 Ç ‚@ ÈUƒ> Æ ˆÇ ‚@ É )‡" [foldout-mouse-swallow-events event foldout-mouse-goto-heading 2 1 nclicks show-entry show-children 3 show-subtree] 3 "\
Show what is hidden under the heading clicked on.

What gets exposed depends on the number of mouse clicks:-

	1	expose body
	2	expose subheadings
	3	expose body and subheadings
	4	expose entire subtree" "@e"])
(defalias 'foldout-mouse-hide-or-exit #[(event) "À	!‰Â	8¨ƒ Â	8‚ Ã)‰ÃUƒ% Å	!ˆÆ ‚< Ç\fÂUƒ0 Ã‚; \fÈUƒ: É‚; Ê!)‡" [foldout-mouse-swallow-events event 2 1 nclicks foldout-mouse-goto-heading hide-subtree foldout-exit-fold 3 -1 0] 4 "\
Hide the subtree under the heading clicked on, or exit a fold.

What happens depends on the number of mouse clicks:-

	1	hide subtree
	2	exit fold and hide text
	3	exit fold without hiding text
	4	exit all folds and hide text" "@e"])
(defalias 'foldout-mouse-swallow-events #[(event) "À	!ÃÄÆ#„ Ç ‚ \nÀ	!=„ ÈÉ!ˆ)	‡" [event-basic-type event initial-event-type sit-for 0 double-click-time nodisplay read-event error ""] 4 "\
Swallow intervening mouse events so we only get the final click-count.
Signal an error if the final event isn't the same type as the first one."])
(defalias 'foldout-mouse-goto-heading #[(event) "‰A@)‰A@:ƒ 	A@@‚ 	A@)bˆÂ †, ŠÃyˆo)†, ÄÅ!‡" [event position outline-on-heading-p 0 error "Not a heading line"] 3 "\
Go to the heading where the mouse event started.  Signal an error
if the event didn't occur on a heading."])
(defvar foldout-inhibit-key-bindings nil "\
Set non-NIL before loading foldout to inhibit key bindings.")
(defvar foldout-mouse-modifiers (quote (meta control)) "\
List of modifier keys to apply to foldout's mouse events.

The default (meta control) makes foldout bind its functions to
M-C-down-mouse-{1,2,3}.

Valid modifiers are shift, control, meta, alt, hyper and super.")
(byte-code "„z Á\nÃÄ#ˆÁ\nÅÆ#ˆÁÉPÄ#ˆÁÊPÆ#ˆËÌÍÎ\"\"ÑÒÓP!!ÑÒÕP!!ÑÒ×P!!Á\nÙ#ˆÁ\nÚ#ˆÁ\nÛ#ˆÁÙ#ˆÁÚ#ˆÁÛ#ˆ,ÜÝ!‡" [foldout-inhibit-key-bindings define-key outline-mode-map "" foldout-zoom-subtree "" foldout-exit-fold outline-minor-mode-map outline-minor-mode-prefix "" "" apply concat mapcar #[(modifier) "À	Â=ƒ Ã‚A 	Ä=ƒ Å‚A 	Æ=ƒ Ç‚A 	È=ƒ) É‚A 	Ê=ƒ3 Ë‚A 	Ì=ƒ= Í‚A ÎÏ	\"Ð\"‡" [vector modifier shift 83 control 67 meta 77 alt 65 hyper 72 super 115 error "invalid mouse modifier %s" 45] 4] foldout-mouse-modifiers modifiers vector intern "down-mouse-1" mouse-1 "down-mouse-2" mouse-2 "down-mouse-3" mouse-3 foldout-mouse-zoom foldout-mouse-show foldout-mouse-hide-or-exit provide foldout] 5)
