;ELC   
;;; Compiled by buildd@akateko.buildd on Fri Oct 25 13:48:24 2013
;;; from file /build/buildd/emacs23-23.4+1/debian/build-x/lisp/allout.el
;;; in Emacs version 23.4.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\302\303\304\305\306\307\310\311&\207" [require overlay custom-declare-group allout nil "Extensive outline mode for use alone and with other modes." :prefix "allout-" :group outlines] 8)
#@194 Key sequence to be used as prefix for outline mode command key bindings.

Default is '<space>'; just '' is more short-and-sweet, if you're
willing to let allout use a bunch of  keybindings.
(custom-declare-variable 'allout-command-prefix '" " '(#$ . 750) :type 'string :group 'allout)
#@191 *List of `allout-mode' key / function bindings, for `allout-mode-map'.
String or vector key will be prefaced with `allout-command-prefix',
unless optional third, non-nil element is present.
(defvar allout-keybindings-list nil (#$ . -1046))
(byte-code "\301\302\207" [allout-keybindings-list (("" allout-next-visible-heading) ("" allout-previous-visible-heading) ("" allout-up-current-level) ("" allout-forward-current-level) ("" allout-backward-current-level) ("" allout-beginning-of-current-entry) ("" allout-end-of-entry) ("	" allout-show-children) ("" allout-show-current-subtree) ("" allout-hide-current-subtree) ("" allout-toggle-current-subtree-exposure) ("h" allout-hide-current-subtree) ("" allout-show-current-entry) ("!" allout-show-all) ("x" allout-toggle-current-subtree-encryption) (" " allout-open-sibtopic) ("." allout-open-subtopic) ("," allout-open-supertopic) ("'" allout-shift-in) (">" allout-shift-in) ("<" allout-shift-out) ("" allout-rebullet-topic) ("*" allout-rebullet-current-heading) ("#" allout-number-siblings) ("" allout-kill-line t) ([134217835] allout-copy-line-as-kill t) ("" allout-yank t) ([134217849] allout-yank-pop t) ("" allout-kill-topic) ([134217835] allout-copy-topic-as-kill) ("@" allout-resolve-xref) ("=c" allout-copy-exposed-to-buffer) ("=i" allout-indented-exposed-to-buffer) ("=t" allout-latexify-exposed) ("=p" allout-flatten-exposed-to-buffer)) nil] 1)
#@890 Regulates auto-activation modality of allout outlines -- see `allout-init'.

Setq-default by `allout-init' to regulate whether or not allout
outline mode is automatically activated when the buffer-specific
variable `allout-layout' is non-nil, and whether or not the layout
dictated by `allout-layout' should be imposed on mode activation.

With value t, auto-mode-activation and auto-layout are enabled.
(This also depends on `allout-find-file-hook' being installed in
`find-file-hook', which is also done by `allout-init'.)

With value `ask', auto-mode-activation is enabled, and endorsement for
performing auto-layout is asked of the user each time.

With value `activate', only auto-mode-activation is enabled,
auto-layout is not.

With value nil, neither auto-mode-activation nor auto-layout are
enabled.

See the docstring for `allout-init' for the proper interface to
this variable.
(custom-declare-variable 'allout-auto-activation 'nil '(#$ . 2471) :type '(choice (const :tag "On" t) (const :tag "Ask about layout" "ask") (const :tag "Mode only" "activate") (const :tag "Off" nil)) :group 'allout)
#@2522 Default allout outline layout specification.

This setting specifies the outline exposure to use when
`allout-layout' has the local value `t'.  This docstring describes the
layout specifications.

A list value specifies a default layout for the current buffer,
to be applied upon activation of `allout-mode'.  Any non-nil
value will automatically trigger `allout-mode', provided
`allout-init' has been called to enable this behavior.

The types of elements in the layout specification are:

 INTEGER -- dictate the relative depth to open the corresponding topic(s),
            where:
         -- negative numbers force the topic to be closed before opening
            to the absolute value of the number, so all siblings are open
            only to that level.
         -- positive numbers open to the relative depth indicated by the
            number, but do not force already opened subtopics to be closed.
         -- 0 means to close topic -- hide all subitems.
 :   -- repeat spec -- apply the preceding element to all siblings at
        current level, *up to* those siblings that would be covered by specs
        following the `:' on the list.  Ie, apply to all topics at level but
        trailing ones accounted for by trailing specs.  (Only the first of
        multiple colons at the same level is honored -- later ones are ignored.)
 *   -- completely exposes the topic, including bodies
 +   -- exposes all subtopics, but not the bodies
 -   -- exposes the body of the corresponding topic, but not subtopics
 LIST -- a nested layout spec, to be applied intricately to its
        corresponding item(s)

Examples:
 (-2 : 0)
	Collapse the top-level topics to show their children and
        grandchildren, but completely collapse the final top-level topic.
 (-1 () : 1 0)
	Close the first topic so only the immediate subtopics are shown,
        leave the subsequent topics exposed as they are until the second
	second to last topic, which is exposed at least one level, and
        completely close the last topic.
 (-2 : -1 *)
        Expose children and grandchildren of all topics at current
	level except the last two; expose children of the second to
	last and completely expose the last one, including its subtopics.

See `allout-expose-topic' for more about the exposure process.

Also, allout's mode-specific provisions will make topic prefixes default
to the comment-start string, if any, of the language of the file.  This
is modulo the setting of `allout-use-mode-specific-leader', which see.
(custom-declare-variable 'allout-default-layout ''(-2 : 0) '(#$ . 3584) :type 'allout-layout-type :group 'allout)
(define-widget 'allout-layout-type 'lazy "Allout layout format customization basic building blocks." :type '(repeat (choice (integer :tag "integer (<= zero is strict)") (const :tag ": (repeat prior)" :) (const :tag "* (completely expose)" *) (const :tag "+ (expose all offspring, headlines only)" +) (const :tag "- (expose topic body but not offspring)" -) (allout-layout-type :tag "<Nested layout>"))))
#@567 If non-nil, auto-fill will be inhibited in the allout buffers.

You can customize this setting to set it for all allout buffers, or set it
in individual buffers if you want to inhibit auto-fill only in particular
buffers.  (You could use a function on `allout-mode-hook' to inhibit
auto-fill according, eg, to the major mode.)

If you don't set this and auto-fill-mode is enabled, allout will use the
value that `normal-auto-fill-function', if any, when allout mode starts, or
else allout's special hanging-indent maintaining auto-fill function,
`allout-auto-fill'.
(custom-declare-variable 'allout-inhibit-auto-fill 'nil '(#$ . 6630) :type 'boolean :group 'allout)
(make-variable-buffer-local 'allout-inhibit-auto-fill)
#@233 If non-nil, topic body text auto-indent defaults to indent of the header.
Ie, it is indented to be just past the header prefix.  This is
relevant mostly for use with `indented-text-mode', or other situations
where auto-fill occurs.
(custom-declare-variable 'allout-use-hanging-indents 't '(#$ . 7358) :type 'boolean :group 'allout)
(byte-code "\300\301!\210\302\301\303\304\305!\203 \305\202 \306#\207" [make-variable-buffer-local allout-use-hanging-indents put safe-local-variable fboundp booleanp (lambda (x) (member x '(t nil)))] 5)
#@427 Non-nil enables auto-adjust of topic body hanging indent with depth shifts.

When active, topic body lines that are indented even with or beyond
their topic header are reindented to correspond with depth shifts of
the header.

A value of t enables reindent in non-programming-code buffers, ie
those that do not have the variable `comment-start' set.  A value of
`force' enables reindent whether or not `comment-start' is set.
(custom-declare-variable 'allout-reindent-bodies '(if allout-use-hanging-indents 'text) '(#$ . 7903) :type '(choice (const nil) (const t) (const text) (const force)) :group 'allout)
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local allout-reindent-bodies put safe-local-variable (lambda (x) (memq x '(nil t text force)))] 4)
#@82 If non-nil, show entire body when exposing a topic, rather than
just the header.
(custom-declare-variable 'allout-show-bodies 'nil '(#$ . 8686) :type 'boolean :group 'allout)
(byte-code "\300\301!\210\302\301\303\304\305!\203 \305\202 \306#\207" [make-variable-buffer-local allout-show-bodies put safe-local-variable fboundp booleanp (lambda (x) (member x '(t nil)))] 5)
#@1274 If non-nil, \[allout-beginning-of-line] will cycle through smart-placement options.

Cycling only happens on when the command is repeated, not when it
follows a different command.

Smart-placement means that repeated calls to this function will
advance as follows:

 - if the cursor is on a non-headline body line and not on the first column:
   then it goes to the first column
 - if the cursor is on the first column of a non-headline body line:
   then it goes to the start of the headline within the item body
 - if the cursor is on the headline and not the start of the headline:
   then it goes to the start of the headline
 - if the cursor is on the start of the headline:
   then it goes to the bullet character (for hotspot navigation)
 - if the cursor is on the bullet character:
   then it goes to the first column of that line (the headline)
 - if the cursor is on the first column of the headline:
   then it goes to the start of the headline within the item body.

In this fashion, you can use the beginning-of-line command to do
its normal job and then, when repeated, advance through the
entry, cycling back to start.

If this configuration variable is nil, then the cursor is just
advanced to the beginning of the line and remains there on
repeated calls.
(custom-declare-variable 'allout-beginning-of-line-cycles 't '(#$ . 9067) :type 'boolean :group 'allout)
#@835 If non-nil, \[allout-end-of-line] will cycle through smart-placement options.

Cycling only happens on when the command is repeated, not when it
follows a different command.

Smart placement means that repeated calls to this function will
advance as follows:

 - if the cursor is not on the end-of-line,
   then it goes to the end-of-line
 - if the cursor is on the end-of-line but not the end-of-entry,
   then it goes to the end-of-entry, exposing it if necessary
 - if the cursor is on the end-of-entry,
   then it goes to the end of the head line

In this fashion, you can use the end-of-line command to do its
normal job and then, when repeated, advance through the entry,
cycling back to start.

If this configuration variable is nil, then the cursor is just
advanced to the end of the line and remains there on repeated
calls.
(custom-declare-variable 'allout-end-of-line-cycles 't '(#$ . 10452) :type 'boolean :group 'allout)
#@316 Leading string which helps distinguish topic headers.

Outline topic header lines are identified by a leading topic
header prefix, which mostly have the value of this var at their front.
Level 1 topics are exceptions.  They consist of only a single
character, which is typically set to the `allout-primary-bullet'.
(custom-declare-variable 'allout-header-prefix '"." '(#$ . 11393) :type 'string :group 'allout)
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local allout-header-prefix put safe-local-variable stringp] 4)
#@453 Bullet used for top-level outline topics.

Outline topic header lines are identified by a leading topic header
prefix, which is concluded by bullets that includes the value of this
var and the respective allout-*-bullets-string vars.

The value of an asterisk (`*') provides for backwards compatibility
with the original Emacs outline mode.  See `allout-plain-bullets-string'
and `allout-distinctive-bullets-string' for the range of available
bullets.
(custom-declare-variable 'allout-primary-bullet '"*" '(#$ . 11944) :type 'string :group 'allout)
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local allout-primary-bullet put safe-local-variable stringp] 4)
#@284 The bullets normally used in outline topic prefixes.

See `allout-distinctive-bullets-string' for the other kind of
bullets.

DO NOT include the close-square-bracket, `]', as a bullet.

Outline mode has to be reactivated in order for changes to the value
of this var to take effect.
(custom-declare-variable 'allout-plain-bullets-string '".," '(#$ . 12634) :type 'string :group 'allout)
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local allout-plain-bullets-string put safe-local-variable stringp] 4)
#@1673 Persistent outline header bullets used to distinguish special topics.

These bullets are distinguish topics with particular character.
They are not used by default in the topic creation routines, but
are offered as options when you modify topic creation with a
universal argument (\[universal-argument]), or during rebulleting (\[allout-rebullet-current-heading]).

Distinctive bullets are not cycled when topics are shifted or
otherwise automatically rebulleted, so their marking is
persistent until deliberately changed.  Their significance is
purely by convention, however.  Some conventions suggest
themselves:

 `(' - open paren -- an aside or incidental point
 `?' - question mark -- uncertain or outright question
 `!' - exclamation point/bang -- emphatic
 `[' - open square bracket -- meta-note, about item instead of item's subject
 `"' - double quote -- a quotation or other citation
 `=' - equal sign -- an assignement, equating a name with some connotation
 `^' - carat -- relates to something above

Some are more elusive, but their rationale may be recognizable:

 `+' - plus -- pending consideration, completion
 `_' - underscore -- done, completed
 `&' - ampersand -- addendum, furthermore

(Some other non-plain bullets have special meaning to the
software.  By default:

 `~' marks encryptable topics -- see `allout-topic-encryption-bullet'
 `#' marks auto-numbered bullets -- see `allout-numbered-bullet'.)

See `allout-plain-bullets-string' for the standard, alternating
bullets.

You must run `set-allout-regexp' in order for outline mode to
adopt changes of this value.

DO NOT include the close-square-bracket, `]', on either of the bullet
strings.
(custom-declare-variable 'allout-distinctive-bullets-string '"*+-=>()[{}&!?#%\"X@$~_\\:;^" '(#$ . 13169) :type 'string :group 'allout)
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local allout-distinctive-bullets-string put safe-local-variable stringp] 4)
#@1305 When non-nil, use mode-specific topic-header prefixes.

Allout outline mode will use the mode-specific `allout-mode-leaders' or
comment-start string, if any, to lead the topic prefix string, so topic
headers look like comments in the programming language.  It will also use
the comment-start string, with an '_' appended, for `allout-primary-bullet'.

String values are used as literals, not regular expressions, so
do not escape any regulare-expression characters.

Value t means to first check for assoc value in `allout-mode-leaders'
alist, then use comment-start string, if any, then use default (`.').
(See note about use of comment-start strings, below.)

Set to the symbol for either of `allout-mode-leaders' or
`comment-start' to use only one of them, respectively.

Value nil means to always use the default (`.') and leave
`allout-primary-bullet' unaltered.

comment-start strings that do not end in spaces are tripled in
the header-prefix, and an `_' underscore is tacked on the end, to
distinguish them from regular comment strings.  comment-start
strings that do end in spaces are not tripled, but an underscore
is substituted for the space.  [This presumes that the space is
for appearance, not comment syntax.  You can use
`allout-mode-leaders' to override this behavior, when
undesired.]
(custom-declare-variable 'allout-use-mode-specific-leader 't '(#$ . 15130) :type '(choice (const t) (const nil) string (const allout-mode-leaders) (const comment-start)) :group 'allout)
(put 'allout-use-mode-specific-leader 'safe-local-variable '(lambda (x) (or (memq x '(t nil allout-mode-leaders comment-start)) (stringp x))))
#@482 Specific allout-prefix leading strings per major modes.

Use this if the mode's comment-start string isn't what you
prefer, or if the mode lacks a comment-start string.  See
`allout-use-mode-specific-leader' for more details.

If you're constructing a string that will comment-out outline
structuring so it can be included in program code, append an extra
character, like an "_" underscore, to distinguish the lead string
from regular comments that start at the beginning-of-line.
(defvar allout-mode-leaders nil (#$ . 16770))
#@365 When non-nil, use only old-and-crusty `outline-mode' `*' topic prefixes.

Non-nil restricts the topic creation and modification
functions to asterix-padded prefixes, so they look exactly
like the original Emacs-outline style prefixes.

Whatever the setting of this variable, both old and new style prefixes
are always respected by the topic maneuvering functions.
(custom-declare-variable 'allout-old-style-prefixes 'nil '(#$ . 17304) :type 'boolean :group 'allout)
(byte-code "\300\301!\210\302\301\303\304\305!\203 \305\202 \306#\207" [make-variable-buffer-local allout-old-style-prefixes put safe-local-variable fboundp booleanp (lambda (x) (member x '(t nil)))] 5)
#@1433 Do fancy stuff with topic prefix bullets according to level, etc.

Non-nil enables topic creation, modification, and repositioning
functions to vary the topic bullet char (the char that marks the topic
depth) just preceding the start of the topic text) according to level.
Otherwise, only asterisks (`*') and distinctive bullets are used.

This is how an outline can look (but sans indentation) with stylish
prefixes:

    * Top level
    .* A topic
    . + One level 3 subtopic
    .  . One level 4 subtopic
    .  . A second 4 subtopic
    . + Another level 3 subtopic
    .  #1 A numbered level 4 subtopic
    .  #2 Another
    .  ! Another level 4 subtopic with a different distinctive bullet
    .  #4 And another numbered level 4 subtopic

This would be an outline with stylish prefixes inhibited (but the
numbered and other distinctive bullets retained):

    * Top level
    .* A topic
    . * One level 3 subtopic
    .  * One level 4 subtopic
    .  * A second 4 subtopic
    . * Another level 3 subtopic
    .  #1 A numbered level 4 subtopic
    .  #2 Another
    .  ! Another level 4 subtopic with a different distinctive bullet
    .  #4 And another numbered level 4 subtopic

Stylish and constant prefixes (as well as old-style prefixes) are
always respected by the topic maneuvering functions, regardless of
this variable setting.

The setting of this var is not relevant when `allout-old-style-prefixes'
is non-nil.
(custom-declare-variable 'allout-stylish-prefixes 't '(#$ . 17983) :type 'boolean :group 'allout)
(byte-code "\300\301!\210\302\301\303\304\305!\203 \305\202 \306#\207" [make-variable-buffer-local allout-stylish-prefixes put safe-local-variable fboundp booleanp (lambda (x) (member x '(t nil)))] 5)
#@310 String designating bullet of topics that have auto-numbering; nil for none.

Topics having this bullet have automatic maintenance of a sibling
sequence-number tacked on, just after the bullet.  Conventionally set
to "#", you can set it to a bullet of your choice.  A nil value
disables numbering maintenance.
(custom-declare-variable 'allout-numbered-bullet '"#" '(#$ . 19723) :type '(choice (const nil) string) :group 'allout)
(byte-code "\300\301!\210\302\301\303\304\305!\203 \305\202 \306#\207" [make-variable-buffer-local allout-numbered-bullet put safe-local-variable fboundp string-or-null-p (lambda (x) (or (stringp x) (null x)))] 5)
#@140 Bullet signifying file cross-references, for `allout-resolve-xref'.

Set this var to the bullet you want to use for file cross-references.
(custom-declare-variable 'allout-file-xref-bullet '"@" '(#$ . 20374) :type '(choice (const nil) string) :group 'allout)
(byte-code "\300\301\302\303\304!\203 \304\202 \305#\207" [put allout-file-xref-bullet safe-local-variable fboundp string-or-null-p (lambda (x) (or (stringp x) (null x)))] 5)
#@69 Presentation-format white-space padding factor, for greater indent.
(custom-declare-variable 'allout-presentation-padding '2 '(#$ . 20816) :type 'integer :group 'allout)
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local allout-presentation-padding put safe-local-variable integerp] 4)
#@155 If non-nil, `allout-flatten-exposed-to-buffer' abbreviates topic
numbers to minimal amount with some context.  Otherwise, entire
numbers are always used.
(custom-declare-variable 'allout-abbreviate-flattened-numbering 'nil '(#$ . 21134) :type 'boolean :group 'allout)
#@69 Non-nil turns on page numbering for LaTeX formatting of an outline.
(custom-declare-variable 'allout-number-pages 'nil '(#$ . 21408) :type 'boolean :group 'allout)
#@61 Font and size of labels for LaTeX formatting of an outline.
(custom-declare-variable 'allout-label-style '"\\large\\bf" '(#$ . 21578) :type 'string :group 'allout)
#@62 Font and size of entries for LaTeX formatting of an outline.
(custom-declare-variable 'allout-head-line-style '"\\large\\sl " '(#$ . 21748) :type 'string :group 'allout)
#@62 Font and size of entries for LaTeX formatting of an outline.
(custom-declare-variable 'allout-body-line-style '" " '(#$ . 21924) :type 'string :group 'allout)
#@61 Font and size of titles for LaTeX formatting of an outline.
(custom-declare-variable 'allout-title-style '"\\Large\\bf" '(#$ . 22089) :type 'string :group 'allout)
#@77 Expression to be evaluated to determine the title for LaTeX
formatted copy.
(custom-declare-variable 'allout-title ''(or buffer-file-name (buffer-name)) '(#$ . 22259) :type 'sexp :group 'allout)
#@57 Space between lines for LaTeX formatting of an outline.
(custom-declare-variable 'allout-line-skip '".05cm" '(#$ . 22460) :type 'string :group 'allout)
#@39 LaTeX formatted depth-indent spacing.
(custom-declare-variable 'allout-indent '".3cm" '(#$ . 22618) :type 'string :group 'allout)
(custom-declare-group 'allout-encryption nil "Settings for topic encryption features of allout outliner." :group 'allout)
#@51 Bullet signifying encryption of the entry's body.
(custom-declare-variable 'allout-topic-encryption-bullet '"~" '(#$ . 22876) :type '(choice (const nil) string) :version "22.1" :group 'allout-encryption)
#@199 Enable use of symmetric encryption passphrase verifier if non-nil.

See the docstring for the `allout-enable-file-variable-adjustment'
variable for details about allout ajustment of file variables.
(custom-declare-variable 'allout-passphrase-verifier-handling 't '(#$ . 23087) :type 'boolean :version "22.1" :group 'allout-encryption)
(make-variable-buffer-local 'allout-passphrase-verifier-handling)
#@336 Dictate outline encryption passphrase reminder handling:

 always -- always show reminder when prompting
 needed -- show reminder on passphrase entry failure
 disabled -- never present or adjust reminder

See the docstring for the `allout-enable-file-variable-adjustment'
variable for details about allout ajustment of file variables.
(custom-declare-variable 'allout-passphrase-hint-handling ''always '(#$ . 23495) :type '(choice (const always) (const needed) (const disabled)) :version "22.1" :group 'allout-encryption)
(make-variable-buffer-local 'allout-passphrase-hint-handling)
#@1400 When saving, should topics pending encryption be encrypted?

The idea is to prevent file-system exposure of any un-encrypted stuff, and
mostly covers both deliberate file writes and auto-saves.

 - Yes: encrypt all topics pending encryption, even if it's the one
        currently being edited.  (In that case, the currently edited topic
        will be automatically decrypted before any user interaction, so they
        can continue editing but the copy on the file system will be
        encrypted.)
        Auto-saves will use the "All except current topic" mode if this
        one is selected, to avoid practical difficulties -- see below.
 - All except current topic: skip the topic currently being edited, even if
       it's pending encryption.  This may expose the current topic on the
       file sytem, but avoids the nuisance of prompts for the encryption
       passphrase in the middle of editing for, eg, autosaves.
       This mode is used for auto-saves for both this option and "Yes".
 - No: leave it to the user to encrypt any unencrypted topics.

For practical reasons, auto-saves always use the 'except-current policy
when auto-encryption is enabled.  (Otherwise, spurious passphrase prompts
and unavoidable timing collisions are too disruptive.)  If security for a
file requires that even the current topic is never auto-saved in the clear,
disable auto-saves for that file.
(custom-declare-variable 'allout-encrypt-unencrypted-on-saves 't '(#$ . 24087) :type '(choice (const :tag "Yes" t) (const :tag "All except current topic" except-current) (const :tag "No" nil)) :version "22.1" :group 'allout-encryption)
(byte-code "\300\301!\210\302\303\304\305\306\307%\207" [make-variable-buffer-local allout-encrypt-unencrypted-on-saves custom-declare-group allout-developer nil "Settings for topic encryption features of allout outliner." :group allout] 6)
#@358 When non-nil, unit tests will be run at end of loading the allout module.

Generally, allout code developers are the only ones who'll want to set this.

(If set, this makes it an even better practice to exercise changes by
doing byte-compilation with a repeat count, so the file is loaded after
compilation.)

See `allout-run-unit-tests' to see what's run.
(custom-declare-variable 'allout-run-unit-tests-on-load 'nil '(#$ . 25970) :type 'boolean :group 'allout-developer)
#@442 If non-nil, some allout outline actions edit Emacs local file var text.

This can range from changes to existing entries, addition of new ones,
and creation of a new local variables section when necessary.

Emacs file variables adjustments are also inhibited if `enable-local-variables'
is nil.

Operations potentially causing edits include allout encryption routines.
For details, see `allout-toggle-current-subtree-encryption's docstring.
(custom-declare-variable 'allout-enable-file-variable-adjustment 't '(#$ . 26450) :type 'boolean :group 'allout)
(make-variable-buffer-local 'allout-enable-file-variable-adjustment)
#@59 Version of currently loaded outline package.  (allout.el)
(defvar allout-version "2.2.1" (#$ . 27079))
#@54 Return string describing the loaded outline version.
(defalias 'allout-version #[(&optional here) "\303P\n\203 	c\210\304\305	\"\210	)\207" [allout-version msg here "Allout Outline Mode v " message "%s"] 3 (#$ . 27188) "P"])
#@38 Allout outline mode minor-mode flag.
(defvar allout-mode nil (#$ . 27422))
(make-variable-buffer-local 'allout-mode)
#@1015 Buffer-specific setting for allout layout.

In buffers where this is non-nil (and if `allout-init' has been run, to
enable this behavior), `allout-mode' will be automatically activated.  The
layout dictated by the value will be used to set the initial exposure when
`allout-mode' is activated.

*You should not setq-default this variable non-nil unless you want every
visited file to be treated as an allout file.*

The value would typically be set by a file local variable.  For
example, the following lines at the bottom of an Emacs Lisp file:

;;;Local variables:
;;;allout-layout: (0 : -1 -1 0)
;;;End:

dictate activation of `allout-mode' mode when the file is visited
(presuming allout-init was already run), followed by the
equivalent of `(allout-expose-topic 0 : -1 -1 0)'.  (This is
the layout used for the allout.el source file.)

`allout-default-layout' describes the specification format.
`allout-layout' can additionally have the value `t', in which
case the value of `allout-default-layout' is used.
(defvar allout-layout nil (#$ . 27547))
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local allout-layout put safe-local-variable (lambda (x) (or (numberp x) (listp x) (memq x '(: * + -))))] 4)
#@216 *Regular expression to match the beginning of a heading line.

Any line whose beginning matches this regexp is considered a
heading.  This var is set according to the user configuration vars
by `set-allout-regexp'.
(defvar allout-regexp "" (#$ . -28786))
(make-variable-buffer-local 'allout-regexp)
#@247 A string dictating the valid set of outline topic bullets.

This var should *not* be set by the user -- it is set by `set-allout-regexp',
and is produced from the elements of `allout-plain-bullets-string'
and `allout-distinctive-bullets-string'.
(defvar allout-bullets-string "" (#$ . 29092))
(make-variable-buffer-local 'allout-bullets-string)
#@59 Length of current buffers' `allout-plain-bullets-string'.
(defvar allout-bullets-string-len 0 (#$ . 29443))
(make-variable-buffer-local 'allout-bullets-string-len)
#@455 *Regular expression to match a heading line prefix for a particular depth.

This expression is used to search for depth-specific topic
headers at depth 2 and greater.  Use `allout-depth-one-regexp'
for to seek topics at depth one.

This var is set according to the user configuration vars by
`set-allout-regexp'.  It is prepared with format strings for two
decimal numbers, which should each be one less than the depth of the
topic prefix to be matched.
(defvar allout-depth-specific-regexp "" (#$ . -29614))
(make-variable-buffer-local 'allout-depth-specific-regexp)
#@290 *Regular expression to match a heading line prefix for depth one.

This var is set according to the user configuration vars by
`set-allout-regexp'.  It is prepared with format strings for two
decimal numbers, which should each be one less than the depth of the
topic prefix to be matched.
(defvar allout-depth-one-regexp "" (#$ . -30189))
(make-variable-buffer-local 'allout-depth-one-regexp)
#@111 `allout-regexp' prepended with a newline for the search target.

This is properly set by `set-allout-regexp'.
(defvar allout-line-boundary-regexp nil (#$ . 30589))
(make-variable-buffer-local 'allout-line-boundary-regexp)
#@73 Like `allout-line-boundary-regexp', for headers at beginning of buffer.
(defvar allout-bob-regexp nil (#$ . 30817))
(make-variable-buffer-local 'allout-bob-regexp)
#@69 Allout-header prefix length to subtract when computing topic depth.
(defvar allout-header-subtraction (byte-code "GS\207" [allout-header-prefix] 1) (#$ . 30987))
(make-variable-buffer-local 'allout-header-subtraction)
#@74 Length of `allout-plain-bullets-string', updated by `set-allout-regexp'.
(defvar allout-plain-bullets-string-len (length allout-plain-bullets-string) (#$ . 31212))
(make-variable-buffer-local 'allout-plain-bullets-string-len)
#@1272 Validate apparent topics of this depth and shallower as being non-aberrant.

Verified with `allout-aberrant-container-p'.  The usefulness of
this check is limited to shallow depths, because the
determination of aberrance is according to the mistaken item
being followed by a legitimate item of excessively greater depth.

The classic example of a mistaken item, for a standard allout
outline configuration, is a body line that begins with an '...'
ellipsis.  This happens to contain a legitimate depth-2 header
prefix, constituted by two '..' dots at the beginning of the
line.  The only thing that can distinguish it *in principle* from
a legitimate one is if the following real header is at a depth
that is discontinuous from the depth of 2 implied by the
ellipsis, ie depth 4 or more.  As the depth being tested gets
greater, the likelihood of this kind of disqualification is
lower, and the usefulness of this test is lower.

Extending the depth of the doublecheck increases the amount it is
applied, increasing the cost of the test - on casual estimation,
for outlines with many deep topics, geometrically (O(n)?).
Taken together with decreasing likelihood that the test will be
useful at greater depths, more modest doublecheck limits are more
suitably economical.
(defconst allout-doublecheck-at-and-shallower 3 (#$ . 31446))
#@58 Reset the leading string used to identify topic headers.
(defalias 'allout-reset-header-lead #[(header-lead) "\211GS\303 \207" [header-lead allout-header-prefix allout-header-subtraction set-allout-regexp] 2 (#$ . 32785) "sNew lead string: "])
#@170 Set the topic-header leading string to specified string.

Useful when for encapsulating outline structure in programming
language comments.  Returns the leading string.
(defalias 'allout-lead-with-comment-string #[(&optional header-lead) ";\204	 \302\303!\304\305!\210\207" [header-lead allout-reindent-bodies read-string "String prefix for topic headers: " nil allout-reset-header-lead] 2 (#$ . 33039) "P"])
#@326 Determine appropriate `allout-header-prefix' and `allout-primary-bullet'.

Works according to settings of:

       `comment-start'
       `allout-header-prefix' (default)
       `allout-use-mode-specific-leader'
and    `allout-mode-leaders'.

Apply this via (re)activation of `allout-mode', rather than
invoking it directly.
(defalias 'allout-infer-header-lead-and-primary-bullet #[nil "\306\300!\205 ;\204 \307>\203 \202 \310\211\204 \311\202W 	;\203( 	\202W 	\312>\2035 \n\236A\206W 	\313>\205W \f\205W \f\211GS\311O\314\230\203Q \f\315\316O\202U \f\211\211Q\317P\211\205i \204g *\207" [allout-use-mode-specific-leader use-leader major-mode allout-mode-leaders comment-start leader boundp (allout-mode-leaders comment-start t) t nil (t allout-mode-leaders) (t comment-start) " " 0 -1 "_" allout-header-prefix allout-old-style-prefixes allout-primary-bullet] 4 (#$ . 33460)])
(defalias 'allout-infer-header-lead 'allout-infer-header-lead-and-primary-bullet)
#@215 Determine proper setting for `allout-reindent-bodies'.

Depends on default setting of `allout-reindent-bodies' (which see)
and presence of setting for `comment-start', to tell whether the
file is programming code.
(defalias 'allout-infer-body-reindent #[nil "\205 	\205 \302=?\205 \303\211\207" [allout-reindent-bodies comment-start force nil] 2 (#$ . 34447)])
#@223 Generate proper topic-header regexp form for outline functions.

Works with respect to `allout-plain-bullets-string' and
`allout-distinctive-bullets-string'.

Also refresh various data structures that hinge on the regexp.
(defalias 'set-allout-regexp #[nil "\306\307\310\311E\312\211\211\211\211\203P \313@J\211G	W\203I \f	H\n\314=\2031 \315\202@ \n\316=\203; \306\202@ \317\320\n!!P	T\211\202 A\211\204 -G%&GS'\312\211\211()*\321\317&!\322\323\324\325\260*\321\317	!\326\317&!\325\327\330	\324\260	)\331(*\326)\326(\260+\332*\326\332)\326\332(\260,\333*\326\333)\326\333(\260-\334\321\211\335\317&!!\336\323\335!\324\325\313'W\203\317 \306\202\353 \337\335\317	!!\335\317	!!\335\317	!!\340\341\335	!\342\260\325\260.\334\321\211\317&!\343\344\324Q\325\313'W\203\306\202\326\317	!\341	\324\260\325\260	\211/+\207" [allout-bullets-string index cur-char cur-len cur-string strings "" allout-plain-bullets-string allout-distinctive-bullets-string allout-primary-bullet nil 0 45 "--" 93 regexp-quote char-to-string "\\(" "[ 	]*" "[" "]" "\\)" "\\|" "+" " ?[^" "\\(\f\\)" "\n" "\\`" "\\(^\\|\\`\\)" allout-format-quote " \\{%s\\}" "\\|\\(" "\\{%s\\}" "[^" "]\\)" " *" "[^ " allout-plain-bullets-string-len allout-header-prefix allout-header-subtraction formfeed-part old-part new-part allout-regexp allout-line-boundary-regexp allout-bob-regexp allout-depth-specific-regexp allout-depth-one-regexp] 18 (#$ . 34821) nil])
#@46 Keybindings for (allout) outline minor mode.
(defvar allout-mode-map nil (#$ . 36315))
#@212 Produce keymap for use as `allout-mode-map', from KEYMAP-LIST.

Built on top of optional BASE-MAP, or empty sparse map if none specified.
See doc string for `allout-keybindings-list' for format of binding list.
(defalias 'produce-allout-mode-map #[(keymap-list &optional base-map) "\206 \305 	C\306\307\f\"\210*\207" [base-map allout-command-prefix pref map keymap-list make-sparse-keymap mapc #[(cell) "AA?@C\305\306\305\307\n\203 \310\f	\"\202 	\"A@E\"*\207" [cell key-suff add-pref map pref apply define-key vconcat append] 8]] 3 (#$ . 36409)])
(defalias 'produce-allout-mode-menubar-entries #[nil "\301\302!\210\303\304\305\306#\210\307\304!\204 \310\304\311\"\210\312\304\306\313$\210\303\314\305\315#\210\307\314!\204- \310\314\311\"\210\312\314\315\316$\210\303\317\305\320#\210\307\317!\204E \310\317\311\"\210\312\317\320\321$\210\303\322\305\323#\210\307\322!\204] \310\322\311\"\210\312\322\323\324$\207" [allout-mode-map require easymenu put allout-mode-exposure-menu variable-documentation "Allout outline exposure menu." default-boundp set-default nil easy-menu-do-define ("Exposure" ["Show Entry" allout-show-current-entry t] ["Show Children" allout-show-children t] ["Show Subtree" allout-show-current-subtree t] ["Hide Subtree" allout-hide-current-subtree t] ["Hide Leaves" allout-hide-current-leaves t] "----" ["Show All" allout-show-all t]) allout-mode-editing-menu "Allout outline editing menu." ("Headings" ["Open Sibling" allout-open-sibtopic t] ["Open Subtopic" allout-open-subtopic t] ["Open Supertopic" allout-open-supertopic t] "----" ["Shift Topic In" allout-shift-in t] ["Shift Topic Out" allout-shift-out t] ["Rebullet Topic" allout-rebullet-topic t] ["Rebullet Heading" allout-rebullet-current-heading t] ["Number Siblings" allout-number-siblings t] "----" ["Toggle Topic Encryption" allout-toggle-current-subtree-encryption (> (allout-current-depth) 1)]) allout-mode-navigation-menu "Allout outline navigation menu." ("Navigation" ["Next Visible Heading" allout-next-visible-heading t] ["Previous Visible Heading" allout-previous-visible-heading t] "----" ["Up Level" allout-up-current-level t] ["Forward Current Level" allout-forward-current-level t] ["Backward Current Level" allout-backward-current-level t] "----" ["Beginning of Entry" allout-beginning-of-current-entry t] ["End of Entry" allout-end-of-entry t] ["End of Subtree" allout-end-of-current-subtree t]) allout-mode-misc-menu "Allout outlines miscellaneous bindings." ("Misc" ["Version" allout-version t] "----" ["Duplicate Exposed" allout-copy-exposed-to-buffer t] ["Duplicate Exposed, numbered" allout-flatten-exposed-to-buffer t] ["Duplicate Exposed, indented" allout-indented-exposed-to-buffer t] "----" ["Set Header Lead" allout-reset-header-lead t] ["Set New Exposure" allout-expose-topic t])] 5])
#@133 Internal `allout-mode' use; settings to be resumed on mode deactivation.

See `allout-add-resumptions' and `allout-do-resumptions'.
(defvar allout-mode-prior-settings nil (#$ . 39233))
(make-variable-buffer-local 'allout-mode-prior-settings)
#@1124 Set name/value PAIRS.

Old settings are preserved for later resumption using `allout-do-resumptions'.

The new values are set as a buffer local.  On resumption, the prior buffer
scope of the variable is restored along with its value.  If it was a void
buffer-local value, then it is left as nil on resumption.

The pairs are lists whose car is the name of the variable and car of the
cdr is the new value: '(some-var some-value)'.  The pairs can actually be
triples, where the third element qualifies the disposition of the setting,
as described further below.

If the optional third element is the symbol 'extend, then the new value
created by `cons'ing the second element of the pair onto the front of the
existing value.

If the optional third element is the symbol 'append, then the new value is
extended from the existing one by `append'ing a list containing the second
element of the pair onto the end of the existing value.

Extension, and resumptions in general, should not be used for hook
functions -- use the 'local mode of `add-hook' for that, instead.

The settings are stored on `allout-mode-prior-settings'.
(defalias 'allout-add-resumptions #[(&rest pairs) "\205\256 \211A@\211@	\211A@)	G\306V\205\" 	\211AA)@\307\n9\2043 \310\311\n\312\n!#\210\307\313\314\217\315\n\"\204^ \316\n!\203S \nDB\202^ \nCB\317\n!\210\203\246 \320=\203 <\204u \310\321!\210\202\252 \n\fBL\210\202\252 \322=\203\236 <\204\222 \310\323!\210\202\252 \n\322\fC\"L\210\202\252 \310\324\"\210\202\252 \n\fL\210-\202  \207" [pairs pair name x value qualifier 2 nil error "Pair's name, %S, must be a symbol, not %s" type-of (symbol-value name) ((void-variable)) assoc local-variable-p make-local-variable extend "extension of non-list prior value attempted" append "appending of non-list prior value attempted" "unrecognized setting qualifier `%s' encountered" prior-value allout-mode-prior-settings] 6 (#$ . 39483)])
#@194 Resume all name/value settings registered by `allout-add-resumptions'.

This is used when concluding allout-mode, to resume selected variables to
their settings before allout-mode was started.
(defalias 'allout-do-resumptions #[nil "\205$ \211A@\211@	A\211\204 \304\n!\210\202  \n@L\210+\202  \207" [allout-mode-prior-settings pair name value-cell kill-local-variable] 3 (#$ . 41432)])
#@61 Enable internal outline operations to alter invisible text.
(defalias 'allout-unprotected '(macro . #[(expr) "\301\302E\207" [expr let ((inhibit-read-only (if (not buffer-read-only) t)) (inhibit-field-text-motion t))] 3 (#$ . 41832)]))
#@43 *Hook that's run when allout mode starts.
(defvar allout-mode-hook nil (#$ . -42075))
#@41 *Hook that's run when allout mode ends.
(defvar allout-mode-deactivate-hook nil (#$ . -42167))
#@59 Symbol for use as allout invisible-text overlay category.
(defvar allout-exposure-category nil (#$ . 42268))
#@313 *(Deprecated) A hook run after allout outline exposure changes.

Switch to using `allout-exposure-change-hook' instead.  Both hooks are
currently respected, but the other conveys the details of the exposure
change via explicit parameters, and this one will eventually be disabled in
a subsequent allout version.
(defvar allout-view-change-hook nil (#$ . -42384))
#@544 *Hook that's run after allout outline subtree exposure changes.

It is run at the conclusion of `allout-flag-region'.

Functions on the hook must take three arguments:

 - FROM -- integer indicating the point at the start of the change.
 - TO -- integer indicating the point of the end of the change.
 - FLAG -- change mode: nil for exposure, otherwise concealment.

This hook might be invoked multiple times by a single command.

This hook is replacing `allout-view-change-hook', which is being deprecated
and eventually will not be invoked.
(defvar allout-exposure-change-hook nil (#$ . -42754))
#@445 *Hook that's run after addition of items to the outline.

Functions on the hook should take two arguments:

 - NEW-START -- integer indicating position of start of the first new item.
 - NEW-END -- integer indicating position of end of the last new item.

Some edits that introduce new items may missed by this hook:
specifically edits that native allout routines do not control.

This hook might be invoked multiple times by a single command.
(defvar allout-structure-added-hook nil (#$ . -43359))
#@473 *Hook that's run after disciplined deletion of subtrees from the outline.

Functions on the hook must take two arguments:

 - DEPTH -- integer indicating the depth of the subtree that was deleted.
 - REMOVED-FROM -- integer indicating the point where the subtree was removed.

Some edits that remove or invalidate items may missed by this hook:
specifically edits that native allout routines do not control.

This hook might be invoked multiple times by a single command.
(defvar allout-structure-deleted-hook nil (#$ . -43865))
#@444 *Hook that's run after shifting of items in the outline.

Functions on the hook should take two arguments:

 - DEPTH-CHANGE -- integer indicating depth increase, negative for decrease
 - START -- integer indicating the start point of the shifted parent item.

Some edits that shift items can be missed by this hook: specifically edits
that native allout routines do not control.

This hook might be invoked multiple times by a single command.
(defvar allout-structure-shifted-hook nil (#$ . -44401))
#@186 Value of normal-auto-fill-function outside of allout mode.

Used by allout-auto-fill to do the mandated normal-auto-fill-function
wrapped within allout's automatic fill-prefix setting.
(defvar allout-outside-normal-auto-fill-function nil (#$ . 44908))
(make-variable-buffer-local 'allout-outside-normal-auto-fill-function)
#@161 Horrible hack used to prevent invalid multiple triggering of outline
mode from prop-line file-var activation.  Used by `allout-mode' function
to track repeats.
(defvar allout-v18/19-file-var-hack nil (#$ . 45238))
#@624 Setting used to test solicited encryption passphrases against the one
already associated with a file.

It consists of an encrypted random string useful only to verify that a
passphrase entered by the user is effective for decryption.  The passphrase
itself is *not* recorded in the file anywhere, and the encrypted contents
are random binary characters to avoid exposing greater susceptibility to
search attacks.

The verifier string is retained as an Emacs file variable, as well as in
the Emacs buffer state, if file variable adjustments are enabled.  See
`allout-enable-file-variable-adjustment' for details about that.
(defvar allout-passphrase-verifier-string nil (#$ . 45459))
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local allout-passphrase-verifier-string put safe-local-variable stringp] 4)
#@380 Variable used to retain reminder string for file's encryption passphrase.

See the description of `allout-passphrase-hint-handling' for details about how
the reminder is deployed.

The hint is retained as an Emacs file variable, as well as in the Emacs buffer
state, if file variable adjustments are enabled.  See
`allout-enable-file-variable-adjustment' for details about that.
(defvar allout-passphrase-hint-string "" (#$ . 46295))
(byte-code "\300\301!\210\302\301\303\"\210\304\301\305\306#\207" [make-variable-buffer-local allout-passphrase-hint-string set-default "" put safe-local-variable stringp] 4)
#@328 Internal variable, is nil or has the value of two points:

 - the location of a topic to be decrypted after saving is done
 - where to situate the cursor after the decryption is performed

This is used to decrypt the topic that was currently being edited, if it
was encrypted automatically as part of a file write or autosave.
(defvar allout-after-save-decrypt nil (#$ . 46911))
(make-variable-buffer-local 'allout-after-save-decrypt)
#@593 List of regexps whose matches are removed from plaintext before encryption.

This is for the sake of removing artifacts, like escapes, that are added on
and not actually part of the original plaintext.  The removal is done just
prior to encryption.

Entries must be symbols that are bound to the desired values.

Each value can be a regexp or a list with a regexp followed by a
substitution string.  If it's just a regexp, all its matches are removed
before the text is encrypted.  If it's a regexp and a substitution, the
substition is used against the regexp matches, a la `replace-match'.
(defvar allout-encryption-plaintext-sanitization-regexps nil (#$ . 47353))
(make-variable-buffer-local 'allout-encryption-text-removal-regexps)
#@480 Variable for regexps matching plaintext to remove before encryption.

This is for the sake of redoing encryption in cases where the ciphertext
incidentally contains strings that would disrupt mode operation --
for example, a line that happens to look like an allout-mode topic prefix.

Entries must be symbols that are bound to the desired regexp values.

The encryption will be retried up to
`allout-encryption-ciphertext-rejection-limit' times, after which an error
is raised.
(defvar allout-encryption-ciphertext-rejection-regexps nil (#$ . 48096))
(make-variable-buffer-local 'allout-encryption-ciphertext-rejection-regexps)
#@138 Limit on number of times encryption ciphertext is rejected.

See `allout-encryption-ciphertext-rejection-regexps' for rejection reasons.
(defvar allout-encryption-ciphertext-rejection-ceiling 5 (#$ . 48732))
(make-variable-buffer-local 'allout-encryption-ciphertext-rejection-ceiling)
#@56 Return t if `allout-mode' is active in current buffer.
(defalias 'allout-mode-p '(macro . #[nil "\300\207" [allout-mode] 1 (#$ . 49023)]))
#@73 Implement `allout-encrypt-unencrypted-on-saves' policy for file writes.
(defalias 'allout-write-file-hook-handler #[nil "\2030 \303\301!\2030 	\2030 	\304\232\205 \305 \212eb\210\306\n!)\203/ \307\310!\210\311\312!\210\313\314\315\217\210)\316\207" [allout-mode allout-encrypt-unencrypted-on-saves except-mark boundp except-current point-marker allout-next-topic-pending-encryption message "auto-encrypting pending topics" sit-for 0 failure (byte-code "\302!\302\207" [except-mark allout-after-save-decrypt allout-encrypt-decrypted] 2) ((error (byte-code "\301\302\"\210\303\304!\207" [failure message "allout-write-file-hook-handler suppressing error %s" sit-for 2] 3))) nil] 3 (#$ . 49168)])
#@71 Implement `allout-encrypt-unencrypted-on-saves' policy for auto save.
(defalias 'allout-auto-save-hook-handler #[nil "\205 	\205 \302\303 )\207" [allout-mode allout-encrypt-unencrypted-on-saves except-current allout-write-file-hook-handler] 1 (#$ . 49874)])
#@286 Decrypt topic encrypted for save, if it's currently being edited.

Ie, if it was pending encryption and contained the point in its body before
the save.

We use values stored in `allout-after-save-decrypt' to locate the topic
and the place for the cursor after the decryption is done.
(defalias 'allout-after-saves-handler #[nil "\203 \304\301!\203 	\204 \305\207	@b\210\306 \307 \210\n\204\" \310\311!\210)	\211A@)b\210\311\211\207" [allout-mode allout-after-save-decrypt was-modified x boundp t buffer-modified-p allout-toggle-subtree-encryption set-buffer-modified-p nil] 3 (#$ . 50143)])
#@151 Internal state, for momentarily inhibits aberrance doublecheck.

This should only be momentarily let-bound non-nil, not set
non-nil in a lasting way.
(defvar allout-inhibit-aberrance-doublecheck nil (#$ . 50749))
#@118 If t, `allout-mode's last deactivation was deliberate.
So `allout-post-command-business' should not reactivate it...
(defvar allout-explicitly-deactivated nil (#$ . 50969))
(make-variable-buffer-local 'allout-explicitly-deactivated)
#@1079 Prime `allout-mode' to enable/disable auto-activation, wrt `allout-layout'.

MODE is one of the following symbols:

 - nil (or no argument) deactivate auto-activation/layout;
 - `activate', enable auto-activation only;
 - `ask', enable auto-activation, and enable auto-layout but with
   confirmation for layout operation solicited from user each time;
 - `report', just report and return the current auto-activation state;
 - anything else (eg, t) for auto-activation and auto-layout, without
   any confirmation check.

Use this function to setup your Emacs session for automatic activation
of allout outline mode, contingent to the buffer-specific setting of
the `allout-layout' variable.  (See `allout-layout' and
`allout-expose-topic' docstrings for more details on auto layout).

`allout-init' works by setting up (or removing) the `allout-mode'
find-file-hook, and giving `allout-auto-activation' a suitable
setting.

To prime your Emacs session for full auto-outline operation, include
the following two lines in your Emacs init file:

(require 'allout)
(allout-init t)
(defalias 'allout-init #[(&optional mode) "\304\305!\203 \306\307\310\311\312$\211\313\230\203 \314\202 \315!\316\317\320!\203' \320\202( \321\322\204D \n\323\nJ\"L\210\304\305!\205\224 \324\325!\202\224 \314=\203^ \nJ>\204W \326\311!\202\224 \326	J!\202\224 \327\n\"\210	\330=\203r \324\331!\210\330\202\223 \314=\203~ \326!\202\223 \332=\203\214 \324\333!\210\332\202\223 \324\334!\205\223 \335L+\207" [mode curr-mode find-file-hook-var-name hook called-interactively-p interactive completing-read "Select outline auto setup mode (empty for report, ? for options) " (("nil") ("full") ("activate") ("deactivate") ("ask") ("report") (#1="")) nil t #1# report intern-soft allout-find-file-hook boundp find-file-hook find-file-hooks allout-auto-activation delq message "Allout outline mode auto-activation inhibited." allout-init add-hook activate "Outline mode auto-activation enabled." ask "Outline mode auto-activation and -layout (upon confirmation) enabled." "Outline mode auto-activation and -layout enabled." full] 6 (#$ . 51210) nil])
#@65 Populate the current buffer's menubar with `allout-mode' stuff.
(defalias 'allout-setup-menubar #[nil "	\nF\306\205 @A\307\f!\210\202 *\207" [allout-mode-exposure-menu allout-mode-editing-menu allout-mode-navigation-menu allout-mode-misc-menu cur menus nil easy-menu-add] 4 (#$ . 53354)])
#@69 Set the properties of the allout invisible-text overlay and others.
(defalias 'allout-overlay-preparations #[nil "\300\301\302\"\210\303\301\304\305#\210\303\301\306\307#\210\303\301\310\311#\210\303\301\312\313#\210\303\301\314\315#\207" [setplist allout-exposure-category nil put invisible allout evaporate t isearch-open-invisible allout-isearch-end-handler insert-in-front-hooks (allout-overlay-insert-in-front-handler) modification-hooks (allout-overlay-interior-modification-handler)] 4 (#$ . 53660)])
#@12520 Toggle minor mode for controlling exposure and editing of text outlines.
\<allout-mode-map>

Optional prefix argument TOGGLE forces the mode to re-initialize
if it is positive, otherwise it turns the mode off.  Allout
outline mode always runs as a minor mode.

Allout outline mode provides extensive outline oriented formatting and
manipulation.  It enables structural editing of outlines, as well as
navigation and exposure.  It also is specifically aimed at
accommodating syntax-sensitive text like programming languages.  (For
an example, see the allout code itself, which is organized as an allout
outline.)

In addition to typical outline navigation and exposure, allout includes:

 - topic-oriented authoring, including keystroke-based topic creation,
   repositioning, promotion/demotion, cut, and paste
 - incremental search with dynamic exposure and reconcealment of hidden text
 - adjustable format, so programming code can be developed in outline-structure
 - easy topic encryption and decryption
 - "Hot-spot" operation, for single-keystroke maneuvering and exposure control
 - integral outline layout, for automatic initial exposure when visiting a file
 - independent extensibility, using comprehensive exposure and authoring hooks

and many other features.

Below is a description of the key bindings, and then explanation of
special `allout-mode' features and terminology.  See also the outline
menubar additions for quick reference to many of the features, and see
the docstring of the function `allout-init' for instructions on
priming your emacs session for automatic activation of `allout-mode'.

The bindings are dictated by the customizable `allout-keybindings-list'
variable.  We recommend customizing `allout-command-prefix' to use just
`\C-c' as the command prefix, if the allout bindings don't conflict with
any personal bindings you have on \C-c.  In any case, outline structure
navigation and authoring is simplified by positioning the cursor on an
item's bullet character, the "hot-spot" -- then you can invoke allout
commands with just the un-prefixed, un-control-shifted command letters.
This is described further in the HOT-SPOT Operation section.

        Exposure Control:
        ----------------
\[allout-hide-current-subtree]   `allout-hide-current-subtree'
\[allout-show-children] `allout-show-children'
\[allout-show-current-subtree] `allout-show-current-subtree'
\[allout-show-current-entry] `allout-show-current-entry'
\[allout-show-all]   `allout-show-all'

        Navigation:
        ----------
\[allout-next-visible-heading] `allout-next-visible-heading'
\[allout-previous-visible-heading] `allout-previous-visible-heading'
\[allout-up-current-level] `allout-up-current-level'
\[allout-forward-current-level] `allout-forward-current-level'
\[allout-backward-current-level] `allout-backward-current-level'
\[allout-end-of-entry] `allout-end-of-entry'
\[allout-beginning-of-current-entry] `allout-beginning-of-current-entry' (alternately, goes to hot-spot)
\[allout-beginning-of-line]  `allout-beginning-of-line' -- like regular beginning-of-line, but
     if immediately repeated cycles to the beginning of the current item
     and then to the hot-spot (if `allout-beginning-of-line-cycles' is set).


        Topic Header Production:
        -----------------------
\[allout-open-sibtopic] `allout-open-sibtopic' Create a new sibling after current topic.
\[allout-open-subtopic]   `allout-open-subtopic' ... an offspring of current topic.
\[allout-open-supertopic] `allout-open-supertopic' ... a sibling of the current topic's parent.

        Topic Level and Prefix Adjustment:
        ---------------------------------
\[allout-shift-in] `allout-shift-in'   Shift current topic and all offspring deeper
\[allout-shift-out] `allout-shift-out' ... less deep
\[allout-rebullet-current-heading] `allout-rebullet-current-heading' Prompt for alternate bullet for
            current topic
\[allout-rebullet-topic] `allout-rebullet-topic'   Reconcile bullets of topic and
            its' offspring -- distinctive bullets are not changed, others
            are alternated according to nesting depth.
\[allout-number-siblings] `allout-number-siblings'  Number bullets of topic and siblings --
           the offspring are not affected.
           With repeat count, revoke numbering.

        Topic-oriented Killing and Yanking:
        ----------------------------------
\[allout-kill-topic] `allout-kill-topic'   Kill current topic, including offspring.
\[allout-copy-topic-as-kill] `allout-copy-topic-as-kill' Copy current topic, including offspring.
\[allout-kill-line]     `allout-kill-line'    kill-line, attending to outline structure.
\[allout-copy-line-as-kill]     `allout-copy-line-as-kill' Copy line but don't delete it.
\[allout-yank] `allout-yank'        Yank, adjusting depth of yanked topic to
                             depth of heading if yanking into bare topic
                             heading (ie, prefix sans text).
\[allout-yank-pop]     `allout-yank-pop'       Is to allout-yank as yank-pop is to yank

        Topic-oriented Encryption:
        -------------------------
\[allout-toggle-current-subtree-encryption] `allout-toggle-current-subtree-encryption'
          Encrypt/Decrypt topic content

        Misc commands:
        -------------
M-x outlineify-sticky       Activate outline mode for current buffer,
                            and establish a default file-var setting
                            for `allout-layout'.
\[allout-mark-topic]       `allout-mark-topic'
\[allout-copy-exposed-to-buffer] `allout-copy-exposed-to-buffer'
                            Duplicate outline, sans concealed text, to
                            buffer with name derived from derived from that
                            of current buffer -- "*BUFFERNAME exposed*".
\[allout-flatten-exposed-to-buffer] `allout-flatten-exposed-to-buffer'
                            Like above 'copy-exposed', but convert topic
                            prefixes to section.subsection... numeric
                            format.
\[eval-expression] (allout-init t) Setup Emacs session for outline mode
                            auto-activation.

                  Topic Encryption

Outline mode supports gpg encryption of topics, with support for
symmetric and key-pair modes, passphrase timeout, passphrase
consistency checking, user-provided hinting for symmetric key
mode, and auto-encryption of topics pending encryption on save.

Topics pending encryption are, by default, automatically
encrypted during file saves.  If the contents of the topic
containing the cursor was encrypted for a save, it is
automatically decrypted for continued editing.

The aim of these measures is reliable topic privacy while
preventing accidents like neglected encryption before saves,
forgetting which passphrase was used, and other practical
pitfalls.

See `allout-toggle-current-subtree-encryption' function docstring
and `allout-encrypt-unencrypted-on-saves' customization variable
for details.

                 HOT-SPOT Operation

Hot-spot operation provides a means for easy, single-keystroke outline
navigation and exposure control.

When the text cursor is positioned directly on the bullet character of
a topic, regular characters (a to z) invoke the commands of the
corresponding allout-mode keymap control chars.  For example, "f"
would invoke the command typically bound to "C-c<space>C-f"
(\[allout-forward-current-level] `allout-forward-current-level').

Thus, by positioning the cursor on a topic bullet, you can
execute the outline navigation and manipulation commands with a
single keystroke.  Regular navigation keys (eg, \[forward-char], \[next-line]) don't get
this special translation, so you can use them to get out of the
hot-spot and back to normal editing operation.

In allout-mode, the normal beginning-of-line command (\[allout-beginning-of-line]) is
replaced with one that makes it easy to get to the hot-spot.  If you
repeat it immediately it cycles (if `allout-beginning-of-line-cycles'
is set) to the beginning of the item and then, if you hit it again
immediately, to the hot-spot.  Similarly, `allout-beginning-of-current-entry'
(\[allout-beginning-of-current-entry]) moves to the hot-spot when the cursor is already located
at the beginning of the current entry.

                             Extending Allout

Allout exposure and authoring activites all have associated
hooks, by which independent code can cooperate with allout
without changes to the allout core.  Here are key ones:

`allout-mode-hook'
`allout-mode-deactivate-hook'
`allout-exposure-change-hook'
`allout-structure-added-hook'
`allout-structure-deleted-hook'
`allout-structure-shifted-hook'

                            Terminology

Topic hierarchy constituents -- TOPICS and SUBTOPICS:

ITEM:   A unitary outline element, including the HEADER and ENTRY text.
TOPIC:  An ITEM and any ITEMs contained within it, ie having greater DEPTH
        and with no intervening items of lower DEPTH than the container.
CURRENT ITEM:
        The visible ITEM most immediately containing the cursor.
DEPTH:  The degree of nesting of an ITEM; it increases with containment.
        The DEPTH is determined by the HEADER PREFIX.  The DEPTH is also
        called the:
LEVEL:  The same as DEPTH.

ANCESTORS:
        Those ITEMs whose TOPICs contain an ITEM.
PARENT: An ITEM's immediate ANCESTOR.  It has a DEPTH one less than that
        of the ITEM.
OFFSPRING:
        The ITEMs contained within an ITEM's TOPIC.
SUBTOPIC:
        An OFFSPRING of its ANCESTOR TOPICs.
CHILD:
        An immediate SUBTOPIC of its PARENT.
SIBLINGS:
        TOPICs having the same PARENT and DEPTH.

Topic text constituents:

HEADER: The first line of an ITEM, include the ITEM PREFIX and HEADER
        text.
ENTRY:  The text content of an ITEM, before any OFFSPRING, but including
        the HEADER text and distinct from the ITEM PREFIX.
BODY:   Same as ENTRY.
PREFIX: The leading text of an ITEM which distinguishes it from normal
        ENTRY text.  Allout recognizes the outline structure according
        to the strict PREFIX format.  It consists of a PREFIX-LEAD string,
        PREFIX-PADDING, and a BULLET.  The BULLET might be followed by a
        number, indicating the ordinal number of the topic among its
        siblings, or an asterisk indicating encryption, plus an optional
        space.  After that is the ITEM HEADER text, which is not part of
        the PREFIX.

        The relative length of the PREFIX determines the nesting DEPTH
        of the ITEM.
PREFIX-LEAD:
        The string at the beginning of a HEADER PREFIX, by default a `.'.
        It can be customized by changing the setting of
        `allout-header-prefix' and then reinitializing `allout-mode'.

        When the PREFIX-LEAD is set to the comment-string of a
        programming language, outline structuring can be embedded in
        program code without interfering with processing of the text
        (by emacs or the language processor) as program code.  This
        setting happens automatically when allout mode is used in
        programming-mode buffers.  See `allout-use-mode-specific-leader'
        docstring for more detail.
PREFIX-PADDING:
        Spaces or asterisks which separate the PREFIX-LEAD and the
        bullet, determining the ITEM's DEPTH.
BULLET: A character at the end of the ITEM PREFIX, it must be one of
        the characters listed on `allout-plain-bullets-string' or
        `allout-distinctive-bullets-string'.  When creating a TOPIC,
        plain BULLETs are by default used, according to the DEPTH of the
        TOPIC.  Choice among the distinctive BULLETs is offered when you
        provide a universal argugment (\[universal-argument]) to the
        TOPIC creation command, or when explictly rebulleting a TOPIC.  The
        significance of the various distinctive bullets is purely by
        convention.  See the documentation for the above bullet strings for
        more details.
EXPOSURE:
        The state of a TOPIC which determines the on-screen visibility
        of its OFFSPRING and contained ENTRY text.
CONCEALED:
        TOPICs and ENTRY text whose EXPOSURE is inhibited.  Concealed
        text is represented by "..." ellipses.

        CONCEALED TOPICs are effectively collapsed within an ANCESTOR.
CLOSED: A TOPIC whose immediate OFFSPRING and body-text is CONCEALED.
OPEN:	A TOPIC that is not CLOSED, though its OFFSPRING or BODY may be.
(defalias 'allout-mode #[(&optional toggle) "\306\232?\205 	\205 <\203 @\206 \211\205, 9\206, \307!\205, \310!?@@=A\311\312!\203> \312\202I \311\313!\203H \313\202I \314B\315C@@A\203g \n\203g \f\204g \316\317D\"\204p\f\204\262 \n\204s \203\262 \320E\321 \210\322\323!\210\324\325\326\320#\210\324\327\330\320#\210\324\331\332\320#\210\324\333\334\320#\210\324B\335\320#\210\324\336\337\320#\210\340ed\341\342$\210\315\343\344!\210\202p\n\204f\315EF\203\302 \345\346!\210\347 \210\350 \210\351 \210\352 \210\345\353\354\"\210\355 \210\356 \210\357G\235\204\346 \360GBG\361\362!\210\345\363!\210\364\325\326\315\320$\210\364\327\330\315\320$\210\364\331\332\315\320$\210\364\333\334\315\320$\210\364B\335\315\320$\210\364\336\337\315\320$\210H\203'I\204'\345\365!\210\345\366HD\367JD\370\3719\372K\373RD\374<\372K\373RD%\210\301L\236\204R\375LBL\376 \210M\203]\320C\320\343\377!\210\202p\320\211C\203p\351 \210M<\203{M\202}NOC\203\346P\203\346O\203\346P\201Q =\204\346P\201R =\203\303\201S \201T \201U \201V  O#!\204\303\201W \201X \201V  \"\210\202\346\212\201W \201Y \201V  \"\210\201Z b\210\201[  \210\201\\ \201] \201^ \217\210))	.\207" [major-mode allout-mode active toggle explicit-activation allout-v18/19-file-var-hack outline wholenump zerop boundp write-file-functions write-file-hooks local-write-file-hooks nil string-match "^19.1[89]" t allout-do-resumptions remove-from-invisibility-spec (allout . t) remove-hook pre-command-hook allout-pre-command-business post-command-hook allout-post-command-business before-change-functions allout-before-change-handler isearch-mode-end-hook allout-isearch-end-handler allout-write-file-hook-handler auto-save-hook allout-auto-save-hook-handler remove-overlays category allout-exposure-category run-hooks allout-mode-deactivate-hook allout-add-resumptions (allout-primary-bullet "*") allout-overlay-preparations allout-infer-header-lead-and-primary-bullet allout-infer-body-reindent set-allout-regexp (allout-encryption-ciphertext-rejection-regexps allout-line-boundary-regexp extend) (allout-encryption-ciphertext-rejection-regexps allout-bob-regexp extend) allout-setup-mode-map produce-allout-mode-menubar-entries (allout-mode . allout-mode-map) (allout-mode . allout-mode-map) add-to-invisibility-spec (allout . t) (line-move-ignore-invisible t) add-hook (auto-fill-function allout-auto-fill) allout-former-auto-filler allout-outside-normal-auto-fill-function (normal-auto-fill-function allout-auto-fill) paragraph-start "\\|^\\(" "\\)" paragraph-separate (allout-mode " Allout") allout-setup-menubar allout-mode-hook command-history same-complex-command write-file-hook-var-name do-layout emacs-version allout-explicitly-deactivated allout-old-style-prefixes minor-mode-map-alist auto-fill-function allout-inhibit-auto-fill normal-auto-fill-function allout-regexp minor-mode-alist allout-layout allout-default-layout use-layout allout-auto-activation activate ask y-or-n-p format "Expose %s with layout '%s'? " buffer-name message "Skipped %s layout." "Adjusting '%s' exposure..." 0 allout-this-or-next-heading err (byte-code "\301\302C\"\210\303\304\305 \"\207" [use-layout apply allout-expose-topic message "Adjusting '%s' exposure... done." buffer-name] 3) ((error (byte-code "\301\302A@\"\210\303\304!\207" [err message "%s" sit-for 1] 3)))] 11 (#$ . 54177) "P"])
#@33 Establish allout-mode bindings.
(defalias 'allout-setup-mode-map #[nil "\303\301\304!\"\210\304!\305\306\307	\n$\210\305\310\307	\n$\210\305\311\312	\n$\210\305\313\312	\n$\210\301	M\207" [allout-keybindings-list allout-mode-map global-map set-default produce-allout-mode-map substitute-key-definition beginning-of-line allout-beginning-of-line move-beginning-of-line end-of-line allout-end-of-line move-end-of-line] 5 (#$ . 70105)])
(byte-code "\300 \210\301\302\303\"\207" [allout-setup-mode-map defalias allout-minor-mode allout-mode] 3)
#@36 Unload the allout outline library.
(defalias 'allout-unload-function #[nil "r\303 \304\211\203 	@\211q\210\n\203 \302\305!\210	A\211\204\n +\304\207" [buffer #1=#:--cl-dolist-temp-- allout-mode buffer-list nil -1] 3 (#$ . 70655)])
#@52 Non-nil if the character after point is invisible.
(defalias 'allout-hidden-p #[(&optional pos) "\301\206 `\302\"\303=\207" [pos get-char-property invisible allout] 3 (#$ . 70898)])
(put 'allout-hidden-p 'byte-optimizer 'byte-compile-inline-expand)
#@65 Shift the overlay so stuff inserted in front of it is excluded.
(defalias 'allout-overlay-insert-in-front-handler #[(ol after beg end &optional prelen) "\205\f \303	\nT\304	!#\207" [after ol beg move-overlay overlay-end] 5 (#$ . 71155)])
#@372 Get confirmation before making arbitrary changes to invisible text.

We expose the invisible text and ask for confirmation.  Refusal or
`keyboard-quit' abandons the changes, with keyboard-quit additionally
reclosing the opened text.

No confirmation is necessary when `inhibit-read-only' is set -- eg, allout
internal functions use this feature cohesively bunch changes.
(defalias 'allout-overlay-interior-modification-handler #[(ol after beg end &optional prelen) "?\205r 	?\205r `\306\n!\307\n!\310b\210`W\203b \310\311\206, `\312\")\313=\203W \314 \210\310\311\206A `\312\")\313=\203Q \212\315u\210\314 \210)\204W `\316`T\"b\210\202 \203n b\210\310\317\320\217\210b,\207" [inhibit-read-only after ol first ol-end ol-start overlay-start overlay-end nil get-char-property invisible allout allout-show-to-offshoot 1 next-char-property-change (byte-code "\301\302\303!!\204 b\210\304\305!\210\301\207" [start yes-or-no-p substitute-command-keys "Modify concealed text?  (\"no\" just aborts, \\[keyboard-quit] also reconceals) " error "Concealed-text change refused"] 3) ((quit (byte-code "\302	\303#\210\302	\304#\210\305\306!\207" [ol-start ol-end allout-flag-region nil t error "Concealed-text change abandoned, text reconcealed"] 4))) start beg end pos] 4 (#$ . 71401)])
#@109 Protect against changes to invisible text.

See `allout-overlay-interior-modification-handler' for details.
(defalias 'allout-before-change-handler #[(beg end) "\203 	\203 \303\304\n\206 `\305\")\306=\203 \307 \210\303\207" [allout-mode undo-in-progress pos nil get-char-property invisible allout allout-show-to-offshoot] 3 (#$ . 72712)])
#@275 Reconcile allout outline exposure on arriving in hidden text after isearch.

Optional OVERLAY parameter is for when this function is used by
`isearch-open-invisible' overlay property.  It is otherwise unused, so this
function can also be used as an `isearch-mode-end-hook'.
(defalias 'allout-isearch-end-handler #[(&optional overlay) "\205 \302\303	\206\f `\304\")\305=\205 \306 \207" [allout-mode pos nil get-char-property invisible allout allout-show-to-offshoot] 3 (#$ . 73064)])
#@65 Buffer point of the start of the last topic prefix encountered.
(defvar allout-recent-prefix-beginning 0 (#$ . 73557))
(make-variable-buffer-local 'allout-recent-prefix-beginning)
#@63 Buffer point of the end of the last topic prefix encountered.
(defvar allout-recent-prefix-end 0 (#$ . 73743))
(make-variable-buffer-local 'allout-recent-prefix-end)
#@45 Depth of the last topic prefix encountered.
(defvar allout-recent-depth 0 (#$ . 73915))
(make-variable-buffer-local 'allout-recent-depth)
#@64 Buffer point last returned by `allout-end-of-current-subtree'.
(defvar allout-recent-end-of-subtree 0 (#$ . 74059))
(make-variable-buffer-local 'allout-recent-end-of-subtree)
#@136 Register allout-prefix state data.

For reference by `allout-recent' funcs.  Return
the new value of `allout-recent-prefix-beginning'.
(defalias 'allout-prefix-data #[nil "\304\225\206\f \305\225\206\f \306\225\304\224\206 \305\224\206 \306\224\304\307	\n#]	\207" [allout-recent-prefix-end allout-recent-prefix-beginning allout-header-subtraction allout-recent-depth 1 2 3 -] 5 (#$ . 74241)])
(put 'allout-prefix-data 'byte-optimizer 'byte-compile-inline-expand)
#@49 Mark allout prefix data as being uninformative.
(defalias 'nullify-allout-prefix-data #[nil "``\303	\207" [allout-recent-prefix-end allout-recent-prefix-beginning allout-recent-depth 0] 1 (#$ . 74716)])
(put 'nullify-allout-prefix-data 'byte-optimizer 'byte-compile-inline-expand)
#@314 Return depth of last heading encountered by an outline maneuvering function.

All outline functions which directly do string matches to assess
headings set the variables `allout-recent-prefix-beginning' and
`allout-recent-prefix-end' if successful.  This function uses those settings
to return the current depth.
(defalias 'allout-recent-depth #[nil "\207" [allout-recent-depth] 1 (#$ . 75007)])
(put 'allout-recent-depth 'byte-optimizer 'byte-compile-inline-expand)
#@311 Like `allout-recent-depth', but returns text of last encountered prefix.

All outline functions which directly do string matches to assess
headings set the variables `allout-recent-prefix-beginning' and
`allout-recent-prefix-end' if successful.  This function uses those settings
to return the current prefix.
(defalias 'allout-recent-prefix #[nil "\302	\"\207" [allout-recent-prefix-beginning allout-recent-prefix-end buffer-substring-no-properties] 3 (#$ . 75482)])
(put 'allout-recent-prefix 'byte-optimizer 'byte-compile-inline-expand)
#@346 Like allout-recent-prefix, but returns bullet of last encountered prefix.

All outline functions which directly do string matches to assess
headings set the variables `allout-recent-prefix-beginning' and
`allout-recent-prefix-end' if successful.  This function uses those settings
to return the current depth of the most recently matched topic.
(defalias 'allout-recent-bullet '(macro . #[nil "\300\207" [(buffer-substring-no-properties (1- allout-recent-prefix-end) allout-recent-prefix-end)] 1 (#$ . 76030)]))
#@74 True if current item conditions qualify for checking on topic aberrance.
(defalias 'allout-do-doublecheck #[nil "?\205 	\nX\207" [allout-inhibit-aberrance-doublecheck allout-recent-depth allout-doublecheck-at-and-shallower] 2 (#$ . 76548)])
(put 'allout-do-doublecheck 'byte-optimizer 'byte-compile-inline-expand)
#@476 True if topic, or next sibling with children, contains them discontinuously.

Discontinuous means an immediate offspring that is nested more
than one level deeper than the topic.

If topic has no offspring, then the next sibling with offspring will
determine whether or not this one is determined to be aberrant.

If true, then the allout-recent-* settings are calibrated on the
offspring that qaulifies it as aberrant, ie with depth that
exceeds the topic by more than one.
(defalias 'allout-aberrant-container-p #[nil "\306 `\307\211\310 \311\216\212	\204f \312\307\313#\203f \314\225\206' \315\225\206' \316\225\314\224\2065 \315\224\2065 \316\224\314\317#]\210b\210=\204 TV\203` \320\211\202 \320\211\203 +\203o \202v \nb\210\306 \210\307,\207" [aberrant done start-point depth save-match-data-internal allout-line-boundary-regexp allout-depth nil match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) re-search-forward 0 1 2 3 - t allout-recent-prefix-end allout-recent-prefix-beginning allout-header-subtraction allout-recent-depth] 6 (#$ . 76871)])
#@111 Return non-nil if point is on current visible topics' header line.

Actually, returns prefix beginning point.
(defalias 'allout-on-current-heading-p #[nil "\212\306 \210\307 \310\216\311	!\205F \312\225\206 \313\225\206 \314\225\312\224\206( \313\224\206( \314\224\312\315\n\f#]\205F ?\205? X?\206F \316 ?+\207" [save-match-data-internal allout-regexp allout-recent-prefix-end allout-recent-prefix-beginning allout-header-subtraction allout-recent-depth allout-beginning-of-current-line match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) looking-at 1 2 3 - allout-aberrant-container-p allout-inhibit-aberrance-doublecheck allout-doublecheck-at-and-shallower] 5 (#$ . 78013)])
(defalias 'allout-on-heading-p 'allout-on-current-heading-p)
#@75 True if point is located where current topic prefix ends, heading begins.
(defalias 'allout-e-o-prefix-p #[nil "\303 \304\216\212\305\306 \210)\307\n!\210)`\212\310 \210`)U*\207" [save-match-data-internal inhibit-field-text-motion allout-regexp match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) t beginning-of-line looking-at allout-end-of-prefix] 2 (#$ . 78815)])
#@234 Return depth of topic most immediately containing point.

Does not do doublecheck for aberrant topic header.

Return zero if point is not within any topic.

Like `allout-current-depth', but respects hidden as well as visible topics.
(defalias 'allout-depth #[nil "\212`\304 \203 `W\204 	\202 ``\305\210\305*\207" [start-point allout-recent-depth allout-recent-prefix-end allout-recent-prefix-beginning allout-goto-prefix 0] 2 (#$ . 79236)])
#@113 Return depth of visible topic most immediately containing point.

Return zero if point is not within any topic.
(defalias 'allout-current-depth #[nil "\212\303 \203 \304\305	\n#]\202 \306)\207" [allout-recent-prefix-end allout-recent-prefix-beginning allout-header-subtraction allout-back-to-current-heading 1 - 0] 5 (#$ . 79693)])
#@36 Topic prefix of the current topic.
(defalias 'allout-get-current-prefix #[nil "\212\302 \205\n \303	\")\207" [allout-recent-prefix-beginning allout-recent-prefix-end allout-goto-prefix buffer-substring-no-properties] 3 (#$ . 80034)])
#@53 Return bullet of containing topic (visible or not).
(defalias 'allout-get-bullet #[nil "\212\301 \205 \302S\")\207" [allout-recent-prefix-end allout-goto-prefix buffer-substring-no-properties] 3 (#$ . 80275)])
#@74 Return bullet of current (visible) topic heading, or none if none found.
(defalias 'allout-current-bullet #[nil "\300\301\302\217\207" [nil (byte-code "\212\301 \210\302S\")\207" [allout-recent-prefix-end allout-back-to-current-heading buffer-substring-no-properties] 3) ((args-out-of-range))] 3 (#$ . 80494)])
#@55 Return the bullet of the header prefix string PREFIX.
(defalias 'allout-get-prefix-bullet #[(prefix) "\302	\"\205 	\303\225S\303\225O\207" [allout-regexp prefix string-match 2] 3 (#$ . 80813)])
#@219 Item number of this prospective topic among its siblings.

If optional arg DEPTH is greater than current depth, then we're
opening a new level, and return 0.

If less than this depth, ascend to that depth and count...
(defalias 'allout-sibling-index #[(&optional depth) "\212\203 \303X\203 \303\202> \203 \304 U\203. \305\306\n\307\"\203) 	T\202 	)\202> \nW\203= \310!\210\311 \202> \303)\207" [depth index allout-recent-depth 0 allout-depth 1 allout-previous-sibling nil allout-ascend-to-depth allout-sibling-index] 3 (#$ . 81016)])
#@92 Return a list indicating point's numeric section.subsect.subsubsect...
Outermost is first.
(defalias 'allout-topic-flat-index #[nil "\303 \304!\305	\306V\203 	\nBS\304!\211\202\n \n+\207" [depth next-index rev-sibls allout-depth allout-sibling-index nil 0] 3 (#$ . 81568)])
#@46 Like beginning of line, but to visible text.
(defalias 'allout-beginning-of-current-line #[nil "\302\303\304!\210\305 \210o?\205? n\203\" \306\307	\206 `\310\")\311=\205? \305 \210\306\307	\206- `\310\")\311=\2049 n\204	 \312u\210\202	 )\207" [inhibit-field-text-motion pos t move-beginning-of-line 1 beginning-of-line nil get-char-property invisible allout -1] 3 (#$ . 81858)])
#@54 Move to the end of line, past concealed text if any.
(defalias 'allout-end-of-current-line #[nil "\302\303\210\303\304	\206 `\305\")\306=\205. \303\210\303\304	\206  `\305\")\306=\203 \307u\210\202 )\207" [inhibit-field-text-motion pos t nil get-char-property invisible allout 1] 3 (#$ . 82247)])
#@76 Beginning-of-line with `allout-beginning-of-line-cycles' behavior, if set.
(defalias 'allout-beginning-of-line #[nil "\203\n 	\n\232\204* n\204& `S\306\206 `\307\")\310=\203& \311`S\307\"b\210\312\313!\207\314 \210\212\f\204D X\203D \315 \203D \316\313!\204. \317 \210`)i\320U\203W b\202} `W\203c \321 \202} `U\203p \322 b\202} \321 \210`W\205} b)\207" [allout-beginning-of-line-cycles last-command this-command pos allout-inhibit-aberrance-doublecheck allout-recent-depth get-char-property invisible allout previous-single-char-property-change move-beginning-of-line 1 allout-depth allout-aberrant-container-p allout-previous-visible-heading allout-beginning-of-current-entry 0 allout-beginning-of-current-line allout-current-bullet-pos allout-doublecheck-at-and-shallower beginning-of-body] 3 (#$ . 82558) nil])
#@64 End-of-line with `allout-end-of-line-cycles' behavior, if set.
(defalias 'allout-end-of-line #[nil "\203\n 	\n\232\204 \306 \207\212\307 \210`)l\204 \306 \202k \310\311\f\206% `\312\")\313=\204A \212\314u\210\310\311\f\2069 `\312\"*\313=\203O \315 \210\316 \210\317 \210\307 \202k `Y\203] \315 \210\306 \202k \203f \204i \320 \210\307 )\207" [allout-end-of-line-cycles last-command this-command end-of-entry pos transient-mark-mode allout-end-of-current-line allout-end-of-entry nil get-char-property invisible allout -1 allout-back-to-current-heading allout-show-current-entry allout-show-children push-mark mark-active] 3 (#$ . 83397) nil])
#@205 Move to the heading for the topic (possibly invisible) after this one.

Returns the location of the heading, or nil if none found.

We skip anomalous low-level topics, a la `allout-aberrant-container-p'.
(defalias 'allout-next-heading #[nil "\306 \307\216\310	!\203 \311u\210\312\n\313\314#\205Z \311\225\206\" \315\225\206\" \316\225\311\224\206/ \315\224\206/ \316\224\311\317\f#]\f\210\fb\210n\204H \320u\210\202> \204X X\203X \321 \210\fb*\207" [save-match-data-internal allout-regexp allout-line-boundary-regexp allout-recent-prefix-end allout-recent-prefix-beginning allout-header-subtraction match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) looking-at 1 re-search-forward nil 0 2 3 - -1 allout-aberrant-container-p allout-recent-depth allout-inhibit-aberrance-doublecheck allout-doublecheck-at-and-shallower] 5 (#$ . 84057)])
(put 'allout-next-heading 'byte-optimizer 'byte-compile-inline-expand)
#@45 Position cursor on current or next heading.
(defalias 'allout-this-or-next-heading #[nil "\306 ?\205a \307 \310\216\311	!\203 \312u\210\313\n\314\315#\205` \312\225\206( \316\225\206( \317\225\312\224\2065 \316\224\2065 \317\224\312\320\f#]\f\210\fb\210n\204N \321u\210\202D \204^ X\203^ \322 \210\fb*\207" [save-match-data-internal allout-regexp allout-line-boundary-regexp allout-recent-prefix-end allout-recent-prefix-beginning allout-header-subtraction allout-goto-prefix-doublechecked match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) looking-at 1 re-search-forward nil 0 2 3 - -1 allout-aberrant-container-p allout-recent-depth allout-inhibit-aberrance-doublecheck allout-doublecheck-at-and-shallower] 5 (#$ . 85029)])
#@202 Move to the prior (possibly invisible) heading line.

Return the location of the beginning of the heading, or nil if not found.

We skip anomalous low-level topics, a la `allout-aberrant-container-p'.
(defalias 'allout-previous-heading #[nil "o?\205i `\306 \210\307 \310\216\311\n\312\313#\204 \314!\205h \315\225\206) \316\225\206) \317\225\315\224\2066 \316\224\2066 \317\224\315\320\f#]b\210\204g X\203g \321 \203g \322 \206h b\203c \323 \210\312\202h `+\207" [start-point save-match-data-internal allout-line-boundary-regexp allout-bob-regexp allout-recent-prefix-end allout-recent-prefix-beginning allout-goto-prefix match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) re-search-backward nil 0 looking-at 1 2 3 - allout-aberrant-container-p allout-previous-heading allout-depth allout-header-subtraction allout-recent-depth allout-inhibit-aberrance-doublecheck allout-doublecheck-at-and-shallower] 5 (#$ . 85822)])
#@64 Return the overlay at point that dictates allout invisibility.
(defalias 'allout-get-invisibility-overlay #[nil "\302`!\303	\203' \204' \304	@\305\"\306\232\203 	@\202 	\211A@\210\202 *\207" [got overlays overlays-at nil overlay-get invisible allout] 3 (#$ . 86812)])
#@72 Move to most recent prior character that is visible, and return point.
(defalias 'allout-back-to-visible-text #[nil "\301\302\206 `\303\")\304=\203 \305\306 !b\210`\207" [pos nil get-char-property invisible allout overlay-start allout-get-invisibility-overlay] 3 (#$ . 87095)])
#@1167 Produce a location "chart" of subtopics of the containing topic.

Optional argument LEVELS specifies a depth limit (relative to start
depth) for the chart.  Null LEVELS means no limit.

When optional argument VISIBLE is non-nil, the chart includes
only the visible subelements of the charted subjects.

The remaining optional args are for internal use by the function.

Point is left at the end of the subtree.

Charts are used to capture outline structure, so that outline-altering
routines need assess the structure only once, and then use the chart
for their elaborate manipulations.

The chart entries for the topics are in reverse order, so the
last topic is listed first.  The entry for each topic consists of
an integer indicating the point at the beginning of the topic
prefix.  Charts for offspring consists of a list containing,
recursively, the charts for the respective subtopics.  The chart
for a topics' offspring precedes the entry for the topic itself.

The other function parameters are for internal recursion, and should
not be specified by external callers.  ORIG-DEPTH is depth of topic at
starting point, and PREV-DEPTH is depth of prior topic.
(defalias 'allout-chart-subtree #[(&optional levels visible orig-depth prev-depth) "?\306\211\211\203\207 \307 \f\204 T\203  \310\311!\210\202\207 \312 \313\216\314!\2030 \311u\210\315\306\316#\205\205 \311\225\206E \317\225\206E \320\225\311\224\206S \317\224\206S \320\224\311\321#]\210b\210n\204r \322u\210\202h \204\202 X\203\202 \323 \210b*\210m\204\307\211W\203\307\f	U\203\241\nB \203. \311X\203.\324	!\204\207 	X\203\307\203\302 \310\311!\202(\312 \313\216\314!\203\322 \311u\210\315\306\316#\205'\311\225\206\347 \317\225\206\347 \320\225\311\224\206\365 \317\224\206\365 \320\224\311\321#]\210b\210n\204\322u\210\202\n\204$X\203$\323 \210b*\203\307\202\261 \2038\310\311!\202\304\312 \313\216\314!\203H\311u\210\315\306\316#\205\235\311\225\206]\317\225\206]\320\225\311\224\206k\317\224\206k\320\224\311\321#]\210b\210n\204\212\322u\210\202\200\204\232X\203\232\323 \210b*\202\304\f	W\203\307 \203\263 \316V\203\307\325 \205\274 S	$\nB\211\204\207 \203\354m\204\322\322u\210h\326U\203\351\311`\320Z]`{\311H\326U\203\351\322u\210`!\n+\207" [orig-depth curr-depth chart original prev-depth visible nil allout-depth allout-next-visible-heading 1 match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) looking-at re-search-forward 0 2 3 - -1 allout-aberrant-container-p allout-next-sibling allout-chart-subtree 10 save-match-data-internal allout-regexp allout-line-boundary-regexp allout-recent-prefix-end allout-recent-prefix-beginning allout-header-subtraction allout-recent-depth allout-inhibit-aberrance-doublecheck allout-doublecheck-at-and-shallower levels allout-recent-end-of-subtree] 6 (#$ . 87385)])
#@169 Produce a list of locations of this and succeeding sibling topics.
Effectively a top-level chart of siblings.  See `allout-chart-subtree'
for an explanation of charts.
(defalias 'allout-chart-siblings #[(&optional start end) "\212\301 \205 `C\302 \203 `B\202	 \205 \237\211))\207" [chart allout-goto-prefix-doublechecked allout-next-sibling] 2 (#$ . 90373)])
#@205 Return a flat list of hidden points in subtree CHART, up to DEPTH.

If DEPTH is nil, include hidden points at any depth.

Note that point can be left at any of the points on chart, or at the
start point.
(defalias 'allout-chart-to-reveal #[(chart depth) "\306\211\n\203 \n\307V\203U \203U @\211<\2038 \310\n\204$ \n\202& \nS\"\211\2031 \311\f	\"A)\202 b\210\306\312\206C `\313\")\314=\203O 	BA\202 	*\207" [here result depth chart further pos nil 0 allout-chart-to-reveal append get-char-property invisible allout] 4 (#$ . 90748)])
#@241 Put point at beginning of immediately containing outline topic.

Goes to most immediate subsequent topic if none immediately containing.

Not sensitive to topic visibility.

Returns the point at the beginning of the prefix, or nil if none.
(defalias 'allout-goto-prefix #[nil "\306 \307\216\310	\204K \311\312\310\313#\203K \313u\210\314\n!\203E \313\225\206( \315\225\206( \316\225\313\224\2065 \315\224\2065 \316\224\313\317\f#]\f\211\202 \320u\210\202 o\203\337 \314\n!\203| \313\225\206a \315\225\206a \316\225\313\224\206n \315\224\206n \316\224\313\317\f#]\f\202\340 \306 \321\216\314\n!\203\212 \313u\210\322\310\323#\205\327 \313\225\206\237 \315\225\206\237 \316\225\313\224\206\254 \315\224\206\254 \316\224\313\317\f#]\f\210\fb\210n\204\305 \320u\210\202\273 \204\325 X\203\325 \324 \210\fb*\206\340 	\202\340 	+\207" [save-match-data-internal done allout-regexp allout-recent-prefix-end allout-recent-prefix-beginning allout-header-subtraction match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) nil search-backward "\n" 1 looking-at 2 3 - -1 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) re-search-forward 0 allout-aberrant-container-p allout-recent-depth allout-line-boundary-regexp allout-inhibit-aberrance-doublecheck allout-doublecheck-at-and-shallower] 6 (#$ . 91307)])
#@275 Put point at beginning of immediately containing outline topic.

Like `allout-goto-prefix', but shallow topics (according to
`allout-doublecheck-at-and-shallower') are checked and
disqualified for child containment discontinuity, according to
`allout-aberrant-container-p'.
(defalias 'allout-goto-prefix-doublechecked #[nil "\303 \205 \204 	\nX\203 \304 \203 \305 \207`\207" [allout-inhibit-aberrance-doublecheck allout-recent-depth allout-doublecheck-at-and-shallower allout-goto-prefix allout-aberrant-container-p allout-previous-heading] 2 (#$ . 92719)])
#@173 Position cursor at beginning of header text.

If optional IGNORE-DECORATIONS is non-nil, put just after bullet,
otherwise skip white space between bullet and ensuing text.
(defalias 'allout-end-of-prefix #[(&optional ignore-decorations) "\303 \205- b\210\304 \305\216\n\204* \306\307!\203 \310u\210\202 l\204* \306\311!\203* \310u\210*\312 \207" [allout-recent-prefix-end save-match-data-internal ignore-decorations allout-goto-prefix-doublechecked match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) looking-at "[0-9]" 1 "\\s-" allout-current-depth] 2 (#$ . 93289)])
#@54 Return position of current (visible) topic's bullet.
(defalias 'allout-current-bullet-pos #[nil "\301 \205 S\207" [allout-recent-prefix-end allout-current-depth] 1 (#$ . 93912)])
#@240 Move to heading line of current topic, or beginning if not in a topic.

If interactive, we position at the end of the prefix.

Return value of resulting point, unless we started outside
of (before any) topics, in which case we return nil.
(defalias 'allout-back-to-current-heading #[nil "\301 \210`\302 \205# `X\203 \303\304!\203 \305 \202# `\202# eb\210\306)\207" [bol-point allout-beginning-of-current-line allout-goto-prefix-doublechecked called-interactively-p interactive allout-end-of-prefix nil] 2 (#$ . 94100)])
(defalias 'allout-back-to-heading 'allout-back-to-current-heading)
#@86 Skip forward to just before the next heading line.

Returns that character position.
(defalias 'allout-pre-next-prefix #[nil "\306 \307\216\310	!\203 \311u\210\312\n\313\314#\205Z \311\225\206\" \315\225\206\" \316\225\311\224\206/ \315\224\206/ \316\224\311\317\f#]\f\210\fb\210n\204H \320u\210\202> \204X X\203X \321 \210\fb*\205a \fSb\207" [save-match-data-internal allout-regexp allout-line-boundary-regexp allout-recent-prefix-end allout-recent-prefix-beginning allout-header-subtraction match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) looking-at 1 re-search-forward nil 0 2 3 - -1 allout-aberrant-container-p allout-recent-depth allout-inhibit-aberrance-doublecheck allout-doublecheck-at-and-shallower] 5 (#$ . 94697)])
#@363 Put point at the end of the last leaf in the containing topic.

Optional CURRENT means put point at the end of the containing
visible topic.

Optional INCLUDE-TRAILING-BLANK means include a trailing blank line, if
any, as part of the subtree.  Otherwise, that trailing blank will be
excluded as delimiting whitespace between topics.

Returns the value of point.
(defalias 'allout-end-of-subtree #[(&optional current include-trailing-blank) "\203\n \306 \210\202 \307 \210	\310 \311\216\312\f!\203 \313u\210\314\315\316#\205o \313\225\2061 \317\225\2061 \320\225\313\224\206? \317\224\206? \320\224\313\321#]\210b\210n\204] \322u\210\202S \204l 	X\203l \323 \210b*\210m\204\340 	\nV\203\340 \310 \311\216\312\f!\203\211 \313u\210\314\315\316#\205\333 \313\225\206\235 \317\225\206\235 \320\225\313\224\206\253 \317\224\206\253 \320\224\313\321#]\210b\210n\204\311 \322u\210\202\277 \204\330 	X\203\330 \323 \210b*\210\202q m\203\352 \324 \210\202\355 \322u\210\204\373 h\325U\203\373 \322u\210`\211)\207" [current allout-recent-depth level save-match-data-internal allout-regexp allout-line-boundary-regexp allout-back-to-current-heading allout-goto-prefix-doublechecked match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) looking-at 1 re-search-forward nil 0 2 3 - -1 allout-aberrant-container-p allout-end-of-entry 10 allout-recent-prefix-end allout-recent-prefix-beginning allout-header-subtraction allout-inhibit-aberrance-doublecheck allout-doublecheck-at-and-shallower include-trailing-blank allout-recent-end-of-subtree] 5 (#$ . 95493) "P"])
#@291 Put point at end of last leaf in currently visible containing topic.

Optional INCLUDE-TRAILING-BLANK means include a trailing blank line, if
any, as part of the subtree.  Otherwise, that trailing blank will be
excluded as delimiting whitespace between topics.

Returns the value of point.
(defalias 'allout-end-of-current-subtree #[(&optional include-trailing-blank) "\301\302\"\207" [include-trailing-blank allout-end-of-subtree t] 3 (#$ . 97147) nil])
#@209 When not already there, position point at beginning of current topic header.

If already there, move cursor to bullet for hot-spot operation.
(See `allout-mode' doc string for details of hot-spot operation.)
(defalias 'allout-beginning-of-current-entry #[nil "`\302\303!\210\304\305 W\203 	b\210\202 eb\210\306 \210\307\310!\205( `U\205( \311 b)\207" [start-point allout-recent-prefix-end move-beginning-of-line 1 0 allout-current-depth allout-end-of-prefix called-interactively-p interactive allout-current-bullet-pos] 2 (#$ . 97610) nil])
#@217 Position the point at the end of the current topics' entry.

Optional INCLUSIVE means also include trailing empty line, if any.  When
unset, whitespace between items separates them even when the items are
collapsed.
(defalias 'allout-end-of-entry #[(&optional inclusive) "\301 \210\204 o\204 h\302U\203 \303u\210`\207" [inclusive allout-pre-next-prefix 10 -1] 2 (#$ . 98162) nil])
(defalias 'allout-end-of-current-heading #[nil "\300 \210\301\302\303\304#\210\305u\207" [allout-beginning-of-current-entry search-forward "\n" nil t -1] 4 nil nil])
(defalias 'allout-end-of-heading 'allout-end-of-current-heading)
#@75 Return the unmangled body text of the topic immediately containing point.
(defalias 'allout-get-body-text #[nil "\212\301 \210\302\303\304\305#\205& \306u\210`\211\205% \307\305!\210`U?\205% \310T`\"))\207" [pre-body allout-end-of-prefix search-forward "\n" nil t -1 allout-end-of-entry buffer-substring-no-properties] 5 (#$ . 98784)])
#@67 Ascend to depth DEPTH, returning depth if successful, nil if not.
(defalias 'allout-ascend-to-depth #[(depth) "\304V\205. \305 X\205. \306\nW\203 \307 \211\204 b\210\310\311!\203( \312 \210	\205- \n)\207" [depth last-ascended allout-recent-depth allout-recent-prefix-beginning 0 allout-depth nil allout-ascend called-interactively-p interactive allout-end-of-prefix] 2 (#$ . 99129)])
#@261 Ascend one level, returning resulting depth if successful, nil if not.

Point is left at the beginning of the level whether or not
successful, unless optional DONT-MOVE-IF-UNSUCCESSFUL is set, in
which case point is returned to its original starting location.
(defalias 'allout-ascend #[(&optional dont-move-if-unsuccessful) "\203 `\304 \2058 `	\305 \210	\nW\203 	\2027 	\nU\2030 \203) b\210\306 \210\307\2027 b\210\306 \210\307*\310\311!\203A \312 \210\207" [dont-move-if-unsuccessful allout-recent-depth bolevel-depth bolevel allout-beginning-of-level allout-previous-heading allout-depth nil called-interactively-p interactive allout-end-of-prefix] 3 (#$ . 99528)])
#@90 Descend to depth DEPTH within current topic.

Returning depth if successful, nil if not.
(defalias 'allout-descend-to-depth #[(depth) "`\306 \306 \307V\203} \nU\204} \310 \311\216\312!\203  \313u\210\314\315\307#\205s \313\225\2065 \316\225\2065 \317\225\313\224\206C \316\224\206C \317\224\313\320#]\210b\210n\204a \321u\210\202W \204p X\203p \322 \210b*\203} W\204 \306 \307V\203\216 \nU\203\216 \n\202\222 	b\210\315*\207" [start-depth start-point depth allout-recent-depth save-match-data-internal allout-regexp allout-depth 0 match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) looking-at 1 re-search-forward nil 2 3 - -1 allout-aberrant-container-p allout-line-boundary-regexp allout-recent-prefix-end allout-recent-prefix-beginning allout-header-subtraction allout-inhibit-aberrance-doublecheck allout-doublecheck-at-and-shallower] 5 (#$ . 100212)])
#@49 Move out ARG levels from current visible topic.
(defalias 'allout-up-current-level #[(arg) "`\302 \210\303 \204 b\210\304\305!\202 \306\307!\203 \310 \210	)\207" [start-point allout-recent-prefix-beginning allout-back-to-current-heading allout-ascend error "Can't ascend past outermost level" called-interactively-p interactive allout-end-of-prefix] 2 (#$ . 101153) "p"])
#@255 Like `allout-forward-current-level', but respects invisible topics.

Traverse at optional DEPTH, or current depth if none specified.

Go backward if optional arg BACKWARD is non-nil.

Return the start point of the new topic if successful, nil otherwise.
(defalias 'allout-next-sibling #[(&optional depth backward) "\203 o\202	 m?\205	\206 \306 `\n\307\310\211\f\204\267 \203- o\202. m\204\267 \203: \311 \202\233 \312 \313\216\314!\203J \315u\210\316\310\307#\205\232 \315\225\206_ \317\225\206_ \320\225\315\224\206m \317\224\206m \320\224\315\321\n#]\n\210\nb\210n\204\210 \322u\210\202~  \204\230 !X\203\230 \323 \210\nb*\203\267 \211V\203\267 T\211\324V\203! \325\211\203% \f\203\330 \326\"\206\fb\210	\203\321 \306 \210\202\324 \210\310\202\fm\204\372 \206\342 \306 \307V\203\372 U\203\372 \nU\204\372 \n\202\fb\210	\203\306 \210\202\210\310.\207" [backward depth allout-recent-prefix-beginning last-depth leaping count allout-depth 0 nil allout-previous-heading match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) looking-at 1 re-search-forward 2 3 - -1 allout-aberrant-container-p 7 t allout-next-sibling-leap start-prefix-beginning start-point target-depth save-match-data-internal allout-regexp allout-line-boundary-regexp allout-recent-prefix-end allout-header-subtraction allout-recent-depth allout-inhibit-aberrance-doublecheck allout-doublecheck-at-and-shallower] 7 (#$ . 101537)])
#@792 Like `allout-next-sibling', but by direct search for topic at depth.

Traverse at optional DEPTH, or current depth if none specified.

Go backward if optional arg BACKWARD is non-nil.

Return the start point of the new topic if successful, nil otherwise.

Costs more than regular `allout-next-sibling' for short traversals:

 - we have to check the prior (next, if travelling backwards)
   item to confirm connectivity with the prior topic, and
 - if confirmed, we have to reestablish the allout-recent-* settings with
   some extra navigation
 - if confirmation fails, we have to do more work to recover

It is an increasingly big win when there are many intervening
offspring before the next sibling, however, so
`allout-next-sibling' resorts to this if it finds itself in that
situation.
(defalias 'allout-next-sibling-leap #[(&optional depth backward) "\203 o\202	 m?\205\n`\n\206 \306 \307\310Z\311X\203' \202- \312\211#\307\211\313 \314\216\203H \315\307\316#\202Q \311u\210\317\307\316#*\211\203` \320 \203` \307\206n \203m o\202n m\211\2035 \204\200 	b\210\307\202\203\356 \313 \321\216\322!\203\224 \311u\210\317 \307\323#\205\351 \311\225\206\251 \310\225\206\251 \324\225!\311\224\206\267 \310\224\206\267 \324\224\"\311\325!\"##]$\"\210\"b\210n\204\326 \326u\210\202\314 %\204\346 $&X\203\346 \320 \210\"b*\210\202\361 \327 \210$W\203	b\210\306 \210\307\202b\210\330 .\207" [backward start-point depth target-depth search-whitespace-regexp depth-biased allout-depth nil 2 1 format match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) re-search-backward to-limit re-search-forward allout-aberrant-container-p ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) looking-at 0 3 - -1 allout-previous-heading allout-goto-prefix allout-depth-one-regexp allout-depth-specific-regexp expression found done save-match-data-internal allout-regexp allout-line-boundary-regexp allout-recent-prefix-end allout-recent-prefix-beginning allout-header-subtraction allout-recent-depth allout-inhibit-aberrance-doublecheck allout-doublecheck-at-and-shallower] 6 (#$ . 103053)])
#@228 Like `allout-forward-current-level' backwards, respecting invisible topics.

Optional DEPTH specifies depth to traverse, default current depth.

Optional BACKWARD reverses direction.

Return depth if successful, nil otherwise.
(defalias 'allout-previous-sibling #[(&optional depth backward) "\302	?\"\207" [depth backward allout-next-sibling] 3 (#$ . 105277)])
#@94 Position cursor at end of previous topic.

Presumes point is at the start of a topic prefix.
(defalias 'allout-snug-back #[nil "o\204 m\204 \300u\210o\204 h\301U\203 \300u\210`\207" [-1 10] 2 (#$ . 105645)])
#@61 Go back to the first sibling at this level, visible or not.
(defalias 'allout-beginning-of-level #[nil "\300\301!\207" [allout-end-of-level backward] 2 (#$ . 105863)])
#@55 Go to the last sibling at this level, visible or not.
(defalias 'allout-end-of-level #[(&optional backward) "\302 \303\304\"\204 	\305\306!\203 \307 \210)\207" [depth allout-recent-depth allout-depth allout-previous-sibling nil called-interactively-p interactive allout-end-of-prefix] 3 (#$ . 106037)])
#@148 Move to the next ARG'th visible heading line, backward if arg is negative.

Move to buffer limit in indicated direction if headings are exhausted.
(defalias 'allout-next-visible-heading #[(arg) "\306	\307W\205\f 	[\211\211\203 \310\202 \311\312\211	\307V\203\236 \n\203) o\202* m\204\221 \312\313\314\217\315 \210\203\221 \316 \317\216\320!\204H \306\202\215 \311\225\206T \321\225\206T \322\225\311\224\206b \321\224\206b \322\224\311\323#]\210\204\211 X\203\211 \324 \203\211 \306\202\215 \312*\204! \203\227 	S\211\202 \203\247 \325 \202\274 \f\203\263 \fb\210\325 \202\274 \n?\205\274 \312\210\312-\207" [inhibit-field-text-motion arg backward step prev got t 0 -1 1 nil (byte-code "\301!\206 \302\207" [step line-move t] 2) ((error)) allout-beginning-of-current-line match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) looking-at 2 3 - allout-aberrant-container-p allout-end-of-prefix save-match-data-internal allout-regexp allout-recent-prefix-end allout-recent-prefix-beginning allout-header-subtraction allout-recent-depth allout-inhibit-aberrance-doublecheck allout-doublecheck-at-and-shallower] 6 (#$ . 106351) "p"])
#@173 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 `allout-regexp'
matches).
(defalias 'allout-previous-visible-heading #[(arg) "\301[!\302\303!\203 \304 \210\207" [arg allout-next-visible-heading called-interactively-p interactive allout-end-of-prefix] 3 (#$ . 107574) "p"])
#@174 Position point at the next heading of the same level.

Takes optional repeat-count, goes backward if count is negative.

Returns resulting position, else nil if none found.
(defalias 'allout-forward-current-level #[(arg) "\305 \306V\211\306U\203 \307\310!\210	\203 [\311 \210\312!\2047 	\203, \313 \202. \314 \2037 S\202 \315\316!\205\\ \317 \210\312!?\205\\ \307\320	\203Q \321\202R \322\f\323\n!Z\323\n!%+\207" [arg backward start-arg start-depth allout-recent-depth allout-current-depth 0 error "No siblings, not in a topic..." allout-back-to-current-heading zerop allout-previous-sibling allout-next-sibling called-interactively-p interactive allout-end-of-prefix "Hit %s level %d topic, traversed %d of %d requested" "first" "last" abs] 8 (#$ . 107954) "p"])
#@44 Inverse of `allout-forward-current-level'.
(defalias 'allout-backward-current-level #[(arg) "\302\303!\203 [\304\305!)\207\305[!\207" [arg current-prefix-arg called-interactively-p interactive call-interactively allout-forward-current-level] 2 (#$ . 108739) "p"])
#@372 Outline internal var, for `allout-pre-command-business' hot-spot operation.

When set, tells post-processing to reposition on topic bullet, and
then unset it.  Set by `allout-pre-command-business' when implementing
hot-spot operation, where literal characters typed over a topic bullet
are mapped to the command of the corresponding control-key on the
`allout-mode-map'.
(defvar allout-post-goto-bullet nil (#$ . 109014))
(make-variable-buffer-local 'allout-post-goto-bullet)
#@164 Counter that monotonically increases in allout-mode buffers.

Set by `allout-pre-command-business', to support allout addons in
coordinating with allout activity.
(defvar allout-command-counter 0 (#$ . 109497))
(make-variable-buffer-local 'allout-command-counter)
#@196 Outline `post-command-hook' function.

- Implement (and clear) `allout-post-goto-bullet', for hot-spot
  outline commands.

- Decrypt topic currently being edited if it was encrypted for a save.
(defalias 'allout-post-command-business #[nil "\205! \303\301!\203 	\203 \304 \210\n\205! \305 \205! \305 b\210\306\211\207" [allout-mode allout-after-save-decrypt allout-post-goto-bullet boundp allout-after-saves-handler allout-current-bullet-pos nil] 2 (#$ . 109768)])
#@820 Outline `pre-command-hook' function for outline buffers.

Among other things, implements special behavior when the cursor is on the
topic bullet character.

When the cursor is on the bullet character, self-insert characters are
reinterpreted as the corresponding control-character in the
`allout-mode-map'.  The `allout-mode' `post-command-hook' insures that
the cursor which has moved as a result of such reinterpretation is
positioned on the bullet character of the destination topic.

The upshot is that you can get easy, single (ie, unmodified) key
outline maneuvering operations by positioning the cursor on the bullet
char.  When in this mode you can use regular cursor-positioning
command/keystrokes to relocate the cursor off of a bullet character to
return to regular interpretation of self-insert characters.
(defalias 'allout-pre-command-business #[nil "\205 	T\n\303=\205 `\304 =\205 \305 \207" [allout-mode allout-command-counter this-command self-insert-command allout-current-bullet-pos allout-hotspot-key-handler] 2 (#$ . 110245)])
#@271 Catchall handling of key bindings in hot-spots.

Translates unmodified keystrokes to corresponding allout commands, when
they would qualify if prefixed with the allout-command-prefix, and sets
this-command accordingly.

Returns the qualifying command, if any, else nil.
(defalias 'allout-hotspot-key-handler #[nil "\247\205 \306!\247\203 \202) \307\310!\203( \311\310C\"\203( \311\312C\"\202) \313\314\315\n!?\205\222 \316\nX\203s \317	\f\"\203L \317	\f\"\211A@)\206h \320\321\306\322\nX\203c \323\nY\203c \n\324Z\202d \n!\"\325\"\211\203s \325\202y \320\306\n!!\326!\203\212 \327\330\331 !\"\202y \205\222 \211+\207" [last-command-event key-string key-num mapped-binding allout-keybindings-list x char-to-string fboundp characterp apply char-to-int 0 nil zerop 33 assoc key-binding vconcat 97 122 96 t keymapp lookup-key vector read-char allout-command-prefix allout-post-goto-bullet this-command] 7 (#$ . 111305) nil])
#@121 Activate `allout-mode' on non-nil `allout-auto-activation', `allout-layout'.

See `allout-init' for setup instructions.
(defalias 'allout-find-file-hook #[nil "\205 	?\205 \n\205 \301\303!\207" [allout-auto-activation allout-mode allout-layout t] 2 (#$ . 112258)])
#@131 Prompt for and return a bullet char as an alternative to the current one.

Offer one suitable for current depth DEPTH as default.
(defalias 'allout-solicit-alternate-bullet #[(depth &optional current-bullet) ";\203	 \206\f \306	!\307!\310\212\311 b\210\312\313\314\f\315\n!#\f\316#)\317\320!\210\320\230\2033 \n\2024 +\207" [current-bullet depth default-bullet allout-bullets-string sans-escapes choice allout-bullet-for-depth regexp-sans-escapes nil allout-current-bullet-pos solicit-char-in-string format "Select bullet: %s ('%s' default): " substring-no-properties t message ""] 6 (#$ . 112534)])
#@72 True if BULLET is one of those on `allout-distinctive-bullets-string'.
(defalias 'allout-distinctive-bullet #[(bullet) "\302\303!	\"\207" [bullet allout-distinctive-bullets-string string-match regexp-quote] 3 (#$ . 113149)])
#@58 True if current header prefix bullet is numbered bullet.
(defalias 'allout-numbered-type-prefix #[(&optional prefix) "\205 	\203 \302	!\202 \303 \230\207" [allout-numbered-bullet prefix allout-get-prefix-bullet allout-get-bullet] 3 (#$ . 113381)])
#@72 True if current header prefix bullet is for an encrypted entry (body).
(defalias 'allout-encrypted-type-prefix #[(&optional prefix) "\205 	\203 \302	!\202 \303 \230\207" [allout-topic-encryption-bullet prefix allout-get-prefix-bullet allout-get-bullet] 3 (#$ . 113640)])
#@73 Return outline topic bullet suited to optional DEPTH, or current depth.
(defalias 'allout-bullet-for-depth #[(&optional depth) "\203 \305	\306\n\307Z]\246H!\207\f\207" [allout-stylish-prefixes allout-plain-bullets-string depth allout-plain-bullets-string-len allout-primary-bullet char-to-string 0 2] 5 (#$ . 113922)])
#@2039 Generate a topic prefix suitable for optional arg DEPTH, or current depth.

All the arguments are optional.

PRIOR-BULLET indicates the bullet of the prefix being changed, or
nil if none.  This bullet may be preserved (other options
notwithstanding) if it is on the `allout-distinctive-bullets-string',
for instance.

Second arg NEW indicates that a new topic is being opened after the
topic at point, if non-nil.  Default bullet for new topics, eg, may
be set (contingent to other args) to numbered bullets if previous
sibling is one.  The implication otherwise is that the current topic
is being adjusted -- shifted or rebulleted -- and we don't consider
bullet or previous sibling.

Third arg DEPTH forces the topic prefix to that depth, regardless of
the current topics' depth.

If SOLICIT is non-nil, then the choice of bullet is solicited from
user.  If it's a character, then that character is offered as the
default, otherwise the one suited to the context (according to
distinction or depth) is offered.  (This overrides other options,
including, eg, a distinctive PRIOR-BULLET.)  If non-nil, then the
context-specific bullet is used.

Fifth arg, NUMBER-CONTROL, matters only if `allout-numbered-bullet'
is non-nil *and* soliciting was not explicitly invoked.  Then
NUMBER-CONTROL non-nil forces prefix to either numbered or
denumbered format, depending on the value of the sixth arg, INDEX.

(Note that NUMBER-CONTROL does *not* apply to level 1 topics.  Sorry...)

If NUMBER-CONTROL is non-nil and sixth arg INDEX is non-nil then
the prefix of the topic is forced to be numbered.  Non-nil
NUMBER-CONTROL and nil INDEX forces non-numbered format on the
bullet.  Non-nil NUMBER-CONTROL and non-nil, non-number INDEX means
that the index for the numbered prefix will be derived, by counting
siblings back to start of level.  If INDEX is a number, then that
number is used as the index for the numbered prefix (allowing, eg,
sequential renumbering to not require this function counting back the
index for each successive sibling).
(defalias 'allout-make-topic-prefix #[(&optional prior-bullet new depth solicit number-control index) "\306\211\306\206\f \307 \f\310X\203 \311\202\363 \203/ \312\313!\"\311\211\202\363 \312\314Z\315\"\203_ \316\"\205X \205O ??\205X \230)\202\363 \203\221 \203\221 ?\211?\211\203y \202\363 \203\213 \230\204\213 \202\363 \317!\202\363 \203\313 \307 X\203\313 \203\313 \n\204\313 \212\307 Y\204\262 \320!\210\321 )\211\205\307 \230\205\307 \211)\206\363 \203\360 \322!\203\360 \203\353 \230\203\353 \n?\211\203\360 \206\363 \317!  	\205\323\324\203\247\203\202\203\325!T\202\325 \"R.\207" [body numbering denumbering depth allout-header-prefix header-lead nil allout-depth 1 "" make-string string-to-char 2 32 allout-solicit-alternate-bullet allout-bullet-for-depth allout-ascend-to-depth allout-get-bullet allout-distinctive-bullet format "%d" allout-sibling-index allout-primary-bullet allout-old-style-prefixes solicit got allout-numbered-bullet number-control index prior-bullet new sibling-bullet bullet-char] 8 (#$ . 114252)])
#@1471 Open a new topic at depth DEPTH.

New topic is situated after current one, unless optional flag BEFORE
is non-nil, or unless current line is completely empty -- lacking even
whitespace -- in which case open is done on the current line.

When adding an offspring, it will be added immediately after the parent if
the other offspring are exposed, or after the last child if the offspring
are hidden.  (The intervening offspring will be exposed in the latter
case.)

If OFFER-RECENT-BULLET is true, offer to use the bullet of the prior sibling.

Nuances:

- Creation of new topics is with respect to the visible topic
  containing the cursor, regardless of intervening concealed ones.

- New headers are generally created after/before the body of a
  topic.  However, they are created right at cursor location if the
  cursor is on a blank line, even if that breaks the current topic
  body.  This is intentional, to provide a simple means for
  deliberately dividing topic bodies.

- Double spacing of topic lists is preserved.  Also, the first
  level two topic is created double-spaced (and so would be
  subsequent siblings, if that's left intact).  Otherwise,
  single-spacing is used.

- Creation of sibling or nested topics is with respect to the topic
  you're starting from, even when creating backwards.  This way you
  can easily create a sibling in front of the current topic without
  having to go to its preceding sibling, and then open forward
  from there.
(defalias 'allout-open-topic #[(relative-depth &optional before offer-recent-bullet) "\306 \210\307 \310\216\311\312 \n\\\313\314!\205 \315\211?\315\21134\3155\212\n\316W\2031 \317!\210\202: \n\320Y\204: \321 \210647\320V\203O \3227S7\"\202P \3235\2128\205k \n\316X\204d \324!\205k \325 \205k 8)3`)9\315\211:;\315\211<=\204s9b\210\n\316X\203\252 \212\316\326yV\206\233 \313\327!\206\233 o)\203\252 \212\330 \210\313\331!)\206\300 4\320U\205\300 \f\206\300 \320U\206\300 \212\332 )?:\f\203\334 \n\316Y\203\334 \321 \210o;o\204\350 \333 \210\202\350 \f\203\350 o\203\350 \334\320!\210\n\316X\203N;\203:\204\377 \334\320!\210\202\334\335!\210\202\f\203?\315\210\332 \210g\336U\2032\212\320u\210\315>\337>\206$`\340\"*\341=\2032\320u\210\202\313\314!\204\334\320!\210\202\330 \210\313\331!\203\320u\210\202\342 \210m\203\\\343\320!\210\202`\344\320!\210\306 \210\326u\210n\203s\311:\345\346\315\311#\210\313\331!\203|\311:\212\307 \347\216\313?!\203\214\320u\210\350@\315\316#\205\341\320\225\206\241\335\225\206\241\351\2257\320\224\206\257\335\224\206\257\351\224A\320\3527AB#]6A\210Ab\210n\204\316\326u\210\202\304C\204\3366DX\203\336\353 \210Ab*\21064V\205\361\326y\210\313\327!)\203\377\320y\210\334\320!\210\320y\210\354 \210o\204s4V\204\f\204\334\320!\210\202?:\204+4V\203+\343\320!\210\202?:\2037\334\320!\210\202?\f\204?\343\320!\210:\203N\n\316V\204N\343\320!\210m\204sn\203po\204s\212\326u\210\315>\337>\206h`\340\"*\341=\203s\320u\210`<\3553\311#\356Pc\210`T=\357E\205\2145\315\211\311%\210\n\316V\203\241\2129b\210\360 \210)\315\210\361\362<=#.\207" [save-match-data-internal inhibit-field-text-motion relative-depth depth before opening-on-blank allout-beginning-of-current-line match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) t allout-current-depth looking-at "^$" nil 0 allout-ascend-to-depth 1 allout-back-to-current-heading buffer-substring-no-properties "" allout-descend-to-depth allout-numbered-type-prefix -1 "^\\s-*$" allout-end-of-current-subtree "\n\n" allout-pre-next-prefix allout-previous-heading open-line 2 10 get-char-property invisible allout allout-end-of-entry newline line-move re-search-backward "[^ 	\n]" ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) re-search-forward 3 - allout-aberrant-container-p allout-end-of-current-line allout-make-topic-prefix " " allout-rebullet-heading allout-show-children run-hook-with-args allout-structure-added-hook opening-numbered ref-depth ref-bullet allout-recent-depth allout-recent-prefix-end allout-numbered-bullet ref-topic dbl-space doing-beginning start end pos allout-regexp allout-line-boundary-regexp allout-recent-prefix-beginning allout-header-subtraction allout-inhibit-aberrance-doublecheck allout-doublecheck-at-and-shallower offer-recent-bullet] 7 (#$ . 117445)])
#@157 Open new topic header at deeper level than the current one.

Negative universal arg means to open deeper, but place the new topic
prior to the current one.
(defalias 'allout-open-subtopic #[(arg) "\301\302\303V\302W#\207" [arg allout-open-topic 1 0] 5 (#$ . 121895) "p"])
#@206 Open new topic header at same level as the current one.

Positive universal arg means to use the bullet of the prior sibling.

Negative universal arg means to place the new topic prior to the current
one.
(defalias 'allout-open-sibtopic #[(arg) "\301\302\211V\303U?#\207" [arg allout-open-topic 0 1] 5 (#$ . 122176) "p"])
#@163 Open new topic header at shallower level than the current one.

Negative universal arg means to open shallower, but place the new
topic prior to the current one.
(defalias 'allout-open-supertopic #[(arg) "\301\302\303V\304W#\207" [arg allout-open-topic -1 0 1] 5 (#$ . 122507) "p"])
#@66 Name of modal fill function being wrapped by `allout-auto-fill'.
(defvar allout-former-auto-filler nil (#$ . 122798))
#@119 `allout-mode' autofill function.

Maintains outline hanging topic indentation if
`allout-use-hanging-indents' is set.
(defalias 'allout-auto-fill #[nil "?\205: 	\205  \306 \307\216\212\310 \210\311!\205 \312\313 \210i\314\"+\f\206) \206) \315\2046 	\2059  *\207" [allout-inhibit-auto-fill allout-use-hanging-indents save-match-data-internal allout-regexp allout-outside-normal-auto-fill-function auto-fill-function match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) beginning-of-line looking-at make-string allout-end-of-prefix 32 do-auto-fill use-auto-fill-function fill-prefix allout-former-auto-filler] 3 (#$ . 122923)])
#@208 Reindent body lines which were indented at OLD-DEPTH to NEW-DEPTH.

Optional arg NUMBER indicates numbering is being added, and it must
be accommodated.

Note that refill of indented paragraphs is not done.
(defalias 'allout-reindent-body #[(old-depth new-depth &optional number) "\212\306 \210i\307\211\307\fZ\\?\205 \310\310\311 \312\216\313\314\307\310#\205Z \315\224\315\225\211\205Z \316!?\205Z \317\nZZ\211V\204% \n|\210\320	i#j\210\202% .\n\207" [new-margin excess old-indent-begin old-indent-end old-depth new-depth allout-end-of-prefix nil t match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) re-search-forward "\n\\(\\s-*\\)" 1 looking-at 0 + old-margin buffer-read-only inhibit-field-text-motion inhibit-read-only save-match-data-internal allout-regexp] 5 (#$ . 123613)])
#@49 Solicit new bullet for current visible heading.
(defalias 'allout-rebullet-current-heading #[(arg) "i`\306 =\307\211\310W\205 [\211\310V\203Y \212\311 \210\312 \210\313\314\307\211\211\314%\210\315\316\n\314$\210)S\211\310X\204 \307	\204O \317\320!\210\202 \321 \210\317\322!\210\202 \323\324!\210\f\203g \306 b\202n \205n \325!-\207" [arg backwards to from on-bullet initial-col allout-current-bullet-pos nil 0 allout-back-to-current-heading allout-end-of-prefix allout-rebullet-heading t run-hook-with-args allout-exposure-change-hook allout-next-visible-heading 1 allout-goto-prefix-doublechecked -1 message "Done." move-to-column allout-recent-prefix-beginning allout-recent-prefix-end] 7 (#$ . 124475) "p"])
#@1405 Adjust bullet of current topic prefix.

All args are optional.

If SOLICIT is non-nil, then the choice of bullet is solicited from
user.  If it's a character, then that character is offered as the
default, otherwise the one suited to the context (according to
distinction or depth) is offered.  If non-nil, then the
context-specific bullet is just used.

Second arg DEPTH forces the topic prefix to that depth, regardless
of the topic's current depth.

Third arg NUMBER-CONTROL can force the prefix to or away from
numbered form.  It has effect only if `allout-numbered-bullet' is
non-nil and soliciting was not explicitly invoked (via first arg).
Its effect, numbering or denumbering, then depends on the setting
of the fourth arg, INDEX.

If NUMBER-CONTROL is non-nil and fourth arg INDEX is nil, then the
prefix of the topic is forced to be non-numbered.  Null index and
non-nil NUMBER-CONTROL forces denumbering.  Non-nil INDEX (and
non-nil NUMBER-CONTROL) forces a numbered-prefix form.  If non-nil
INDEX is a number, then that number is used for the numbered
prefix.  Non-nil and non-number means that the index for the
numbered prefix will be derived by allout-make-topic-prefix.

Fifth arg DO-SUCCESSORS t means re-resolve count on succeeding
siblings.

Cf vars `allout-stylish-prefixes', `allout-old-style-prefixes',
and `allout-numbered-bullet', which all affect the behavior of
this function.
(defalias 'allout-rebullet-heading #[(&optional solicit new-depth number-control index do-successors) "\306 	\206 \n\f\307S\"\310\311\"\312\313	&	U\203@ \211GS\313O\230\203@ \314\202\355 ?\205G \314\314 !|\210*b\210\315 \"\316\216#\203\200 #\230\203\200 \317\320!\203\200 ?\205t \314\314 !\321\224\321\225|\210**\203\221 \322\321G\311\314%\210?\205\230 \314\314 !c\210*$\203\267 	U\204\267 \323 \204\267 \324	\"\210%\205\355 \212\325	\313\"\205\354 \247\203\320 T\202\330 ?\205\330 \326 \327 \203\275 \330\313	\313%\210\202\275 ).\207" [current-depth new-depth allout-recent-prefix-beginning mb allout-recent-prefix-end me allout-depth buffer-substring-no-properties get-text-property allout-was-hidden allout-make-topic-prefix nil t match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) looking-at "[0-9]+" 0 put-text-property allout-encrypted-topic-p allout-reindent-body allout-next-sibling allout-sibling-index allout-numbered-type-prefix allout-rebullet-heading current-bullet has-annotation solicit number-control index new-prefix buffer-read-only inhibit-field-text-motion inhibit-read-only save-match-data-internal allout-numbered-bullet allout-reindent-bodies do-successors] 7 (#$ . 125221)])
#@480 Rebullet the visible topic containing point and all contained subtopics.

Descends into invisible as well as visible topics, however.

When optional SANS-OFFSPRING is non-nil, subtopics are not
shifted.  (Shifting a topic outwards without shifting its
offspring is disallowed, since this would create a "containment
discontinuity", where the depth difference between a topic and
its immediate offspring is greater than one.)

With repeat count, shift topic depth by that amount.
(defalias 'allout-rebullet-topic #[(arg &optional sans-offspring) "i\212	\204\f \304\202 	<\203 	@\305	!\204 \306\307!\210\310 \210\n	\\\304X\203- \311\312!\210\313	\314\211\211\211&\210\305	!\204A \306\315!\210)\316\304	\\]!)\207" [start-col arg allout-recent-depth sans-offspring 0 zerop message "Shifting..." allout-back-to-current-heading error "Attempt to shift topic below level 1" allout-rebullet-topic-grunt nil "Shifting... done." move-to-column] 7 (#$ . 127951) "P"])
#@680 Like `allout-rebullet-topic', but on nearest containing topic
(visible or not).

See `allout-rebullet-heading' for rebulleting behavior.

All arguments are optional.

First arg RELATIVE-DEPTH means to shift the depth of the entire
topic that amount.

Several subsequent args are for internal recursive use by the function
itself: STARTING-DEPTH, STARTING-POINT, and INDEX.

Finally, if optional SANS-OFFSPRING is non-nil then the offspring
are not shifted.  (Shifting a topic outwards without shifting
its offspring is disallowed, since this would create a
"containment discontinuity", where the depth difference between
a topic and its immediate offspring is greater than one.)
(defalias 'allout-rebullet-topic-grunt #[(&optional relative-depth starting-depth starting-point index do-successors sans-offspring) "\203 	\203 	\306W\203 \307\310!\210	\206 \306\311 \206  \n\f?\2066 \312	!\2044 ?\2056 \313 \211\306	W\f\206E ``\203^ \203^ \306	\\V\203^ \307\314!\210\nU\203	\306Y\203u \315\316	\\\316\316%\210\204\377 \306\317 \320\216\321 !\203\214 \322u\210\323!\316\306#\205\341 \322\225\206\241 \324\225\206\241 \325\225\"\322\224\206\257 \324\224\206\257 \325\224#\322\326\"#$#]%#\210#b\210n\204\316 \327u\210\202\304 &\204\336 %'X\203\336 \330 \210#b*\210m\204\377 \311 W\203\377 T\331	T\f$\210\202\343 	\306W\203(\212b\210\315\316	\\\316\316%\210)\202(\nW\203(\331	\n\f%\210\205`(\204G\312	!\204O%U\204G%	\\U\203O\315\316\211\211\211\332%\210\fb\210\312	!?\205`\315\316\211\211\211\332%.	\207" [sans-offspring relative-depth new-depth starting-depth starting-point on-starting-call 0 error "Attempt to shift topic outwards without offspring, would cause containment discontinuity." allout-depth zerop allout-sibling-index "Attempt to shift topic out beyond level 1" allout-rebullet-heading nil match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) looking-at 1 re-search-forward 2 3 - -1 allout-aberrant-container-p allout-rebullet-topic-grunt t index starting-index moving-outwards local-point save-match-data-internal allout-regexp allout-line-boundary-regexp allout-recent-prefix-end allout-recent-prefix-beginning allout-header-subtraction allout-recent-depth allout-inhibit-aberrance-doublecheck allout-doublecheck-at-and-shallower do-successors] 7 (#$ . 128924)])
#@134 Renumber siblings at current depth.

Affects superior topics if optional arg DEPTH is less than current depth.

Returns final depth.
(defalias 'allout-renumber-to-depth #[(&optional depth) "\306 \307m\204\247 \306 \203\247 \nY\203\247 	Y\203\247 m\211\204\214 \n	V\203\214 \310 \311\216\312!\2034 \313u\210\314\307\315#\205\207 \313\225\206I \316\225\206I \317\225\313\224\206W \316\224\206W \317\224\313\320#]\210b\210n\204u \321u\210\202k \204\204 \nX\203\204 \322 \210b*\210\202 \nS\nY\203\235 \323\307\211\211\211\324%\210\203 db\210\202 *\n\207" [was-eobp ascender allout-recent-depth depth save-match-data-internal allout-regexp allout-depth nil match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) looking-at 1 re-search-forward 0 2 3 - -1 allout-aberrant-container-p allout-rebullet-heading t allout-line-boundary-regexp allout-recent-prefix-end allout-recent-prefix-beginning allout-header-subtraction allout-inhibit-aberrance-doublecheck allout-doublecheck-at-and-shallower] 6 (#$ . 131331)])
#@260 Assign numbered topic prefix to this topic and its siblings.

With universal argument, denumber -- assign default bullet to this
topic and its siblings.

With repeated universal argument (`^U^U'), solicit bullet for each
rebulleting each topic at this level.
(defalias 'allout-number-siblings #[(&optional denumber) "\212\306 \210\307 \210	?\205 \310	\311\232\312\n\2053 \313\312\f\314%\210\f\203) \fT\315\314\"\211\204 \314-\207" [allout-recent-depth denumber more use-bullet index depth allout-back-to-current-heading allout-beginning-of-level 1 (16) t allout-rebullet-heading nil allout-next-sibling] 7 (#$ . 132421) "P"])
#@633 Increase depth of current heading and any items collapsed within it.

With a negative argument, the item is shifted out using
`allout-shift-out', instead.

With an argument greater than one, shift-in the item but not its
offspring, making the item into a sibling of its former children,
and a child of sibling that formerly preceded it.

You are not allowed to shift the first offspring of a topic
inwards, because that would yield a "containment
discontinuity", where the depth difference between a topic and
its immediate offspring is greater than one.  The first topic in
the file can be adjusted to any positive depth, however.
(defalias 'allout-shift-in #[(arg) "\306W\203 \307[!\207\212\310 \210o\204L 	`\311u\210\312 \210`W\203' 	\202( \306\211\306V\203> \nT\fTV\203> \313\314!\210\202K \310 \210	\nTW\203K \315 \210+)`\316\317\317V\205X \320\"\210\321\322#)\207" [arg allout-recent-depth current-depth start-point predecessor-depth where 0 allout-shift-out allout-back-to-current-heading -1 allout-goto-prefix-doublechecked error "Disallowed shift deeper than containing topic's children." allout-show-children allout-rebullet-topic 1 sans-offspring run-hook-with-args allout-structure-shifted-hook] 5 (#$ . 133066) "p"])
#@520 Decrease depth of current heading and any topics collapsed within it.
This will make the item a sibling of its former container.

With a negative argument, the item is shifted in using
`allout-shift-in', instead.

With an argument greater than one, shift-out the item's offspring
but not the item itself, making the former children siblings of
the item.

With an argument greater than 1, the item's offspring are shifted
out without shifting the item.  This will make the immediate
subtopics into siblings of the item.
(defalias 'allout-shift-out #[(arg) "\306W\203 \307[!\207\212\310 \203 \311 \210)\312 \203$ \212\313 )\203$ \311 \210\314 \205* 	\212\315V\203^ \316\315!\211@<\203@ \317!\212\320\211\203Z @\211b\210\321\315!\210A\211\204I ,\202c \322[!\210)\323\324[\n#)\207" [arg allout-recent-prefix-beginning where children-chart child-point #1=#:--cl-dolist-temp-- 0 allout-shift-in allout-ascend allout-show-children allout-current-topic-collapsed-p allout-next-sibling allout-depth 1 allout-chart-subtree allout-flatten nil allout-shift-out allout-rebullet-topic run-hook-with-args allout-structure-shifted-hook] 5 (#$ . 134314) "p"])
#@66 Kill line, adjusting subsequent lines suitably for outline mode.
(defalias 'allout-kill-line #[(&optional arg) "\203 n\203 \306 \307\216\310\n!*\204 \311!\207`\312\211 \313 \206& `\314\")\315=!\212\316 \210`\312 \313 \206= `\314\"*\315=\"\317 #\320\f\"\210!\204k \"\204k $?\205^ \321\321%&\311!\210*\202o \311!\210\322\f\"\210'\203\361 \212\306 \323\216\310\n!*\204\353 \306 \324\216\310\n!\203\224 \325u\210\326(\312\327#\205\351 \325\225\206\251 \330\225\206\251 \331\225)\325\224\206\267 \330\224\206\267 \331\224*\325\332)*+#],*\210*b\210n\204\326 \333u\210\202\314 -\204\346 ,.X\203\346 \334 \210*b*\210\335#!\210)\336\337#`#-\207" [allout-mode save-match-data-internal allout-regexp arg beg end match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) looking-at kill-line nil get-char-property invisible allout allout-end-of-current-line allout-depth allout-annotate-hidden t allout-deannotate-hidden ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 1 re-search-forward 0 2 3 - -1 allout-aberrant-container-p allout-renumber-to-depth run-hook-with-args allout-structure-deleted-hook pos beg-hidden end-hidden depth buffer-read-only inhibit-field-text-motion inhibit-read-only allout-numbered-bullet allout-line-boundary-regexp allout-recent-prefix-end allout-recent-prefix-beginning allout-header-subtraction allout-recent-depth allout-inhibit-aberrance-doublecheck allout-doublecheck-at-and-shallower] 6 (#$ . 135481) "*P"])
#@68 Like allout-kill-topic, but save to kill ring instead of deleting.
(defalias 'allout-copy-line-as-kill #[nil "\301\302\303\304\217)\207" [buffer-read-only t nil (allout-kill-line) ((buffer-read-only))] 3 (#$ . 137126) nil])
#@408 Kill topic together with subtopics.

Trailing whitespace is killed with a topic if that whitespace:

 - would separate the topic from a subsequent sibling
 - would separate the topic from the end of buffer
 - would not be added to whitespace already separating the topic from the
   previous one.

Topic exposure is marked with text-properties, to be used by
`allout-yank-processing' for exposure recovery.
(defalias 'allout-kill-topic #[nil "\306\307 \310 \210\311\312 \210i\313U\204 m\204 \314u\210m\204\260 \315 \316\216\317\320!*\203\260 \212\315 \321\216\317!\203< \314u\210\322 \311\313#\205\217 \314\225\206Q \323\225\206Q \324\225!\314\224\206_ \323\224\206_ \324\224\"\314\325!\"##]\"\210\"b\210n\204} \326u\210\202s $\204\214 %X\203\214 \327 \210\"b*?\206\227 \fU)\204\255 	eZ\324V\203\260 	\323Z	{\330\230\203\260 \314u\210\331	`\211\"\210\332\216&?\205\300 \306\306'\333	\n\"\210+\212\334\f!\210)\335\336\f`#,\207" [inhibit-field-text-motion beg end allout-recent-depth depth save-match-data-internal t allout-back-to-current-heading beginning-of-line nil allout-end-of-current-subtree 0 1 match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) looking-at "\n" ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) re-search-forward 2 3 - -1 allout-aberrant-container-p "\n\n" allout-annotate-hidden ((byte-code "\203	 \303	\n\"\210\303\207" [buffer-read-only beg end allout-deannotate-hidden] 3)) kill-region allout-renumber-to-depth run-hook-with-args allout-structure-deleted-hook allout-regexp allout-line-boundary-regexp allout-recent-prefix-end allout-recent-prefix-beginning allout-header-subtraction allout-inhibit-aberrance-doublecheck allout-doublecheck-at-and-shallower buffer-read-only inhibit-read-only] 5 (#$ . 137358) nil])
#@70 Like `allout-kill-topic', but save to kill ring instead of deleting.
(defalias 'allout-copy-topic-as-kill #[nil "\301\302\303\304\217)\207" [buffer-read-only t nil (allout-kill-topic) ((buffer-read-only (message "Topic copied...")))] 3 (#$ . 139219) nil])
#@59 Qualify text with properties to indicate exposure status.
(defalias 'allout-annotate-hidden #[(begin end) "\306 \307\310\n\"\210\212\nb\210\307\211\211\211\204\234 \307\311\206' `\312\")\313=\204: `T\314`\312\307$]\203F =\203M \315\211\202 b\210\307\311\206^ `\312\")\313=\204m \315\211\202 \316 \317\f!\211\203 b\210?\205\206 \315\315\315\320\321\f!\322\315$\210+\202 -\323	!*\207" [buffer-read-only was-modified begin end overlay prev buffer-modified-p nil allout-deannotate-hidden get-char-property invisible allout next-single-char-property-change t allout-get-invisibility-overlay overlay-end put-text-property overlay-start allout-was-hidden set-buffer-modified-p next done pos inhibit-field-text-motion inhibit-read-only buffer-undo-list] 7 (#$ . 139482)])
#@61 Remove allout hidden-text annotation between BEGIN and END.
(defalias 'allout-deannotate-hidden #[(begin end) "\210\301\207" [buffer-read-only nil] 1 (#$ . 140309)])
#@76 Translate text properties indicating exposure status into actual exposure.
(defalias 'allout-hide-by-annotation #[(begin end) "\212b\210\306 \307\211\211\204d \310`\311\"\204 \312`\311\307$\n\203) 	\n=\203/ \313\211\202 \nb\210\n\310`\311\"\204A \313\211\202 \312`\311\307$\314\315	\n\307\316$\317\320#\210\321	\n\"\210\n\n\203 \nb\210\202 \322\f!-\207" [begin prev next done was-modified end buffer-modified-p nil get-text-property allout-was-hidden next-single-char-property-change t overlay-put make-overlay front-advance category allout-exposure-category allout-deannotate-hidden set-buffer-modified-p] 7 (#$ . 140482)])
#@716 Incidental allout-specific business to be done just after text yanks.

Does depth adjustment of yanked topics, when:

1 the stuff being yanked starts with a valid outline header prefix, and
2 it is being yanked at the end of a line which consists of only a valid
     topic prefix.

Also, adjusts numbering of subsequent siblings when appropriate.

Depth adjustment alters the depth of all the topics being yanked
the amount it takes to make the first topic have the depth of the
header into which it's being yanked.

The point is left in front of yanked, adjusted topics, rather than
at the end (and vice-versa with the mark).  Non-adjusted yanks,
however, are left exactly like normal, non-allout-specific yanks.
(defalias 'allout-yank-processing #[(&optional arg) "\306\307!`W\203 \310 \210\311 \312\216`n\306\307!\307\313 )\205P \314!\205P \315\225\2062 \316\225\2062 \317\225*\315\224\206@ \316\224\206@ \317\224+\315\320*+,#]-+\211.\206] \n\205] \314!/.\203\252\3070\315\225\204p \315\202t \315\225	Z1-2\321*S*\"3\212b\205\327 l\205\327 	b\205\327 \314!\205\327 \322 \210`	U?\205\327 \314!\205\327 \315\225\206\264 \316\225\206\264 \317\225*\315\224\206\302 \316\224\206\302 \317\224+\315\320*+,#]-+\205\327 -)4\30756/4\203\245\214	}\210db\210\314\323!\2037?\205\373 \307\30708\324\325!\210*5\203A\326 \210\327\307!\204\2127?\205\307\30708\33042Z!\210*\331 \210)o?\2115\203~\210\325u\210	`}\210\202)\332\3333!9\"\203q\322 \2107?\205W\307\30708`	|\210*\306\307!\334\223\210	b\210\335 \210\202\2507?\205x\307\30708`\336`142Z#|\210\314\337!\203\227\324\315!\210\202\212\314\340!\203\241\324\315!\210*\202\250\310 \210./\203\327\212\341\342!\210	b\210\343 \203\3227?\205\303\307\30708\344\334\331 \334\211\307%\210*\341\345!\210)\n\204\340.\203\352\346`\306\307!\"\210\202\361\347\306\307!`\"\210.\204\371\310 \210\350\351	#.\207" [save-match-data-internal subj-beg into-bol subj-end allout-inhibit-aberrance-doublecheck allout-regexp allout-mark-marker t exchange-point-and-mark match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) allout-e-o-prefix-p looking-at 1 2 3 - buffer-substring-no-properties beginning-of-line "^$" delete-char -1 allout-back-to-current-heading allout-ascend allout-rebullet-topic-grunt allout-depth string-match regexp-quote nil allout-end-of-prefix + "[0-9]" " " message "... reconciling numbers" allout-goto-prefix-doublechecked allout-rebullet-heading "" allout-hide-by-annotation allout-deannotate-hidden run-hook-with-args allout-structure-added-hook allout-recent-prefix-end allout-recent-prefix-beginning allout-header-subtraction allout-recent-depth resituate rectify-numbering inhibit-field-text-motion prefix-len subj-depth prefix-bullet adjust-to-depth more allout-numbered-bullet buffer-read-only inhibit-read-only allout-distinctive-bullets-string] 7 (#$ . 141133) "*P"])
#@1110 `allout-mode' yank, with depth and numbering adjustment of yanked topics.

Non-topic yanks work no differently than normal yanks.

If a topic is being yanked into a bare topic prefix, the depth of the
yanked topic is adjusted to the depth of the topic prefix.

  1 we're yanking in an `allout-mode' buffer
  2 the stuff being yanked starts with a valid outline header prefix, and
  3 it is being yanked at the end of a line which consists of only a valid
    topic prefix.

If these conditions hold then the depth of the yanked topics are all
adjusted the amount it takes to make the first one at the depth of the
header into which it's being yanked.

The point is left in front of yanked, adjusted topics, rather than
at the end (and vice-versa with the mark).  Non-adjusted yanks,
however, (ones that don't qualify for adjustment) are handled
exactly like normal yanks.

Numbering of yanked topics, and the successive siblings at the depth
into which they're being yanked, is adjusted.

`allout-yank-pop' works with `allout-yank' just like normal `yank-pop'
works with normal `yank' in non-outline buffers.
(defalias 'allout-yank #[(&optional arg) "\306	?\205 \307\307\306\f!\210*\205 \310 \207" [this-command buffer-read-only inhibit-field-text-motion inhibit-read-only arg allout-mode yank t allout-yank-processing] 2 (#$ . 144101) "*P"])
#@238 Yank-pop like `allout-yank' when popping to bare outline prefixes.

Adapts level of popped topics to level of fresh prefix.

Note -- prefix changes to distinctive bullets will stick, if followed
by pops to non-distinctive yanks.  Bug...
(defalias 'allout-yank-pop #[(&optional arg) "\303\304	!\210\n\205\f \305 \207" [this-command arg allout-mode yank yank-pop allout-yank-processing] 2 (#$ . 145457) "*p"])
#@132 Pop to file associated with current heading, if it has an xref bullet.

(Works according to setting of `allout-file-xref-bullet').
(defalias 'allout-resolve-xref #[nil "\204 \306\307!\207\310 \230\204 \306\311\"\207\312\313\314 \315\216\212\f\313\210`b\210\316\317\312#\2057 \320\224\320\225{-\321	!\322	!\204Y \323	!\203R \324\325\326	\"!\202V \306\327	\"\203` \330\331\332\217\202d \306\333	\"*\207" [allout-file-xref-bullet file-name inhibit-field-text-motion save-match-data-internal allout-recent-prefix-end text-start error "Outline cross references disabled -- no `allout-file-xref-bullet'" allout-current-bullet "Current heading lacks cross-reference bullet `%s'" t nil match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) re-search-forward "\\s-\\(\\S-*\\)" 1 expand-file-name file-exists-p file-writable-p y-or-n-p format "%s not there, create one? " "%s not found and can't be created" failure (find-file-other-window file-name) ((error failure)) "%s not found" heading-end] 4 (#$ . 145873) nil])
#@302 Conceal text between FROM and TO if FLAG is non-nil, else reveal it.

Exposure-change hook `allout-exposure-change-hook' is run with the same
arguments as this function, after the exposure changes are made.  (The old
`allout-view-change-hook' is being deprecated, and eventually will not be
invoked.)
(defalias 'allout-flag-region #[(from to flag) "\304	\305\306$\210\n\203 \307	\310\311$\312\305\306#\210)\313\314!\210\315\316	\n$\207" [from to flag o remove-overlays category allout-exposure-category make-overlay nil front-advance overlay-put run-hooks allout-view-change-hook run-hook-with-args allout-exposure-change-hook] 5 (#$ . 146949)])
#@76 Conceal currently-visible topic's subtree if FLAG non-nil, else reveal it.
(defalias 'allout-flag-current-subtree #[(flag) "\212\302 \210\303\304\210)\305`\306	?!	#)\207" [inhibit-field-text-motion flag allout-back-to-current-heading t nil allout-flag-region allout-end-of-current-subtree] 4 (#$ . 147607)])
#@310 Like `allout-show-current-entry', but reveals entries in hidden topics.

This is a way to give restricted peek at a concealed locality without the
expense of exposing its context, but can leave the outline with aberrant
exposure.  `allout-show-offshoot' should be used after the peek to rectify
the exposure.
(defalias 'allout-show-entry #[nil "\212\303\211\304 \210\303\305\n\206 `\306\")\307=\203 `S\202 `\310 \311	\303#\210	+D\207" [end beg pos nil allout-goto-prefix-doublechecked get-char-property invisible allout allout-pre-next-prefix allout-flag-region] 4 (#$ . 147924) nil])
#@563 If point is visible, show all direct subheadings of this heading.

Otherwise, do `allout-show-to-offshoot', and then show subheadings.

Optional LEVEL specifies how many levels below the current level
should be shown, or all levels if t.  Default is 1.

Optional STRICT means don't resort to -show-to-offshoot, no matter
what.  This is basically so -show-to-offshoot, which is called by
this function, can employ the pure offspring-revealing capabilities of
it.

Returns point at end of subtree that was opened, if any.  (May get a
point of non-opened subtree?)
(defalias 'allout-show-children #[(&optional level strict) "`	\204! \306\307\n\206 `\310\")\311=\203! \312 \210\313\314\"\210\202C\212\315 \210\214\306\2040 \316\202; \314=\203: \306\202; \317!*\320*\"\206\342 *\205\342 \321\322!\205\342 \212\323 \210\324 \325 +\326\216\327,!\203k \316u\210\330-\306\331#\205\300 \316\225\206\200 \332\225\206\200 \333\225.\316\224\206\216 \332\224\206\216 \333\224/\316\334./0#]1/\210/b\210n\204\255 \335u\210\202\243 2\204\275 13X\203\275 \336 \210/b*\205\311 1\fTV)\205\342 \337\340\341\342!\341\343!\344$\205\342 \320*1\fZ\"4b\210	\203\306\307\n\206\363 `\310\")\311=\203\345`\346 \306#\2105\2034@b\210\347 \2104\203A4@b\210\345\212\346 \210`)\350\351\306\314#\210`S\306#\2105\20384@b\210\347 \2104A\2114\204.b)\207" [start-point strict pos level depth chart-level nil get-char-property invisible allout allout-show-to-offshoot allout-show-children t allout-beginning-of-current-line 1 allout-chart-subtree allout-chart-to-reveal called-interactively-p interactive allout-back-to-current-heading allout-current-depth match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) looking-at re-search-forward 0 2 3 - -1 allout-aberrant-container-p message "Discontinuous offspring; use `%s %s'%s." substitute-command-keys "\\[universal-argument]" "\\[allout-shift-out]" " to elevate them." allout-flag-region allout-snug-back allout-show-current-entry search-forward "\n" chart save-match-data-internal allout-regexp allout-line-boundary-regexp allout-recent-prefix-end allout-recent-prefix-beginning allout-header-subtraction allout-recent-depth allout-inhibit-aberrance-doublecheck allout-doublecheck-at-and-shallower to-reveal allout-show-bodies] 7 (#$ . 148526) "p"])
#@143 Like `allout-show-entry', but reveals all concealed ancestors, as well.

Useful for coherently exposing to a random point in a hidden region.
(defalias 'allout-show-to-offshoot #[nil "\212\306`\307 `\310\311V\204\" \312\313\206 `\314\")\315=\203 \312\313\206* `\314\")\315=\203L \316\311!\210\312\313\206> `\314\")\315=\203\" \317u\210\202\" 	`\211U\203n \320 \210\321 \210b\210T\211\311V\203\f \322\323\324\"\210\202\f \310V\203v \310\325 \210\nb\210\202\f b\210.\312\313\206\214 `\314\")\315=\205\226 \326 \207" [bag-it last-at orig-pref orig-pt inhibit-field-text-motion pos t allout-goto-prefix-doublechecked 0 1 nil get-char-property invisible allout move-beginning-of-line -1 beginning-of-line allout-show-current-subtree error "allout-show-to-offshoot: %s" "Stumped by aberrant nesting." allout-show-children allout-show-entry] 6 (#$ . 150896) nil])
#@48 Hide the body directly following this heading.
(defalias 'allout-hide-current-entry #[nil "\301 \210\212\302\303\210)\304`\305 \210`\302#)\207" [inhibit-field-text-motion allout-back-to-current-heading t nil allout-flag-region allout-end-of-entry] 4 (#$ . 151783) nil])
#@77 Show body following current heading, or hide entry with universal argument.
(defalias 'allout-show-current-entry #[(&optional arg) "\203 \301 \207\212\302 \210)\212\303`\304\305!\210`\306#)\207" [arg allout-hide-current-entry allout-show-to-offshoot allout-flag-region allout-end-of-entry t nil] 4 (#$ . 152061) "P"])
#@100 Show everything within the current topic.
With a repeat-count, expose this topic and its siblings.
(defalias 'allout-show-current-subtree #[(&optional arg) "\212\306 \307X\203x \310 \311\216\312	!\203 \313u\210\314\n\315\307#\205b \313\225\206* \316\225\206* \317\225\313\224\2067 \316\224\2067 \317\224\313\320\f#]\f\210\fb\210n\204P \321u\210\202F \204` X\203` \322 \210\fb*\204l \323\324!\202\214 \325\326!\210\327ed\315#\202\214 \330 \210 \204\206 \331\315!\202\214 \332 \210\333\334!)\207" [save-match-data-internal allout-regexp allout-line-boundary-regexp allout-recent-prefix-end allout-recent-prefix-beginning allout-header-subtraction allout-current-depth 0 match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) looking-at 1 re-search-forward nil 2 3 - -1 allout-aberrant-container-p error "No topics" message "Above outermost topic -- exposing all." allout-flag-region allout-beginning-of-current-line allout-flag-current-subtree allout-beginning-of-level allout-expose-topic (* :) allout-recent-depth allout-inhibit-aberrance-doublecheck allout-doublecheck-at-and-shallower arg] 5 (#$ . 152388) "P"])
#@315 True if the currently visible containing topic is already collapsed.

Single line topics intrinsically can be considered as being both
collapsed and uncollapsed.  If optional INCLUDE-SINGLE-LINERS is
true, then single-line topics are considered to be collapsed.  By
default, they are treated as being uncollapsed.
(defalias 'allout-current-topic-collapsed-p #[(&optional include-single-liners) "\303 \304\216\212\305 \210\306\307!\210`\310\311\312!?!Y\205, 	\206, \313u\210\314\315\n\206' `\316\")\317=+\207" [save-match-data-internal include-single-liners pos match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) allout-back-to-current-heading move-end-of-line 1 allout-end-of-current-subtree looking-at "\n\n" -1 nil get-char-property invisible allout] 4 (#$ . 153566)])
#@286 Close the current topic, or containing topic if this one is already closed.

If this topic is closed and it's a top level topic, close this topic
and its siblings.

If optional arg JUST-CLOSE is non-nil, do not close the parent or
siblings, even if the target topic is already closed.
(defalias 'allout-hide-current-subtree #[(&optional just-close) "`\304\305\306!?\211\203 \307\306!\210\2027 \2047 \310 \203# \311 \210\2027 \312b\210\313	!\210\314 \210\315\316!\210\313	\317P!\210b+\207" [from sibs-msg current-exposed just-close "Top-level topic already closed -- closing siblings..." allout-current-topic-collapsed-p t allout-flag-current-subtree allout-ascend allout-hide-current-subtree 0 message allout-goto-prefix-doublechecked allout-expose-topic (0 :) "  Done."] 4 (#$ . 154392) nil])
#@66 Show or hide the current subtree depending on its current state.
(defalias 'allout-toggle-current-subtree-exposure #[nil "\212\301 \210\302 \303\206 `\304\")\305=\203 \306 \202 \307 )\207" [pos allout-back-to-heading point-at-eol get-char-property invisible allout allout-show-current-subtree allout-hide-current-subtree] 3 (#$ . 155198) nil])
#@61 Show all subheadings of this heading, but not their bodies.
(defalias 'allout-show-current-branches #[nil "\301\302 \210)\303\301!\207" [inhibit-field-text-motion t beginning-of-line allout-show-children] 2 (#$ . 155553) nil])
#@61 Hide the bodies of the current topic and all its offspring.
(defalias 'allout-hide-current-leaves #[nil "\300 \210\301`\302 \210`\"\207" [allout-back-to-current-heading allout-hide-region-body allout-end-of-current-subtree] 3 (#$ . 155787) nil])
#@37 Show all of the text in the buffer.
(defalias 'allout-show-all #[nil "\300\301!\210\302ed\303#\210\300\304!\207" [message "Exposing entire buffer..." allout-flag-region nil "Exposing entire buffer...  Done."] 4 (#$ . 156039) nil])
#@37 Hide all of buffer except headings.
(defalias 'allout-hide-bodies #[nil "\300ed\"\207" [allout-hide-region-body] 3 (#$ . 156276) nil])
#@54 Hide all body lines in the region, but not headings.
(defalias 'allout-hide-region-body #[(start end) "\304 \305\216\212\214	\n}\210eb\210\306m?\2053 \307\210\310`\311 \306#\210m\204 \312\313!\203- \314\202. \315u\210\202 -\207" [save-match-data-internal start end inhibit-field-text-motion match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) t nil allout-flag-region allout-end-of-entry looking-at "\n\n" 2 1] 4 (#$ . 156417)])
#@2446 Apply exposure specs to successive outline topic items.

Use the more convenient frontend, `allout-new-exposure', if you don't
need evaluation of the arguments, or even better, the `allout-layout'
variable-keyed mode-activation/auto-exposure feature of allout outline
mode.  See the respective documentation strings for more details.

Cursor is left at start position.

SPEC is either a number or a list.

Successive specs on a list are applied to successive sibling topics.

A simple spec (either a number, one of a few symbols, or the null
list) dictates the exposure for the corresponding topic.

Non-null lists recursively designate exposure specs for respective
subtopics of the current topic.

The `:' repeat spec is used to specify exposure for any number of
successive siblings, up to the trailing ones for which there are
explicit specs following the `:'.

Simple (numeric and null-list) specs are interpreted as follows:

 Numbers indicate the relative depth to open the corresponding topic.
     - negative numbers force the topic to be closed before opening to the
       absolute value of the number, so all siblings are open only to
       that level.
     - positive numbers open to the relative depth indicated by the
       number, but do not force already opened subtopics to be closed.
     - 0 means to close topic -- hide all offspring.
  :  - `repeat'
       apply prior element to all siblings at current level, *up to*
       those siblings that would be covered by specs following the `:'
       on the list.  Ie, apply to all topics at level but the last
       ones.  (Only first of multiple colons at same level is
       respected -- subsequent ones are discarded.)
  *  - completely opens the topic, including bodies.
  +  - shows all the sub headers, but not the bodies
  -  - exposes the body of the corresponding topic.

Examples:
(allout-expose-topic '(-1 : 0))
	Close this and all following topics at current level, exposing
	only their immediate children, but close down the last topic
	at this current level completely.
(allout-expose-topic '(-1 () : 1 0))
	Close current topic so only the immediate subtopics are shown;
	show the children in the second to last topic, and completely
	close the last one.
(allout-expose-topic '(-2 : -1 *))
        Expose children and grandchildren of all topics at current
	level except the last two; expose children of the second to
	last and completely open the last one.
(defalias 'allout-expose-topic #[(spec) "<\205\224\306 \307\310\211\211\203\222\n@A\n\203\n9\203\231 \n\311=\203; \312 \210&\fV\203&\202\n\313=\203i \310'\314'\206K `\315\")\316=\204Y \212\317\320!\210)\321 \210&\fV\203&\202\n\322=\203u \323 \210\202\n\324=\203\320\325 GGZ(\307(W\203\225 \326\327(\"\")\202\n\247\203\347 \307\nY\203\314 \310'\314'\206\256 `\315\")\316=\204\314 \212\317\320!\210\307\nV\204\313 &\fV\203\313 &)\330\n!\307V\203\331\330\n!!\210&\fV\203&\202\n<\203\332T!\203\333\n!\211)\203)\fV\203))	\203\310\202 @<\204 \f`V\203\213d\f^b\210\334 *\335\216\336+!\2031\337u\210\340,\310\307#\205\206\337\225\206F\341\225\206F\342\225-\337\224\206T\341\224\206T\342\224.\337\322-./#]0.\210.b\210n\204s\343u\210\202i1\204\20302X\203\203\344 \210.b*\210\202 \345!\210\202 \f-\207" [spec stay curr-elem prev-elem max-pos depth allout-depth 0 nil * allout-show-current-subtree + get-char-property invisible allout allout-hide-current-subtree t allout-show-current-branches - allout-show-current-entry : allout-chart-siblings append make-list abs allout-show-children allout-descend-to-depth allout-expose-topic match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) looking-at 1 re-search-forward 2 3 -1 allout-aberrant-container-p allout-next-sibling allout-recent-end-of-subtree pos residue got save-match-data-internal allout-regexp allout-line-boundary-regexp allout-recent-prefix-end allout-recent-prefix-beginning allout-header-subtraction allout-recent-depth allout-inhibit-aberrance-doublecheck allout-doublecheck-at-and-shallower] 6 (#$ . 156904) "xExposure spec: "])
#@1458 Deprecated.  Use `allout-expose-topic' (with different schema
format) instead.

Dictate wholesale exposure scheme for current topic, according to SPEC.

SPEC is either a number or a list.  Optional successive args
dictate exposure for subsequent siblings of current topic.

A simple spec (either a number, a special symbol, or the null list)
dictates the overall exposure for a topic.  Non null lists are
composite specs whose first element dictates the overall exposure for
a topic, with the subsequent elements in the list interpreted as specs
that dictate the exposure for the successive offspring of the topic.

Simple (numeric and null-list) specs are interpreted as follows:

 - Numbers indicate the relative depth to open the corresponding topic:
  - negative numbers force the topic to be close before opening to the
    absolute value of the number.
  - positive numbers just open to the relative depth indicated by the number.
  - 0 just closes
 - `*' completely opens the topic, including bodies.
 - `+' shows all the sub headers, but not the bodies
 - `-' exposes the body and immediate offspring of the corresponding topic.

If the spec is a list, the first element must be a number, which
dictates the exposure depth of the topic as a whole.  Subsequent
elements of the list are nested SPECs, dictating the specific exposure
for the corresponding offspring of the topic.

Optional FOLLOWERS arguments dictate exposure for succeeding siblings.
(defalias 'allout-old-expose-topic #[(spec &rest followers) "\306\307 \310\203\251 9\203. \311=\203 \312 \210\313=\203\" \314 \210\315=\203\251 \316 \210\202\251 \247\203d \317Y\203W \212\320\306!\210\310\210\203K `V\203M `\317V\203V [)\317V\203\251 \321!\210\202\251 <\203\251 \307 T\310\322@!A\211\203\250 \323!\203\250 \310\324\206\213 `\325\")\326=\204\250 \327\322\"\211\203\250 \203\246 \fV\203\250 \f*\203\325 \203\275 `W\203\275 b\210\310\310\210\330	!\203\325 \322@!\210A\211\204\256 +\207" [max-pos depth inhibit-field-text-motion spec got new-depth t allout-current-depth nil * allout-show-current-subtree + allout-show-current-branches - allout-show-current-entry 0 allout-hide-current-subtree allout-show-children allout-old-expose-topic allout-descend-to-depth get-char-property invisible allout apply allout-next-sibling pos followers] 4 (#$ . 161093) "xExposure spec: "])
#@934 Literal frontend for `allout-expose-topic', doesn't evaluate arguments.
Some arguments that would need to be quoted in `allout-expose-topic'
need not be quoted in `allout-new-exposure'.

Cursor is left at start position.

Use this instead of obsolete `allout-exposure'.

Examples:
(allout-new-exposure (-1 () () () 1) 0)
	Close current topic at current level so only the immediate
	subtopics are shown, except also show the children of the
	third subtopic; and close the next topic at the current level.
(allout-new-exposure : -1 0)
	Close all topics at current level to expose only their
	immediate children, except for the last topic at the current
	level, in which even its immediate children are hidden.
(allout-new-exposure -2 : -1 *)
        Expose children and grandchildren of first topic at current
	level, and expose children of subsequent topics at current
	level *except* for the last, which should be opened completely.
(defalias 'allout-new-exposure '(macro . #[(&rest spec) "\301\302\303\304DDE\207" [spec save-excursion (if (not (or (allout-goto-prefix-doublechecked) (allout-next-heading))) (error "allout-new-exposure: Can't find any outline topics")) allout-expose-topic quote] 5 (#$ . 163496)]))
#@130 Convert list representing section/subsection/... to document string.

Optional arg CONTEXT indicates interior levels to include.
(defalias 'allout-stringify-flat-index #[(flat-index &optional context) "\306\307\211\203 \310\202\f \311	\312V\203= \313@!A\211\203* \f\nBB\202- \nB\2037 	S\2028 \312\211\202 \314\203k \203h \f\315\316\317@!\203U \311\202Y \320@!!T\321\"BBA\211\204G A\322\323\",\207" [context context-depth numstr result delim flat-index "." nil 2 1 0 int-to-string " " make-string truncate zerop log10 32 apply concat] 6 (#$ . 164720)])
#@70 Convert list representing section/subsection/... to document string.
(defalias 'allout-stringify-flat-index-plain #[(flat-index) "\303\304\n\203 \305\n@!\205 	BB\nA\211\204 \306\307\"*\207" [result delim flat-index "." nil int-to-string apply concat] 4 (#$ . 165306)])
#@70 Convert list representing section/subsection/... to document string.
(defalias 'allout-stringify-flat-index-indented #[(flat-index) "\304\305\211\306@!A\211\203 \n	BB\202 	B\307\203L \203I \n\310\311\312@!\2036 \313\202: \314@!!T\315\"	BBA\211\204( 	A\316\317	\"+\207" [numstr result delim flat-index "." nil int-to-string " " make-string truncate zerop 1 log10 32 apply concat] 6 (#$ . 165591)])
#@926 Produce a list representing exposed topics in current region.

This list can then be used by `allout-process-exposed' to manipulate
the subject region.

Optional START and END indicate bounds of region.

Optional arg, FORMAT, designates an alternate presentation form for
the prefix:

 list -- Present prefix as numeric section.subsection..., starting with
	section indicated by the list, innermost nesting first.
 `indent' (symbol) --  Convert header prefixes to all white space,
		       except for distinctive bullets.

The elements of the list produced are lists that represents a topic
header and body.  The elements of that list are:

 - a number representing the depth of the topic,
 - a string representing the header-prefix, including trailing whitespace and
   bullet.
 - a string representing the bullet character,
 - and a series of strings, each containing one line of the exposed
   portion of the topic entry.
(defalias 'allout-listify-exposed #[(&optional start end format) "\212\306\307\211\307\211\307\211\307\211\307\211 !\307\"#b\210\310 \210\311 #V\2039 \312\313\307#`S{FC\"\204dm\204d`$V\204d%\314&S&\"\314'&\"\315\306!\210` \316\317!?\"%\fW\310 \210`! b\210\307!`V\203\247  \307\210\320 {	B`!W\203\241 \321\317!\210\310 \210` \202\201 	\237(\203\322\323!)\"\205\274 *(<\203\336 \f+\203\323 \324(\"\202\327 \325(!	*F\202\n(\326=\203*\203\372 \f\327\fT\330\"\n\331\307OP	E\202\n\f\327\f\330\"	E\202\n\332\333\334(#)\202\f\n	EB(\2039 (<\2039 \fU\2033(@T(AB(\2029 \fV\203B\317(B(\2029 \fW\203S(A(\fS\202B(@\206Z\331T(AB(\2029 \237.\207" [inhibit-field-text-motion strings prefix result depth new-depth t nil beginning-of-line allout-goto-prefix-doublechecked 0 "" buffer-substring-no-properties allout-end-of-prefix allout-next-visible-heading 1 allout-back-to-visible-text line-move string-match regexp-quote allout-stringify-flat-index allout-stringify-flat-index-plain indent make-string 32 -1 error "allout-listify-exposed: %s %s" "invalid format" out gone-out bullet beg next done start end allout-recent-depth allout-recent-prefix-end allout-recent-prefix-beginning format allout-distinctive-bullets-string special allout-abbreviate-flattened-numbering] 6 (#$ . 166016) "r"])
(defalias 'allout-region-active-p '(macro . #[nil "\300\301!\203 \302\207\300\303!\203 \304\207\305\207" [fboundp use-region-p (use-region-p) region-active-p (region-active-p) mark-active] 2]))
#@995 Map function on exposed parts of current topic; results to another buffer.

All args are options; default values itemized below.

Apply FUNCTION to exposed portions FROM position TO position in buffer
FROMBUF to buffer TOBUF.  Sixth optional arg, FORMAT, designates an
alternate presentation form:

 `flat' -- Present prefix as numeric section.subsection..., starting with
	 section indicated by the START-NUM, innermost nesting first.
 X`flat-indented' -- Prefix is like `flat' for first topic at each
 X		   level, but subsequent topics have only leaf topic
 X		   number, padded with blanks to line up with first.
 `indent' (symbol) --  Convert header prefixes to all white space,
		       except for distinctive bullets.

Defaults:
  FUNCTION:	`allout-insert-listified'
  FROM:		region start, if region active, else start of buffer
  TO:		region end, if region active, else end of buffer
  FROMBUF:	current buffer
  TOBUF:	buffer name derived: "*current-buffer-name exposed*"
  FORMAT:	nil
(defalias 'allout-process-exposed #[(&optional func from to frombuf tobuf format start-num) "\204 \306	\203 \n\204  \307 \203 \310 \311 \202  ed\203B \312!\204D \313!\211\204< \314\315\316Q!\210\202> \f)\202D p\203U \312!\204\\ \317!\202\\ \320\321!\322Q<\203f \237\210q\210\323	\n#q\210\324\"\210\325!)\207" [func from to frombuf got tobuf allout-insert-listified use-region-p region-beginning region-end bufferp get-buffer error "allout-process-exposed: source buffer " " not found." get-buffer-create "*" buffer-name " exposed*" allout-listify-exposed mapc pop-to-buffer format listified] 5 (#$ . 168525)])
#@266 Insert contents of listified outline portion in current buffer.

LISTIFIED is a list representing each topic header and body:

 `(depth prefix text)'

or `(depth prefix text bullet-plus)'

If `bullet-plus' is specified, it is inserted just after the entire prefix.
(defalias 'allout-insert-listified #[(listified) "A\211@A\211@A\211@\211c\210	\203 \304	Pc\210\n\2033 \n@c\210\nA\211\203 \305c\210\202 \305c+\207" [listified bullet-plus text prefix " " "\n"] 4 (#$ . 170172)])
#@744 Duplicate exposed portions of current outline to another buffer.

Other buffer has current buffers name with " exposed" appended to it.

With repeat count, copy the exposed parts of only the current topic.

Optional second arg TOBUF is target buffer name.

Optional third arg FORMAT, if non-nil, symbolically designates an
alternate presentation format for the outline:

 `flat'   - Convert topic header prefixes to numeric
	    section.subsection... identifiers.
 `indent' - Convert header prefixes to all white space, except for
	    distinctive bullets.
 `indent-flat' - The best of both - only the first of each level has
		 the full path, the rest have only the section number
		 of the leaf, preceded by the right amount of indentation.
(defalias 'allout-copy-exposed-to-buffer #[(&optional arg tobuf format) "\204\f \306\307\310 \311Q!`\n\203 \312 \202 e\n\203\" \313 \202# dp\314\315=\203A \n\203> \212b\210\316 )\202? \317rq\210\320 \210)\321\322\fp&\210eb\210\323!\210	b-\207" [tobuf start-pt arg beg end buf get-buffer-create "*" buffer-name " exposed*" allout-back-to-current-heading allout-end-of-current-subtree nil flat allout-topic-flat-index (1) erase-buffer allout-process-exposed allout-insert-listified pop-to-buffer start-list format] 8 (#$ . 170668) "P"])
#@481 Present numeric outline of outline's exposed portions in another buffer.

The resulting outline is not compatible with outline mode -- use
`allout-copy-exposed-to-buffer' if you want that.

Use `allout-indented-exposed-to-buffer' for indented presentation.

With repeat count, copy the exposed portions of only current topic.

Other buffer has current buffer's name with " exposed" appended to
it, unless optional second arg TOBUF is specified, in which case it is
used verbatim.
(defalias 'allout-flatten-exposed-to-buffer #[(&optional arg tobuf) "\302	\303#\207" [arg tobuf allout-copy-exposed-to-buffer flat] 4 (#$ . 171977) "P"])
#@490 Present indented outline of outline's exposed portions in another buffer.

The resulting outline is not compatible with outline mode -- use
`allout-copy-exposed-to-buffer' if you want that.

Use `allout-flatten-exposed-to-buffer' for numeric sectional presentation.

With repeat count, copy the exposed portions of only current topic.

Other buffer has current buffer's name with " exposed" appended to
it, unless optional second arg TOBUF is specified, in which case it is
used verbatim.
(defalias 'allout-indented-exposed-to-buffer #[(&optional arg tobuf) "\302	\303#\207" [arg tobuf allout-copy-exposed-to-buffer indent] 4 (#$ . 172619) "P"])
#@175 Return copy of STRING for literal reproduction across LaTeX processing.
Expresses the original characters (including carriage returns) of the
string across LaTeX processing.
(defalias 'allout-latex-verb-quote #[(string &optional flow) "\301\302\303#\207" [string mapconcat #[(char) "\301>\203 \302\303!\304Q\207\305U\203 \306\207\307!\207" [char (92 36 37 35 38 123 125 95 94 45 42) "\\char" number-to-string "{}" 10 "\\\\" char-to-string] 3] ""] 4 (#$ . 173273)])
#@251 Express line for exact (literal) representation across LaTeX processing.

Adjust line contents so it is unaltered (from the original line)
across LaTeX processing, within the context of a `verbatim'
environment.  Leaves point at the end of the line.
(defalias 'allout-latex-verbatim-quote-curr-line #[nil "\304\305 \210`\306\210`\211b\210\307 \310\216\311\312	\313#\205. \314\224b\210\315c\210	T\314\225Tb\210\202 -\207" [inhibit-field-text-motion end beg save-match-data-internal t beginning-of-line nil match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) re-search-forward "\\\\" 1 2 "\\"] 5 (#$ . 173752)])
#@51 Insert initial LaTeX commands at point in BUFFER.
(defalias 'allout-insert-latex-header #[(buffer) "q\210\306\307\310\"	\203 \311\202 \312\306\313\n\"\306\314\"\306\315\f\"\306\316\"\306\317\320\321)\322%\306\323\324\325\326\327\330*\331&\306\332\333\325\334\335*\331&\336\306\317\337\340+\203P \341\342\343\217\202Q \344!\322\345%\346\347\350,-./012345678\2119876543210/.-,\260c.\207" [buffer allout-number-pages allout-title-style allout-label-style allout-head-line-style allout-body-line-style format "\n\\documentstyle{%s}\n" "report" "\\pagestyle{empty}\n" "" "\\newcommand{\\titlecmd}[1]{{%s #1}}\n" "\\newcommand{\\labelcmd}[1]{{%s #1}}\n" "\\newcommand{\\headlinecmd}[1]{{%s #1}}\n" "\\newcommand{\\bodylinecmd}[1]{{%s #1}}\n" "%s%s%s%s" "\\newlength{\\stepsize}\n" "\\setlength{\\stepsize}{" "}\n" "%s%s%s%s%s%s%s" "\\newcommand{\\OneHeadLine}[3]{%\n" "\\noindent%\n" "\\hspace*{#2\\stepsize}%\n" "\\labelcmd{#1}\\hspace*{.2cm}" "\\headlinecmd{#3}\\\\[" "]\n}\n" "%s%s%s%s%s%s" "\\newcommand{\\OneBodyLine}[2]{%\n" "\\hspace*{#1\\stepsize}%\n" "\\bodylinecmd{#2}\\\\[" "\\begin{document}\n\\begin{center}\n" "\\titlecmd{" allout-latex-verb-quote nil (eval allout-title) ((error "<unnamed buffer>")) "Unnamed Outline" "\\end{center}\n\n" "\\hsize = 7.5 true in\n" "\\hoffset = -1.5 true in\n" "\\vspace{.1cm}\n\n" allout-indent allout-line-skip allout-title vspace hoffset hsize title begindoc onebodyline oneheadline setlength bodylinecmd headlinecmd labelcmd titlecmd page-numbering doc-style] 18 (#$ . 174420)])
#@54 Insert concluding LaTeX commands at point in BUFFER.
(defalias 'allout-insert-latex-trailer #[(buffer) "q\210\301c\207" [buffer "\n\\end{document}\n"] 1 (#$ . 175990)])
#@183 Insert LaTeX commands for formatting one outline item.

Args are the topics numeric DEPTH, the header PREFIX lead string, the
BULLET string, and a list of TEXT strings for the body.
(defalias 'allout-latexify-one-item #[(depth prefix bullet text) "\205 @A\306\211\306\307\310!\311\312	\203# \310	!\202$ \313\314\260c\210\n\205\200 \315c\210\n\203l \n@\f\204D \316\317\"\204D \320\f\203\\ \316\321\"\211\203\\ \322O\323\306OQc\210\324 \210\325c\210\nA\211\2044 \f\203u \306\202~ \326u\210\327c\210\330u\210\331c-\207" [text head-line body-lines curr-line body-content bop nil "\\OneHeadLine{\\verb " allout-latex-verb-quote "}{" "}{\\verb " "" "}\n" "\\begin{verbatim}\n" string-match "^\\s-*$" t "\\end{verbatim}" 0 ">" allout-latex-verbatim-quote-curr-line "\n" -1 "\\ " 1 "\\end{verbatim}\n" bullet depth] 8 (#$ . 176167)])
#@254 Format current topics exposed portions to TOBUF for LaTeX processing.
TOBUF defaults to a buffer named the same as the current buffer, but
with "*" prepended and " latex-formed*" appended.

With repeat count, copy the exposed portions of entire buffer.
(defalias 'allout-latexify-exposed #[(arg &optional tobuf) "\204\f \306\307\310 \311Q!`\n\203 e\202 \312 \n\203! d\202# \313 pq\210\314 \210\315!\210db\210\316\317\f%\210db\210\320!\210eb\210\321!\210	b,\207" [tobuf start-pt arg beg end buf get-buffer-create "*" buffer-name " latexified*" allout-back-to-current-heading allout-end-of-current-subtree erase-buffer allout-insert-latex-header allout-process-exposed allout-latexify-one-item allout-insert-latex-trailer pop-to-buffer] 6 (#$ . 177031) "P"])
#@3170 Encrypt clear or decrypt encoded text of visibly-containing topic's contents.

Optional FETCH-PASS universal argument provokes key-pair encryption with
single universal argument.  With doubled universal argument (value = 16),
it forces prompting for the passphrase regardless of availability from the
passphrase cache.  With no universal argument, the appropriate passphrase
is obtained from the cache, if available, else from the user.

Only GnuPG encryption is supported.

*NOTE WELL* that the encrypted text must be ascii-armored.  For gnupg
encryption, include the option ``armor'' in your ~/.gnupg/gpg.conf file.

Both symmetric-key and key-pair encryption is implemented.  Symmetric is
the default, use a single (x4) universal argument for keypair mode.

Encrypted topic's bullet is set to a `~' to signal that the contents of the
topic (body and subtopics, but not heading) is pending encryption or
encrypted.  `*' asterisk immediately after the bullet signals that the body
is encrypted, its' absence means the topic is meant to be encrypted but is
not.  When a file with topics pending encryption is saved, topics pending
encryption are encrypted.  See allout-encrypt-unencrypted-on-saves for
auto-encryption specifics.

*NOTE WELL* that automatic encryption that happens during saves will
default to symmetric encryption -- you must deliberately (re)encrypt key-pair
encrypted topics if you want them to continue to use the key-pair cipher.

Level-one topics, with prefix consisting solely of an `*' asterisk, cannot be
encrypted.  If you want to encrypt the contents of a top-level topic, use
\[allout-shift-in] to increase its depth.

  Passphrase Caching

The encryption passphrase is solicited if not currently available in the
passphrase cache from a recent encryption action.

The solicited passphrase is retained for reuse in a cache, if enabled.  See
`pgg-cache-passphrase' and `pgg-passphrase-cache-expiry' for details.

  Symmetric Passphrase Hinting and Verification

If the file previously had no associated passphrase, or had a different
passphrase than specified, the user is prompted to repeat the new one for
corroboration.  A random string encrypted by the new passphrase is set on
the buffer-specific variable `allout-passphrase-verifier-string', for
confirmation of the passphrase when next obtained, before encrypting or
decrypting anything with it.  This helps avoid mistakenly shifting between
keys.

If allout customization var `allout-passphrase-verifier-handling' is
non-nil, an entry for `allout-passphrase-verifier-string' and its value is
added to an Emacs 'local variables' section at the end of the file, which
is created if necessary.  That setting is for retention of the passphrase
verifier across Emacs sessions.

Similarly, `allout-passphrase-hint-string' stores a user-provided reminder
about their passphrase, and `allout-passphrase-hint-handling' specifies
when the hint is presented, or if passphrase hints are disabled.  If
enabled (see the `allout-passphrase-hint-handling' docstring for details),
the hint string is stored in the local-variables section of the file, and
solicited whenever the passphrase is changed.
(defalias 'allout-toggle-current-subtree-encryption #[(&optional fetch-pass) "\212\301 \210\302!)\207" [fetch-pass allout-back-to-current-heading allout-toggle-subtree-encryption] 2 (#$ . 177811) "P"])
#@749 Encrypt clear text or decrypt encoded topic contents (body and subtopics.)

Optional FETCH-PASS universal argument provokes key-pair encryption with
single universal argument.  With doubled universal argument (value = 16),
it forces prompting for the passphrase regardless of availability from the
passphrase cache.  With no universal argument, the appropriate passphrase
is obtained from the cache, if available, else from the user.

Currently only GnuPG encryption is supported, and integration
with gpg-agent is not yet implemented.

**NOTE WELL** that the encrypted text must be ascii-armored.  For gnupg
encryption, include the option ``armor'' in your ~/.gnupg/gpg.conf file.

See `allout-toggle-current-subtree-encryption' for more details.
(defalias 'allout-toggle-subtree-encryption #[(&optional fetch-pass) "\212\306\307!\210\310U\203 \311\312!\210p\n`d\fU\203 \311\313!\210\314 \315\316\317\307#\205< \320u\210\317,\321,\2067 `\322\")\323=-`T.\324 /\325./\"0/Sf1/f20\326\230\204g 0\316\230\205s \311\327\203q \330\202r \331\"3\203\200 \3320!\206\214 4\333\235\203\213 \334\202\214 \335\2115@65\2117A@)84\205\245 4\336\23549:\204\316 \337./\"\2119:\232\204\316 \340\341\3429\"!\203\316 \343\3449\"\210\3450p684&3;?\205\344 \307\307<=	q\210./|\2103c\210-\203\346.S`\307#\210\2041\347U\2032\347U\2032c\210\325\fS\f\">\230\2040\fSb\210\350\310!\210>c\210\203>\fb\210\350\310!\210\202D\fb\210\351c\210*\352\353/#.\207" [allout-recent-depth allout-buffer allout-recent-prefix-beginning bullet-pos after-bullet-pos was-encrypted allout-end-of-prefix t 1 error "Cannot encrypt or decrypt level 1 topics - shift it in to make it encryptable" "no body to encrypt" allout-encrypted-topic-p search-forward "\n" nil -1 get-char-property invisible allout allout-end-of-subtree buffer-substring-no-properties "" "No topic contents to %scrypt" "de" "en" allout-encrypted-key-info (4 (4)) (keypair nil) (symmetric nil) (16 (16)) select-safe-coding-system yes-or-no-p format "Register coding system %s as file local var?  Necessary when only encrypted text is in that coding system. " allout-adjust-file-variable "buffer-file-coding-system" allout-encrypt-string allout-flag-region 10 delete-char "*" run-hook-with-args allout-structure-added-hook pos was-collapsed subtree-beg subtree-end subject-text subtree-end-char subtree-trailing-char result-text fetch-pass key-info for-key-type x for-key-identity buffer-file-coding-system was-coding-system buffer-read-only inhibit-field-text-motion inhibit-read-only allout-topic-encryption-bullet] 8 (#$ . 181190) "P"])
#@916 Encrypt or decrypt message TEXT.

If DECRYPT is true (default false), then decrypt instead of encrypt.

FETCH-PASS (default false) forces fresh prompting for the passphrase.

KEY-TYPE, either `symmetric' or `keypair', specifies which type
of cypher to use.

FOR-KEY is human readable identification of the first of the user's
eligible secret keys a keypair decryption targets, or else nil.

Optional RETRIED is for internal use -- conveys the number of failed keys
that have been solicited in sequence leading to this current call.

Optional PASSPHRASE enables explicit delivery of the decryption passphrase,
for verification purposes.

Optional REJECTED is for internal use -- conveys the number of
rejections due to matches against
`allout-encryption-ciphertext-rejection-regexps', as limited by
`allout-encryption-ciphertext-rejection-ceiling'.

Returns the resulting string, or nil if the transformation fails.
(defalias 'allout-encrypt-string #[(text decrypt allout-buffer key-type for-key fetch-pass &optional retried rejected verifying passphrase) "\306\307!\210\310\311!\204 \312\313!\210\314\315\206 	\206 \316\"\226\317\232\205/ \f\206/ \320\321\314\322\n\"!\323\"\317\232\203F \fG\324U\203B \f@\202I \f\202I \325!!\314\326\211\317\232\203Y !\202a \327!\206a !#\"rq\210#)$rq\210%)&'?\205 \330\331!('?\205\212 \330\332!)*\206\222 \333*+*Z,\334\211-./\203\261 0\204\261 \335\"\336\"\210\337\340\215.\f\207" [pgg-scheme pgg-default-scheme scheme key-type for-key allout-buffer require pgg fboundp pgg-encrypt-symmetric error "Allout encryption depends on a newer version of pgg" format "%s" "GPG" keypair split-string read-string "%s message recipients: " "[ 	,]+" 1 buffer-name "%s-%s" buffer-file-name allout-get-configvar-values allout-encryption-plaintext-sanitization-regexps allout-encryption-ciphertext-rejection-regexps 0 nil pgg-remove-passphrase-from-cache t encryption-failed (byte-code "\204 	\306\232\204 \307\n\f	/0&\310\311!1r1q\210\312\2162c\210\3133!\2104\203B \3144!\2105\204B \315ed4#\2106\203\246 5\204\246 6\3167\2118\203\245 8@\2117<\203g 7@\202i 77<\203z 7\2119A@)\202{ \317:7eb\210\320 ;\321\216\3227\316\323#\203\233 \324:\316\211#\210\202\210 ,8A\2118\204W *	\325\232\203\360 5\203\271 \326ed#\202\276 \327ed#\211<\203\314 \330ed\"\210\2024=\203\331 \331\332\316\"\210\2024\333\323\"\210\334\3355\203\351 \336\202\352 \337\340#\210\20245\204\341\n\316ed%\211<\203\n\330ed\"\210\2024\334\333\323\"\334\342!\"\210\2024\326ed#\211<\203*\330ed\"\210\2024\334\333\323\"\334\343!\"\210\344\345d5\203@\346\202A\345Z\">+>\204s=?\205\333\323\"\210\34725	\n\316/\203j/T\202k\345?=\316&\n\2075\204\311@\316ABB\203\235A\204\235\350B@>\"AB\211AB@\210\202A*\203\311CS\211C\346X\203\265\334\351D\352#\207\34725	\n\316/?T=&\n\2075\204\332\350\353>\"\203\332\334\354!\207=\204\345	\325\232\204\370=\204\3575\203\365\355\323#\210>\207q\210\203\355\323#\210\356\n#\210>\207" [passphrase key-type for-key target-cache-id target-prompt-id allout-buffer keypair allout-obtain-passphrase generate-new-buffer " *temp*" ((byte-code "\301!\203\n \302!\210\301\207" [#1=#:temp-buffer buffer-name kill-buffer] 2)) set-buffer-multibyte set-buffer-file-coding-system encode-coding-region nil "" match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) re-search-forward t replace-match symmetric pgg-decrypt pgg-encrypt-symmetric pgg-situate-output throw encryption-failed pgg-remove-passphrase-from-cache error "Symmetric-cipher %scryption failed -- %s" "de" "en" "try again with different passphrase" pgg-encrypt "encryption failed" "decryption failed" buffer-substring-no-properties 1 0 allout-encrypt-string string-match "Ciphertext rejected too many times (%s), per `%s'" allout-encryption-ciphertext-rejection-regexps "[- ]" "Encryption produced non-armored text, whichconflicts with allout mode -- reconfigure!" pgg-add-passphrase-to-cache allout-update-passphrase-mnemonic-aids retried fetch-pass #1# text multibyte encoding decrypt strip-plaintext-regexps re #2=#:--cl-dolist-temp-- x replacement save-match-data-internal status verifying result-text rejected reject-ciphertext-regexps reject-it regexps rejections-left allout-encryption-ciphertext-rejection-ceiling] 12) target-prompt-id target-cache-id buffer-file-coding-system encoding enable-multibyte-characters multibyte decrypt strip-plaintext-regexps reject-ciphertext-regexps rejected allout-encryption-ciphertext-rejection-ceiling rejections-left result-text status fetch-pass passphrase] 6 (#$ . 183834)])
#@774 Obtain passphrase for a key from the cache or else from the user.

When obtaining from the user, symmetric-cipher passphrases are verified
against either, if available and enabled, a random string that was
encrypted against the passphrase, or else against repeated entry by the
user for corroboration.

FOR-KEY is the key for which the passphrase is being obtained.

CACHE-ID is the cache id of the key for the passphrase.

PROMPT-ID is the id for use when prompting the user.

KEY-TYPE is either `symmetric' or `keypair'.

ALLOUT-BUFFER is the buffer containing the entry being en/decrypted.

RETRIED is the number of this attempt to obtain this passphrase.

FETCH-PASS causes the passphrase to be solicited from the user, regardless
of the availability of a cached copy.
(defalias 'allout-obtain-passphrase #[(for-key cache-id prompt-id key-type allout-buffer retried fetch-pass) "\306\232\204' \307\310\311\310\312	\206 \n\206 \313\"\226\203! \310\314\"\202\" \315#\f\316#\207rq\210#\315\230\204M $\317\232\204E $\320\232\203M %\203M \310\321#\"\202N \315&%\203] \310\322%\"\202^ \315'\310\323'#(\310\324&'$\211)*\325 +,?\205\203 \326\f\316\"\211-\206\217 \307)\f\316#.\327/.\203\331 \330.!.+\203\312 \331\213\210/\204\331 \332\333!\203\276 \334\f\316\"\210(*\202\331 \334\f\316\"\210\335\336!\210\202\331 ,\204\324 -\204\331 \334\f\316\"\210/\204\350 \307*\337P\f\316#/./\232\203\365 /\202\332\340!\203%\203%T\202\341%\334\f\316\"\210\307(\f\316#\202\334\f\316\"\210\335\342!.\n\207" [key-type pgg-scheme pgg-default-scheme prompt-id cache-id allout-buffer symmetric pgg-read-passphrase format "%s passphrase%s: " "%s" "GPG" " for %s" "" t always needed " [%s]" " (%s retry)" "'%s' symmetric passphrase%s: " "'%s' symmetric passphrase%s%s: " allout-get-encryption-passphrase-verifier pgg-read-passphrase-from-cache nil copy-sequence ((byte-code "\305\306	\307\n\310\311\211\312\313!&\n\203 \314\315\"\310\207" [verifier-string allout-buffer for-key got-pass confirmation allout-encrypt-string decrypt symmetric nil 0 verifying copy-sequence format "%s"] 12)) yes-or-no-p "Passphrase differs from established -- use new one instead? " pgg-remove-passphrase-from-cache error "Wrong passphrase" " ... confirm spelling: " "spelling of original and confirmation differ -- retry? " 1 "Confirmation failed" allout-passphrase-hint-string allout-passphrase-hint-handling retried hint retry-message prompt-sans-hint full-prompt prompt verifier-string fetch-pass cached got-pass confirmation] 8 (#$ . 188534)])
#@57 True if the current topic is encryptable and encrypted.
(defalias 'allout-encrypted-topic-p #[nil "\212\302\303!\210\304`S`\"\230\205 \305 \306\216\307\310!*)\207" [allout-topic-encryption-bullet save-match-data-internal allout-end-of-prefix t buffer-substring-no-properties match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) looking-at "\\*"] 3 (#$ . 191107)])
#@364 Return a pair of the key type and identity of a recipient's secret key.

The key type is one of `symmetric' or `keypair'.

If `keypair', and some of the user's secret keys are among those for which
the message was encoded, return the identity of the first.  Otherwise,
return nil for the second item of the pair.

An error is raised if the text is not encrypted.
(defalias 'allout-encrypted-key-info #[(text) "\306\307!\210\212\310\311!rq\210\312\216	c\210\313ed\"\314\n!\203! \315\202\" \316\317\211\317\316\232\203A \320 \321\n\f\"\211\205? \322!\323!.	D\207" [#1=#:temp-buffer text parsed-armor type secret-keys first-secret-key require pgg-parse generate-new-buffer " *temp*" ((byte-code "\301!\203\n \302!\210\301\207" [#1# buffer-name kill-buffer] 2)) pgg-parse-armor-region pgg-gpg-symmetric-key-p symmetric keypair nil pgg-gpg-lookup-all-secret-keys pgg-gpg-select-matching-key pgg-gpg-lookup-key-owner pgg-gpg-key-id-from-key-owner for-key-owner] 4 (#$ . 191525)])
#@76 Encrypt random message for later validation of symmetric key's passphrase.
(defalias 'allout-create-encryption-passphrase-verifier #[(passphrase) "\304\305!\210\306\307\310\"\211G\310	\nW\203# 	\304\311!TI\210	T\211\202 *\312\313p\314\313\211\310\211&	)\207" [spew i #1=#:--cl-dotimes-temp-- passphrase random t make-string 20 0 254 allout-encrypt-string nil symmetric] 11 (#$ . 192524)])
#@593 Update passphrase verifier and hint strings if necessary.

See `allout-passphrase-verifier-string' and `allout-passphrase-hint-string'
settings.

PASSPHRASE is the passphrase being mnemonicized.

OUTLINE-BUFFER is the buffer of the outline being adjusted.

These are used to help the user keep track of the passphrase they use for
symmetric encryption in the file.

Behavior is governed by `allout-passphrase-verifier-handling',
`allout-passphrase-hint-handling', and also, controlling whether the values
are preserved on Emacs local file variables,
`allout-enable-file-variable-adjustment'.
(defalias 'allout-update-passphrase-mnemonic-aids #[(for-key passphrase outline-buffer) "\306	\n#?\211\205 \307\310\311\312	!#\313\f\205H \203; \314\232\204; \315\316\"\211\230\204; \317\320\"\210\205H \f\317\321\"+\207" [for-key passphrase outline-buffer new-verifier-needed new-verifier-string new-hint allout-verify-passphrase subst-char-in-string 10 1 allout-create-encryption-passphrase-verifier nil disabled read-from-minibuffer "Passphrase hint to jog your memory: " allout-adjust-file-variable "allout-passphrase-hint-string" "allout-passphrase-verifier-string" allout-passphrase-hint-handling allout-passphrase-hint-string allout-passphrase-verifier-handling allout-passphrase-verifier-string] 6 (#$ . 192928)])
#@137 Return text of the encrypt passphrase verifier, unmassaged, or nil if none.

Derived from value of `allout-passphrase-verifier-string'.
(defalias 'allout-get-encryption-passphrase-verifier #[nil "\302\300!\205 \211\205 \303\304\305	#)\207" [allout-passphrase-verifier-string verifier-string boundp subst-char-in-string 1 10] 5 (#$ . 194273)])
#@121 True if passphrase successfully decrypts verifier, nil otherwise.

"Otherwise" includes absence of passphrase verifier.
(defalias 'allout-verify-passphrase #[(key passphrase allout-buffer) "rq\210\304\301!\205  	\205  \305\306 \307\310\n\311\312\211\313&\n\205  \314)\207" [allout-buffer allout-passphrase-verifier-string key passphrase boundp allout-encrypt-string allout-get-encryption-passphrase-verifier decrypt symmetric nil 0 verifying t] 11 (#$ . 194627)])
#@408 Return the point of the next topic pending encryption, or nil if none.

EXCEPT-MARK identifies a point whose containing topics should be excluded
from encryption.  This supports 'except-current mode of
`allout-encrypt-unencrypted-on-saves'.

Such a topic has the `allout-topic-encryption-bullet' without an
immediately following '*' that would mark the topic as being encrypted.  It
must also have content.
(defalias 'allout-next-topic-pending-encryption #[(&optional except-mark) "\306\211\211\307 \310\216\n\204\215 \311\312\313\314\f!\314!#\306\315#\204& \306\315\202= \316\224\211b\210\307 \317\216\320\321!*\203; \322u\210`	\204G \315\211\202\f \323\321!\204U \306\315\211\202\f m\203a \306\315\211\202\f `\324u\210\325 \210`X\204\202 \203\207 X\203\207 `Y\203\207 \306\202 \315\211\203 	\205\223 	b-\207" [content-beg got done save-match-data-internal allout-header-prefix allout-topic-encryption-bullet nil match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) re-search-forward format "\\(\\`\\|\n\\)%s *%s[^*]" regexp-quote t 0 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) looking-at "\n" 1 search-forward -1 allout-end-of-subtree except-mark] 7 (#$ . 195101)])
#@612 Encrypt topics pending encryption except those containing exemption point.

EXCEPT-MARK identifies a point whose containing topics should be excluded
from encryption.  This supports the `except-current' mode of
`allout-encrypt-unencrypted-on-saves'.

If a topic that is currently being edited was encrypted, we return a list
containing the location of the topic and the location of the cursor just
before the topic was encrypted.  This can be used, eg, to decrypt the topic
and exactly resituate the cursor if this is being done as part of a file
save.  See `allout-encrypt-unencrypted-on-saves' for more info.
(defalias 'allout-encrypt-decrypted #[(&optional except-mark) "\306 \307\216\212\310 \311	!\312\211\312\211eb\210\313!\203t \314 \212\315\316!\205X \205X \317\320!\211\205X \312\321\206A `\322\")\323=?\205X 	`Y\205X \324 \205X 	`X)\203f `\n\325\f\n\"Z\326 \210\204 \327\312!\210\202 \204| \327\312!\210\205\204 D.	\207" [save-match-data-internal current-mark current-mark-position was-modified bo-subtree editing-topic match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) point-marker marker-position nil allout-next-topic-pending-encryption buffer-modified-p boundp allout-encrypt-unencrypted-on-saves re-search-forward "$" get-char-property invisible allout allout-end-of-current-subtree count-trailing-whitespace-region allout-toggle-subtree-encryption set-buffer-modified-p editing-point except-mark pos] 5 (#$ . 196391) "p"])
(defalias 'outlinify-sticky 'outlineify-sticky)
#@170 Activate outline mode and establish file var so it is started subsequently.

See doc-string for `allout-layout' and `allout-init' for details on
setup for auto-startup.
(defalias 'outlineify-sticky #[(&optional arg) "\301\302!\210\212eb\210\303 \203 \302\202  \304\305!\210\306c\210\307\310\206 \311\")\207" [allout-layout allout-mode t allout-goto-prefix allout-open-topic 2 "Dummy outline topic header -- see`allout-mode' docstring: `^Hm'." allout-adjust-file-variable "allout-layout" (-1 : 0)] 3 (#$ . 197961) "P"])
#@139 Return data identifying the file-vars section, or nil if none.

Returns a list of the form (BEGINNING-POINT PREFIX-STRING SUFFIX-STRING).
(defalias 'allout-file-vars-section-data #[nil "\304\211\211\212db\210\305\306d\307Ze]\310#\210\311\312\313\304\311#)??\205I `\314Z\315`\312\316\304\311#\2032 \317u\210`\"\315\305\316\304\311#\203A \320u\210`\n\"\n	E,\207" [suffix prefix beg case-fold-search nil search-backward "\n\f" 3000 move t search-forward "Local Variables:" 16 buffer-substring-no-properties "\n" -1 1] 6 (#$ . 198490)])
#@591 Adjust the setting of an Emacs file variable named VARNAME to VALUE.

This activity is inhibited if either `enable-local-variables'
`allout-enable-file-variable-adjustment' are nil.

When enabled, an entry for the variable is created if not already present,
or changed if established with a different value.  The section for the file
variables, itself, is created if not already present.  When created, the
section lines (including the section line) exist as second-level topics in
a top-level topic at the end of the file.

`enable-local-variables' must be true for any of this to happen.
(defalias 'allout-adjust-file-variable #[(varname value) "\205\263 	\205\263 \212\306\307 \310\211\211\2030 @\211A@)\211AA)@\202^ db\210\311\312!\210\313\314!\210\310\210\315c\210\313\312!\210`\316\317\320 \210`\f\"\fb\210\321c\210\313\314!\210\322c\210\fb\210\323 \210\324\325\326R\310\306#\203\231 `\324\325\310\306#\203 \327u\210`\211\nGZ\211V\203\225 |\210+\202\252 \310\210\311\312!\210\312y\210\326Qc\210\330\331 \n#c.\207" [enable-local-variables allout-enable-file-variable-adjustment suffix prefix beg section-data t allout-file-vars-section-data nil open-line 1 allout-open-topic 0 "Local emacs vars.\n" "" buffer-substring-no-properties beginning-of-line "Local variables:\n" "End:\n" allout-show-to-offshoot search-forward "\n" ":" -1 format " %S%s" inhibit-field-text-motion x varname value-beg line-end value-end value] 6 (#$ . 199038)])
#@249 Return a list of values of the symbols in list bound to CONFIGVAR-NAME.

The user is prompted for removal of symbols that are unbound, and they
otherwise are ignored.

CONFIGVAR-NAME should be the name of the configuration variable,
not its value.
(defalias 'allout-get-configvar-values #[(configvar-name) "J\305\211\305\211\2035 \f@\306!\204) \307\310\311#!\203. \312J\"\210\202. J	B\fA\211\204 *\313	!*\207" [configvar-name got configvar-value sym #1=#:--cl-dolist-temp-- nil boundp yes-or-no-p format "%s entry `%s' is unbound -- remove it? " delq reverse] 7 (#$ . 200531)])
#@57 Put the region around topic currently containing point.
(defalias 'allout-mark-topic #[nil "\301\302 \210)\303 \210\304`!\210\305 \210\306 \207" [inhibit-field-text-motion t beginning-of-line allout-goto-prefix-doublechecked push-mark allout-end-of-current-subtree exchange-point-and-mark] 2 (#$ . 201130) nil])
#@141 Solicit (with first arg PROMPT) choice of a character from string STRING.

Optional arg DO-DEFAULTING indicates to accept empty input (CR).
(defalias 'solicit-char-in-string #[(prompt string &optional do-defaulting) "\306	\204K \307\310\n\"\210\311\306\312 )!\313\314	!\f\"\203\" 	\202F \2030 	\315\230\2030 \316\202F 	\317\230\203= \320\321\306\"\202F 	\322\f\316\260\306\211\203 	*\207" [prompt got new-prompt cursor-in-echo-area string do-defaulting nil message "%s" char-to-string read-char string-match regexp-quote "" "" "" signal quit " ...pick from: "] 6 (#$ . 201450)])
#@221 Return a copy of REGEXP with all character escapes stripped out.

Representations of actual backslashes -- '\\\\' -- are left as a
single backslash.

Optional arg SUCCESSIVE-BACKSLASHES is used internally for recursion.
(defalias 'regexp-sans-escapes #[(regexp &optional successive-backslashes) "\302\230\203 \302\207\303H\304U\205 	\203 	T\202 \305\211\203% 	\306U\2031 \303\305O\307\305\310O!P\207\307\305\310O	\"\207" [regexp successive-backslashes "" 0 92 1 2 regexp-sans-escapes nil] 6 (#$ . 202049)])
#@105 Return number of trailing whitespace chars between BEG and END.

If BEG is bigger than END we return 0.
(defalias 'count-trailing-whitespace-region #[(beg end) "	V\203 \304\207\305 \306\216\212b\210\304\307\310	\311#\203& \312\224Tb\210T\202 ,\207" [beg end save-match-data-internal count 0 match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) re-search-forward "[ 	][ 	]*$" t 2] 4 (#$ . 202573)])
#@58 Return a copy of string with all "%" characters doubled.
(defalias 'allout-format-quote #[(string) "\301\302\303\304\"\"\207" [string apply concat mapcar #[(char) "\301U\203 \302\207\303!\207" [char 37 "%%" char-to-string] 2]] 5 (#$ . 203030)])
#@37 Return a list of all atoms in list.
(defalias 'allout-flatten #[(list) "\204 \301\207@:\204 @\302A!B\207\303\302@!\302A!\"\207" [list nil allout-flatten append] 4 (#$ . 203285)])
#@176 Accommodate the different signature for `mark-marker' across Emacsen.

XEmacs takes two optional args, while mainline GNU Emacs does not,
so pass them along when appropriate.
(defalias 'allout-mark-marker #[(&optional force buffer) "\300 \207" [mark-marker] 1 (#$ . 203479)])
(byte-code "\300\301!\204 \302\301\303\"\210\300\304!\204 \302\304\305\"\210\300\306!\204! \302\306\307\"\210\300\310!\204, \302\310\311\"\210\300\312!\2047 \302\312\313\"\210\300\314!\204B \302\314\315\"\210\300\316!\204M \302\316\317\"\210\300\320!\204X \302\320\321\"\210\300\207" [fboundp subst-char-in-string defalias #[(fromchar tochar string &optional inplace) "G	\203\n \202 \306!\307V\203( S\nH\f=\203 \nI\210\202 \n*\207" [string inplace newstr i fromchar tochar copy-sequence 0] 3 "Replace FROMCHAR with TOCHAR in STRING each time it occurs.\nUnless optional argument INPLACE is non-nil, return a new string."] wholenump natnump remove-overlays #[(&optional beg end name val) "\204 e	\204\f d	W\203 	\212\306	\"\307\211\203| @\310\n\f\"=\203u \311\n!W\203^ \312\n!	V\203S \313\314\n!\311\n!#\210\313\n	\312\n!#\210\202u \313\n\311\n!#\210\202u \312\n!	V\203q \313\n	\312\n!#\210\202u \315\n!\210A\211\204\" +\307\207" [beg end o #:--cl-dolist-temp-- name val overlays-in nil overlay-get overlay-start overlay-end move-overlay copy-overlay delete-overlay] 6 "Clear BEG and END of overlays whose property NAME has value VAL.\nOverlays might be moved and/or split.\nBEG and END default respectively to the beginning and end of buffer."] copy-overlay #[(o) "\303\304!\305!\306!#\307!	\203% \310\n	\211A@	\211A@#\210\202 \n*\207" [o props o1 make-overlay overlay-start overlay-end overlay-buffer overlay-properties overlay-put] 5 "Return a copy of overlay O."] add-to-invisibility-spec #[(element) "\302=\203	 \302C	B\211\207" [buffer-invisibility-spec element t] 2 "Add ELEMENT to `buffer-invisibility-spec'.\nSee documentation for `buffer-invisibility-spec' for the kind of elements\nthat can be added."] remove-from-invisibility-spec #[(element) ":\205 \302	\"\211\207" [buffer-invisibility-spec element delete] 3 "Remove ELEMENT from `buffer-invisibility-spec'."] move-beginning-of-line #[(arg) "\204 \303\303U\204 \304\305\306\217\210\307\304x\210o\204B \310`S\311\"\n\312=\203) 	\2022 	\n>\2062 	\n\236)\203B \313`!b\210\307\304x\210\202 \314\315!\207" [arg prop buffer-invisibility-spec 1 nil (byte-code "\301S!\207" [arg line-move] 2) ((error)) "^\n" get-char-property invisible t previous-char-property-change vertical-motion 0] 3 "Move point to beginning of current line as displayed.\n(This disregards invisible newlines such as those\nwhich are part of the text that an image rests on.)\n\nWith argument ARG not nil or 1, move forward ARG - 1 lines first.\nIf point reaches the beginning or end of buffer, it stops there.\nTo ignore intangibility, bind `inhibit-point-motion-hooks' to t." "p"] move-end-of-line #[(arg) "\204 \306\307	?\205z \212\310\307\311\312\217\203G o\204G o\204D \313`S\314\"\f\315=\203/ \2028 \f>\2068 \f\236)\203D \316`!b\210\202 \317u\210`*\211b\210`V\203_ h\320=\203_ \317u\210\202v `V\203t m\204t g\320=\204t \306\202v \315)\202 )\207" [arg done goal-column prop buffer-invisibility-spec newpos 1 nil 0 (byte-code "\301!\206 \302\207" [arg line-move t] 2) ((error)) get-char-property invisible t previous-char-property-change -1 10] 4 "Move point to end of current line as displayed.\n(This disregards invisible newlines such as those\nwhich are part of the text that an image rests on.)\n\nWith argument ARG not nil or 1, move forward ARG - 1 lines first.\nIf point reaches the beginning or end of buffer, it stops there.\nTo ignore intangibility, bind `inhibit-point-motion-hooks' to t." "p"]] 3)
#@48 Isearch (regexp) for topic with bullet BULLET.
(defalias 'allout-bullet-isearch #[(&optional bullet) "\204 \305\306\307	!\"\310\311\n\312R\313\314!\210\315\310!*\207" [bullet allout-bullets-string allout-header-prefix isearch-string isearch-regexp solicit-char-in-string "ISearch for topic with bullet: " regexp-sans-escapes t "^" "[ 	]*" isearch-repeat forward isearch-mode] 5 (#$ . 207284) nil])
#@36 Run the various allout unit tests.
(defalias 'allout-run-unit-tests #[nil "\300\301!\210\302 \210\300\303!\210\304\305!\207" [message "Running allout tests..." allout-test-resumptions "Running allout tests...  Done." sit-for 0.5] 2 (#$ . 207694)])
#@39 Completely unbind variable with NAME.
(defalias 'allout-tests-obliterate-variable #[(name) "\301!\203\n \302!\210\303!\205 \304!\210\202\n \207" [name local-variable-p kill-local-variable boundp makunbound] 2 (#$ . 207948)])
#@71 Fodder for allout resumptions tests -- defvar just for byte compiler.
(defvar allout-tests-globally-unbound nil (#$ . 208184))
#@71 Fodder for allout resumptions tests -- defvar just for byte compiler.
(defvar allout-tests-globally-true nil (#$ . 208317))
#@71 Fodder for allout resumptions tests -- defvar just for byte compiler.
(defvar allout-tests-locally-true nil (#$ . 208447))
#@30 Exercise allout resumptions.
(defalias 'allout-test-resumptions #[nil "\306\307!rq\210\310\216\311\301!\210\312\313!\210\314\301!\203 \315\316\317C\"\210\320\301!\204* \315\316\321C\"\210\322\301!\2046 \315\316\323C\"\210	\324\232\204B \315\316\325C\"\210\326 \210\320\301!\203Q \315\316\327C\"\210\322\301!\203] \315\316\330C\"\210+\306\307!r\nq\210\331\216\311\303!\210\324\312\332!\210\333\303!\324\232\204\200 \315\316\334C\"\210\320\303!\204\214 \315\316\335C\"\210\336\232\204\230 \315\316\337C\"\210\326 \210\320\303!\203\247 \315\316\340C\"\210\322\303!\204\263 \315\316\341C\"\210\324\232\204\277 \315\316\342C\"\210+\306\307!r\fq\210\343\216\311\305!\210\344\305!\210\324\314\305!\203\336 \345\346!\210\320\305!\204\350 \345\347!\210\312\350!\210\314\305!\203\370 \315\316\351C\"\210\320\305!\204\315\316\352C\"\210\336\232\204\315\316\353C\"\210\326 \210\322\305!\204\315\316\354C\"\210\320\305!\204+\315\316\355C\"\210\324\232\2047\315\316\356C\"\210\314\305!\203C\315\316\357C\"\210+\306\307!@r@q\210\360\216\311\301!\210\311\303!\210\324\311\305!\210\344\305!\210\324\312\361\362\363#\210\312\364\365\366#\210\314\301!\203|\315\316\367C\"\210\320\301!\204\210\315\316\370C\"\210	\371\232\204\224\315\316\372C\"\210\314\303!\204\240\315\316\373C\"\210\320\303!\204\254\315\316\374C\"\210\375\232\204\270\315\316\376C\"\210\314\305!\203\304\315\316\377C\"\210\320\305!\204\322\315\316\201B C\"\210\201C \232\204\342\315\316\201D C\"\210\326 \210\320\301!\203\363\315\316\201E C\"\210\322\301!\203\315\316\201F C\"\210\320\303!\203\315\316\201G C\"\210\322\303!\204\315\316\201H C\"\210\324\232\204+\315\316\201I C\"\210\322\305!\2049\315\316\201J C\"\210\320\305!\204G\315\316\201K C\"\210\324\232\204U\315\316\201L C\"\210\314\305!\203c\315\316\201M C\"\210+\306\307!ArAq\210\201N \216\311\301!\210\311\303!\210\324\311\305!\210\344\305!\210\324\312\201O \201P \201Q #\210\311\301!\210\311\303!\210\311\305!\210\326 +\207" [#1=#:temp-buffer allout-tests-globally-unbound #2=#:temp-buffer allout-tests-globally-true #3=#:temp-buffer allout-tests-locally-true generate-new-buffer " *temp*" ((byte-code "\301!\203\n \302!\210\301\207" [#1# buffer-name kill-buffer] 2)) allout-tests-obliterate-variable allout-add-resumptions (allout-tests-globally-unbound t) default-boundp signal cl-assertion-failed (not (default-boundp 'allout-tests-globally-unbound)) local-variable-p (local-variable-p 'allout-tests-globally-unbound) boundp (boundp 'allout-tests-globally-unbound) t (equal allout-tests-globally-unbound t) allout-do-resumptions (not (local-variable-p 'allout-tests-globally-unbound)) (not (boundp 'allout-tests-globally-unbound)) ((byte-code "\301!\203\n \302!\210\301\207" [#2# buffer-name kill-buffer] 2)) (allout-tests-globally-true nil) default-value (equal (default-value 'allout-tests-globally-true) t) (local-variable-p 'allout-tests-globally-true) nil (equal allout-tests-globally-true nil) (not (local-variable-p 'allout-tests-globally-true)) (boundp 'allout-tests-globally-true) (equal allout-tests-globally-true t) ((byte-code "\301!\203\n \302!\210\301\207" [#3# buffer-name kill-buffer] 2)) make-local-variable error "Test setup mistake -- variable supposed to not have global binding, but it does." "Test setup mistake -- variable supposed to have local binding, but it lacks one." (allout-tests-locally-true nil) (not (default-boundp 'allout-tests-locally-true)) (local-variable-p 'allout-tests-locally-true) (equal allout-tests-locally-true nil) (boundp 'allout-tests-locally-true) (local-variable-p 'allout-tests-locally-true) (equal allout-tests-locally-true t) (not (default-boundp 'allout-tests-locally-true)) ((byte-code "\301!\203\n \302!\210\301\207" [#4=#:temp-buffer buffer-name kill-buffer] 2)) (allout-tests-globally-unbound t) (allout-tests-globally-true nil) (allout-tests-locally-true nil) (allout-tests-globally-unbound 2) (allout-tests-globally-true 3) (allout-tests-locally-true 4) (not (default-boundp 'allout-tests-globally-unbound)) (local-variable-p 'allout-tests-globally-unbound) 2 (equal allout-tests-globally-unbound 2) (default-boundp 'allout-tests-globally-true) (local-variable-p 'allout-tests-globally-true) 3 (equal allout-tests-globally-true 3) (not (default-boundp 'allout-tests-locally-true)) #4# #5=#:temp-buffer (local-variable-p 'allout-tests-locally-true) 4 (equal allout-tests-locally-true 4) (not (local-variable-p 'allout-tests-globally-unbound)) (not (boundp 'allout-tests-globally-unbound)) (not (local-variable-p 'allout-tests-globally-true)) (boundp 'allout-tests-globally-true) (equal allout-tests-globally-true t) (boundp 'allout-tests-locally-true) (local-variable-p 'allout-tests-locally-true) (equal allout-tests-locally-true t) (not (default-boundp 'allout-tests-locally-true)) ((byte-code "\301!\203\n \302!\210\301\207" [#5# buffer-name kill-buffer] 2)) (allout-tests-globally-unbound t) (allout-tests-globally-true nil) (allout-tests-locally-true nil)] 4 (#$ . 208576)])
(byte-code "\203 \301 \210\302\303!\207" [allout-run-unit-tests-on-load allout-run-unit-tests provide allout] 2)
