;;; compiled by rms@wookumz.gnu.ai.mit.edu on Tue Jun  1 01:34:47 1993
;;; from file /gd/gnu/emacs/19.0/lisp/outline.el
;;; emacs version 19.10.3.
;;; bytecomp version FSF 2.08
;;; optimization is on.

(defvar outline-regexp "[*]+" "\
*Regular expression to match the beginning of a heading.
Any line whose beginning matches this regexp is considered to start a heading.
The recommended way to set this is with a Local Variables: list
in the file it applies to.  See also outline-heading-end-regexp.")
(defvar outline-heading-end-regexp "[\n]" "\
*Regular expression to match the end of a heading line.
You can assume that point is at the beginning of a heading when this
regexp is searched for.  The heading ends at the end of the match.
The recommended way to set this is with a \"Local Variables:\" list
in the file it applies to.")
(defvar outline-mode-map nil "\
")
(byte-code "„: ÁÂ \"ÄÅÆ#ˆÄÇÈ#ˆÄÉÊ#ˆÄËÌ#ˆÄÍÎ#ˆÄÏÐ#ˆÄÑÒ#ˆÄÓÔ#ˆÁ‡" [outline-mode-map nconc make-sparse-keymap text-mode-map define-key "" outline-next-visible-heading "" outline-previous-visible-heading "	" show-children "" show-subtree "" hide-subtree "" outline-up-heading "" outline-forward-same-level "" outline-backward-same-level] 4)
(defvar outline-minor-mode nil "\
Non-nil if using Outline mode as a minor mode of some other mode.")
(byte-code "ÀÁ!ˆÂÁÃÄ#ˆÅÇC\"À‡" [make-variable-buffer-local outline-minor-mode put permanent-local t append minor-mode-alist (outline-minor-mode " Outl")] 4)
(defalias 'outline-mode #[nil "À ˆÁÃ!ˆÅÇÉÊË\"ˆ\nÍ!ˆÏÐ!ˆÑÓRÏÔ!ˆÏÕ!ˆÑÓRÖ×Ø\"‡" [kill-all-local-variables t selective-display use-local-map outline-mode-map "Outline" mode-name outline-mode major-mode define-abbrev-table text-mode-abbrev-table nil local-abbrev-table set-syntax-table text-mode-syntax-table make-local-variable paragraph-start "\\|^\\(" outline-regexp "\\)" auto-fill-inhibit-regexp paragraph-separate run-hooks text-mode-hook outline-mode-hook] 4 "\
Set major mode for editing outlines with selective display.
Headings are lines which start with asterisks: one for major headings,
two for subheadings, etc.  Lines not starting with asterisks are body lines. 

Body text or subheadings under a heading can be made temporarily
invisible, or visible again.  Invisible lines are attached to the end 
of the heading, so they move with it, if the line is killed and yanked
back.  A heading with text hidden under it is marked with an ellipsis (...).

Commands:\\<outline-mode-map>
\\[outline-next-visible-heading]   outline-next-visible-heading      move by visible headings
\\[outline-previous-visible-heading]   outline-previous-visible-heading
\\[outline-forward-same-level]   outline-forward-same-level        similar but skip subheadings
\\[outline-backward-same-level]   outline-backward-same-level
\\[outline-up-heading]   outline-up-heading		    move from subheading to heading

M-x hide-body	make all text invisible (not headings).
M-x show-all	make everything in buffer visible.

The remaining commands are used when point is on a heading line.
They apply to some of the body or subheadings of that heading.
\\[hide-subtree]   hide-subtree	make body and subheadings invisible.
\\[show-subtree]   show-subtree	make body and subheadings visible.
\\[show-children]   show-children	make direct subheadings visible.
		 No effect on body, or subheadings 2 or more levels down.
		 With arg N, affects subheadings N levels down.
M-x hide-entry	   make immediately following body invisible.
M-x show-entry	   make it visible.
M-x hide-leaves	   make body under heading and under its subheadings invisible.
		     The subheadings remain visible.
M-x show-branches  make all subheadings at all levels visible.

The variable `outline-regexp' can be changed to control what is a heading.
A line is a heading if `outline-regexp' matches something at the
beginning of the line.  The longer the match, the deeper the level.

Turning on outline mode calls the value of `text-mode-hook' and then of
`outline-mode-hook', if they are non-nil." nil])
(byte-code "ÀÁ!„ Â	„ Ã Ä	ÅÆÅ\"#ˆÈÉ\n\"„) É	B\nB\nÂ‡" [boundp outline-minor-mode-map nil make-sparse-keymap define-key "" lookup-key outline-mode-map assq outline-minor-mode minor-mode-map-alist] 6)
(defalias 'outline-minor-mode #[(&optional arg) "„	 	?‚ Â!ÃV‰ƒ ÄÆÇ!‡È‰‡" [arg outline-minor-mode prefix-numeric-value 0 t selective-display run-hooks outline-minor-mode-hook nil] 3 "\
Toggle Outline minor mode.
With arg, turn Outline minor mode on if arg is positive, off otherwise.
See the command `outline-mode' for more information on this mode." "P"])
(defalias 'outline-level #[nil "ŠÀ	!ˆŠÂÃ!bˆi*‡" [looking-at outline-regexp match-end 0] 2 "\
Return the depth to which a statement is nested in the outline.
Point must be at the beginning of a header line.  This is actually
the column number of the end of what `outline-regexp matches'."])
(defalias 'outline-next-preface #[nil "ÀÁ\nÃQÄÅ#ƒ ÆÇ!bˆhÈ>… ÉÊ!‡" [re-search-forward "[\n]\\(" outline-regexp "\\)" nil move match-beginning 0 (10 13) forward-char -1] 4 "\
Skip forward to just before the next heading line."])
(defalias 'outline-next-heading #[nil "ÀÁ\nÃQÄÅ#… ÆÇ!Tb‡" [re-search-forward "[\n]\\(" outline-regexp "\\)" nil move match-beginning 0] 4 "\
Move to the next (possibly invisible) heading line." nil])
(defalias 'outline-back-to-heading #[nil "ÀÁ!ˆÂ † ÃÄÆQÇÈ#‡" [forward-line 0 outline-on-heading-p re-search-backward "^\\(" outline-regexp "\\)" nil move] 4 "\
Move to previous (possibly invisible) heading line,
or to the beginning of this line if it is a heading line."])
(defalias 'outline-on-heading-p #[nil "ŠÀÁ!ˆhÂ=… Ã!)‡" [forward-line 0 10 looking-at outline-regexp] 2 "\
Return T if point is on a header line."])
(fset (quote outline-end-of-heading) #[nil "À	ÂÃ#… ÄÅ!‡" [re-search-forward outline-heading-end-regexp nil move forward-char -1] 4])
(defalias 'outline-next-visible-heading #[(arg) "ÁWƒ ÂÁ!ˆ‚ Ã ˆÄÅÇQÈ‰$ˆÂÁ!ˆÈ‡" [arg 0 forward-line end-of-line re-search-forward "^\\(" outline-regexp "\\)" nil] 5 "\
Move to the next visible heading line.
With argument, repeats or can move backward if negative.
A heading line is one that starts with a `*' (or that
`outline-regexp' matches)." "p"])
(defalias 'outline-previous-visible-heading #[(arg) "À	[!‡" [outline-next-visible-heading arg] 2 "\
Move to the previous heading line.
With argument, repeats or can move forward if negative.
A heading line is one that starts with a `*' (or that
`outline-regexp' matches)." "p"])
(defalias 'outline-flag-region #[(from to flag) "ÀÂÆUƒ Ç‚ ÆÈ%)‡" [nil buffer-read-only subst-char-in-region from to flag 10 13 t] 6 "\
Hides or shows lines from FROM to TO, according to FLAG.
If FLAG is `\\n' (newline character) then text is shown,
while if FLAG is `\\^M' (control-M) the text is hidden."])
(defalias 'hide-entry #[nil "À ˆÁ ˆŠÂ`Ã ˆ`Ä#)‡" [outline-back-to-heading outline-end-of-heading outline-flag-region outline-next-preface 13] 4 "\
Hide the body directly following this heading." nil])
(defalias 'show-entry #[nil "ŠÀ`Á ˆ`Â#)‡" [outline-flag-region outline-next-preface 10] 4 "\
Show the body directly following this heading." nil])
(defalias 'hide-body #[nil "Àed\"‡" [hide-region-body] 3 "\
Hide all of buffer except headings." nil])
(defalias 'hide-region-body #[(start end) "ŠŒÀ	\n\"ˆebˆÃ ƒ Ä ˆm?…8 Å`Æ ˆ`Ç#ˆm„ ÈÉÊ!ƒ/ Ë‚0 Ì!ˆÄ ˆ‚ *‡" [narrow-to-region start end outline-on-heading-p outline-end-of-heading outline-flag-region outline-next-preface 13 forward-char looking-at "[\n][\n]" 2 1] 4 "\
Hide all body lines in the region, but not headings."])
(defalias 'show-all #[nil "ÀedÁ#‡" [outline-flag-region 10] 4 "\
Show all of the text in the buffer." nil])
(defalias 'hide-subtree #[nil "ÀÁ!‡" [outline-flag-subtree 13] 2 "\
Hide everything after this heading at deeper levels." nil])
(defalias 'hide-leaves #[nil "À ˆÁ ˆÂ`Ã ˆ`\"‡" [outline-back-to-heading outline-end-of-heading hide-region-body outline-end-of-subtree] 3 "\
Hide all body after this heading at deeper levels." nil])
(defalias 'show-subtree #[nil "ÀÁ!‡" [outline-flag-subtree 10] 2 "\
Show everything after this heading at deeper levels." nil])
(byte-code "ÀÁMˆÂÃM‡" [outline-flag-subtree #[(flag) "ŠÀ ˆÁ ˆÂ`Ã ˆ`#)‡" [outline-back-to-heading outline-end-of-heading outline-flag-region outline-end-of-subtree flag] 4] outline-end-of-subtree #[nil "À ˆ`ÁÂ m„! „ Â Vƒ! ÆÇ ˆ‚\n ÈÉ!ˆhÊ>…. ÈÉ!+‡" [outline-back-to-heading t outline-level level first opoint nil outline-next-heading forward-char -1 (10 13)] 3]] 2)
(defalias 'show-branches #[nil "ÀÁ!‡" [show-children 1000] 2 "\
Show all subheadings of this heading, but not their bodies." nil])
(defalias 'show-children #[(&optional level) "ƒ\n Á!‚ ŠÂÃ!ˆÄ Æ ˆÇÄ Z]*ŠŒÂÃ!ˆÄ \\È`É ˆ`T\"ˆebˆm?…f Æ ˆm?…f Ä Xƒ4 ŠÊŠËÌ!ˆhÍ>ƒY ËÌ!ˆ`)Î ˆ`Ï#ˆ)‚4 *‡" [level prefix-numeric-value forward-line 0 outline-level start-level outline-next-heading 1 narrow-to-region outline-end-of-subtree outline-flag-region forward-char -1 (10 13) outline-end-of-heading 10] 4 "\
Show all direct subheadings of this heading.
Prefix arg LEVEL is how many levels below the current level should be shown.
Default is enough to cause the following heading to appear." "P"])
(defalias 'outline-up-heading #[(arg) "À ˆÁ Â=ƒ ÃÄ!ˆÁ ÂV…; ÆV…; o?…; Á Á W„3 ÈÂ!ˆ‚$ ÂZ)‚ ‡" [outline-back-to-heading outline-level 1 error "" arg 0 present-level outline-previous-visible-heading] 2 "\
Move to the heading line of which the present line is a subheading.
With argument, move up ARG levels." "p"])
(defalias 'outline-forward-same-level #[(arg) "À ˆ	ÂV…% ŠÃ )‰ƒ bˆ	S‚! ÂÅÆ!ˆ)‚ ‡" [outline-back-to-heading arg 0 outline-get-next-sibling point-to-move-to error ""] 3 "\
Move forward to the ARG'th subheading from here of the same level as the
present one. It stops at the first and last subheadings of a superior heading." "p"])
(defalias 'outline-get-next-sibling #[nil "À ÂÃ!ˆÀ 	Vƒ m„ ÂÃ!ˆ‚ À 	W?…\" `)‡" [outline-level level outline-next-visible-heading 1] 2 "\
Position the point at the next heading of the same level, 
and return that position or nil if it cannot be found."])
(defalias 'outline-backward-same-level #[(arg) "À ˆ	ÂV…% ŠÃ )‰ƒ bˆ	S‚! ÂÅÆ!ˆ)‚ ‡" [outline-back-to-heading arg 0 outline-get-last-sibling point-to-move-to error ""] 3 "\
Move backward to the ARG'th subheading from here of the same level as the
present one. It stops at the first and last subheadings of a superior heading." "p"])
(defalias 'outline-get-last-sibling #[nil "À ÂÃ!ˆÀ 	Vƒ o„ ÂÃ!ˆ‚ À 	W?…\" `)‡" [outline-level level outline-previous-visible-heading 1] 2 "\
Position the point at the previous heading of the same level, 
and return that position or nil if it cannot be found."])
(provide (quote outline))
