of gpg-agent, now that pgg-gpg-process-region correctly honors
passed-in passphrase.
(allout-distinctive-bullets-string): Add info about bullet
conventions.
(allout-mode): Add info about distinctive vs plain bullets.
body of let form where encryption happens. Acknowledge non-use of
gpg-agent in docstring.
(allout-toggle-subtree-encryption): Acknowledge non-use of
gpg-agent in docstring.
(allout-ascend): Add an optional argument to preserve
original position of point when unsuccessful. Also, fix a
docstring error.
(allout-yank-processing): Fix depth shift of multiple-topic so yanks
work again, using allout-ascend's new option.
(allout-setup-mode-map): Extracted from allout-mode to initialize
allout-mode-map. Call it on file load, so the mode docstring
substitutions work even if allout mode has not yet been invoked.
(allout-mode): Use new allout-setup-mode-map to track any keybinding
customizations since the map was last processed. Also, refine the
docstring so it's ship-shape for release.
(allout-default-layout, allout-beginning-of-line-cycles)
(allout-distinctive-bullets-string, allout-use-mode-specific-leader)
(allout-encrypt-unencrypted-on-saves, allout-inhibit-auto-fill)
(allout-version, allout-layout, allout-infer-body-reindent)
(allout-infer-header-lead-and-primary-bullet, allout-view-change-hook)
(allout-init, allout-mode, allout-next-heading, allout-chart-subtree)
(allout-previous-heading, allout-goto-prefix-doublechecked)
(allout-current-bullet-pos, allout-next-sibling-leap)
(allout-pre-command-business, allout-encrypted-type-prefix)
(allout-make-topic-prefix, allout-open-topic, allout-rebullet-heading)
(allout-rebullet-topic, allout-rebullet-topic-grunt)
(allout-flag-region, allout-expose-topic, allout-expose-topic)
(allout-old-expose-topic, allout-listify-exposed)
(allout-process-exposed, allout-latex-verb-quote)
(allout-latex-verbatim-quote-curr-line, allout-adjust-file-variable)
(allout-toggle-current-subtree-encryption)
(allout-toggle-subtree-encryption, allout-bullet-isearch):
Remove extraneous open-paren and close paren string escapes.
(allout-inhibit-aberrance-doublecheck): Rename from
allout-during-yank-processing. All callers changed.
(allout-ascend): Provide for unusual case where some topic after
the first in file is at lower depth than the first.
(allout-shift-in): Ensure the offspring of the new containing
topic are exposed.
(allout-encrypt-string): Preserve the coding-system of the text,
according to that of the containing buffer.
(allout-toggle-subtree-encryption): When the text being encrypted
requires a different coding system, offer to preserve the coding
system using a file local var.
* allout.el (allout-during-yank-processing): Cue for inhibiting
aberrance processing during yanks.
(allout-doublecheck-at-and-shallower): Reduce the limit to reduce
the amount of yanked topics that can be aberrant.
(allout-do-doublecheck): Encapsulate this multiply-used recipe in
a function, and supplement with inihibition of doublechecking
during yanks.
(allout-beginning-of-line, allout-next-heading)
(allout-previous-heading, allout-goto-prefix-doublechecked)
(allout-back-to-current-heading, allout-next-visible-heading)
(allout-next-sibling): Use new allout-do-doublecheck function.
(allout-next-sibling): Ensure we made progress when returning
other than nil.
(allout-rebullet-heading): Preserve text property annotations
indicating the text was hidden, if it was.
(allout-kill-line): Remove any added was-hidden annotations.
(allout-kill-topic): Remove any added was-hidden annotations.
(allout-annotate-hidden): Inhibit adding was-hidden text
properties to the undo list.
(allout-deannotate-hidden): New function to remove was-hidden
annotation.
(allout-hide-by-annotation): Use new allout-deannotate-hidden.
(allout-remove-exposure-annotation): Replaced by
allout-deannotate-hidden.
(allout-yank-processing): Signal that yank processing is happening
with allout-during-yank-processing. Also, wrap
allout-unprotected's closer to the text changes, for easier
debugging. We need to inhibit-field-text-motion explicitly, in
lieu of the encompassing allout-unprotected.
(outlineify-sticky): Adjust criteria for triggering new outline
decorations to presence or absence of any topics, not just a topic
at the beginning of the buffer.
not exposed with headlines.
(allout-current-depth): Do aberrent check only at or below doublecheck depth.
(allout-chart-subtree): Make it explicit that LEVELS being nil means unlimited
depth. Drop undocumented support for LEVELS value t meaning unlimited depth.
(This is consistent with allout-chart-to-reveal, but contrary to
allout-show-children, which needs to use nil to default to depth of 1.)
(allout-goto-prefix-doublechecked): Wrap long docstring line.
(allout-chart-to-reveal): Be explicit in docstring about meaning of nil LEVELS,
and drop support for LEVELS value t.
(allout-show-children): Translate the level spec used by this routine to that
used by allout-chart-subtree and allout-chart-to-reveal.
(allout-show-to-offshoot): Retry once when stuck, after opening subtree -
improvements in discontinuity handling likely will enable progress.
buffer-read-only isn't set.
(allout-annotate-hidden): Enable topic annotation during copies even
when the buffer is read-only, eg for topic copies. Ensure that the loop
advances, even when the span extends beyond the deletion region.
(allout-toggle-subtree-encryption): Use allout-structure-added-hook
rather than allout-exposure-changed-hook, as a stronger assertion.
(allout-keybindings-list): Add bindings for
allout-copy-line-as-kill and allout-copy-topic-as-kill.
(allout-copy-line-as-kill, allout-copy-topic-as-kill): copy
wrappers for allout-kill-line and allout-kill-topic.
(allout-listify-exposed): Position correctly to accumulate lines.
(allout-bob-regexp): Correct grouping and boundaries to fix backwards traversal.
(allout-depth-specific-regexp, allout-depth-one-regexp): New versions that
exploit \\{M\\} regexp syntax, to avoid geometric or worse time in
allout-ascend.
(allout-doublecheck-at-and-shallower): Identify depth threshold below which
topics are checked for and disqualified by containment discontinuities.
(allout-hotspot-key-handler): Correctly handle multiple-key strokes. Remove
some unused variables.
(allout-mode-leaders): Clarify that mode-specific comment-start will be used
(set-allout-regexp): Correctly regexp-quote allout regexps to properly accept
alternative header-leads and primary bullets with regexp-specific characters
(eg, C "/*", mathematica "(*").
Include new regular expressions among those configured.
(allout-infer-header-lead-and-primary-bullet): Rename allout-infer-header-lead.
(allout-recent-depth): Manifest as a variable as well as a function.
(allout-prefix-data): Simplify into an inline instead of a macro, assuming
current match data rather than being explicitly passed it. Establish
allout-recent-depth value as well as allout-recent-prefix-beginning and
allout-recent-prefix-end.
(allout-aberrant-container-p): True when an item's immediate offspring
discontinuously contained. Useful for disqualifying unintended topic prefixes,
likely at low depths.
(allout-goto-prefix-doublechecked): Elaborated version of allout-goto-prefix
which disqualifies aberrant pseudo-items.
(allout-pre-next-prefix): Layer on top of lower-level routines, to get
disqualification of aberrant containers.
(allout-end-of-prefix, allout-end-of-subtree): Disqualify aberrant containers.
(allout-beginning-of-current-entry): Position at start of buffer when in
container (depth 0) entry.
(nullify-allout-prefix-data): Invalidate allout-recent-* prefix data.
(allout-current-bullet): Strip text properties.
(allout-get-prefix-bullet): Use right match groups.
(allout-beginning-of-line, allout-next-heading): Disqualify aberrant containers.
(allout-previous-heading): Disqualify aberrant containers, and change to
regular (rather than inline) function, to allow self-recursion.
(allout-get-invisibility-overlay): Increment so progress is made when the first
overlay is not the sought one.
(allout-end-of-prefix): Disqualify aberrant containers.
(allout-end-of-line): Cycle something like allout-beginning-of-line.
(allout-mode): Make allout-old-style-prefixes (ie, enabling use with outline.el
outlines) functional again. Change the primary bullet along with the
header-lead - level 1 new-style bullets now work.
Engage allout-before-change-handler in mainline emacs, not just xemacs, to do
undo handling.
(allout-before-change-handler): Expose undo changes occurring in hidden
regions. Use allout-get-invisibility-overlay instead of reimplementing it
inline.
(allout-chart-subtree): Use start rather than end of prefix in charts. Use
allout-recent-depth variable.
(allout-chart-siblings): Disqualify aberrant topics.
(allout-beginning-of-current-entry): Position correctly.
(allout-ascend): Use new allout-depth-specific-regexp and
allout-depth-one-regexp for linear instead of O(N^2) or worse behavior.
(allout-ascend-to-depth): Depend on allout-ascend, rather than reimplementing
an algorithm.
(allout-up-current-level): Depend on allout-ascend, rather than reimplementing
an algorithm. Return to start-point if we fail.
(allout-descend-to-depth): Use allout-recent-depth variable instead of function.
(allout-next-sibling): On traversal of numerous intervening topics, resort to
economical allout-next-sibling-leap.
(allout-next-sibling-leap): Specialized version of allout-next-sibling that
uses allout-ascend cleverly, to depend on a regexp search to leap large numbers
of contained topics, rather than arbitrarily many one-by-one traversals.
(allout-next-visible-heading): Disqualify aberrant topics.
(allout-previous-visible-heading): Position consistently when interactive.
(allout-forward-current-level): Base on allout-previous-sibling rather than
(differently) reimplmenting the algorithm. Remove some unused variables.
(allout-solicit-alternate-bullet): Present default choice stripped of text
properties.
(allout-rebullet-heading): Use bullet stripped of text properties.
Register changes using allout-exposure-change-hook. Disregard aberrant topics.
(allout-shift-in): With universal-argument, make topic a peer of it's former
offspring. Simplify the code by separating out allout-shift-out functionality.
(allout-shift-out): With universal-argument, make offspring peers of their
former container, and its siblings. Implement the functionality here, rather
than inappropriately muddling the implementation of allout-shift-in.
(allout-rebullet-topic): Respect additional argument for new parent-child
separation function.
(allout-yank-processing): Use allout-ascend directly.
(allout-show-entry): Disqualify aberrant topics.
(allout-show-children): Handle discontinuous children gracefully, extending the
depth being revealed to expose them and posting a message indicating the
situation.
(allout-show-to-offshoot): Remove obsolete and incorrect comment. Leave cursor
in correct position.
(allout-hide-current-subtree): Use allout-ascend directly. Disqualify aberrant
topics.
(allout-kill-line, allout-kill-topic): Preserve exposure layout in a way that
the yanks can restore it, as used to happen.
(allout-yank-processing): Restore exposure layout as recorded by allout-kill-*,
as used to happen.
(allout-annotate-hidden, allout-hide-by-annotation): New routines for preseving
and restoring exposure layout across kills.
(allout-toggle-subtree-encryption): Run allout-exposure-change-hook.
(allout-encrypt-string): Strip text properties. Rearranged order and
outline-headings for some of the miscellaneous functions.
(allout-resolve-xref): No need to quote the error name in the condition-case
handler section.
(allout-flatten): Classic recursive (and recursively intensive, without
tail-recursion) list-flattener, needed by allout-shift-out when confronted with
discontinuous children.
(allout-bob-regexp): Correct grouping and boundaries to fix
backwards traversal.
(allout-depth-specific-regexp, allout-depth-one-regexp): New
versions that exploit \\{M\\} regexp syntax, to avoid geometric or
worse time in allout-ascend.
(allout-doublecheck-at-and-shallower): Identify depth threshold
below which topics are checked for and disqualified by containment
discontinuities.
(allout-hotspot-key-handler): Correctly handle multiple-key
strokes. Remove some unused variables.
(allout-mode-leaders): Clarify that mode-specific comment-start
will be used
(set-allout-regexp): Correctly regexp-quote allout regexps to
properly accept alternative header-leads and primary bullets with
regexp-specific characters (eg, C "/*", mathematica "(*").
Include new regular expressions among those configured.
(allout-infer-header-lead-and-primary-bullet): Rename
allout-infer-header-lead.
(allout-recent-depth): Manifest as a variable as well as a function.
(allout-prefix-data): Simplify into an inline instead of a macro,
assuming current match data rather than being explicitly passed it.
Establish allout-recent-depth value as well as
allout-recent-prefix-beginning and allout-recent-prefix-end.
(allout-aberrant-container-p): True when an item's immediate
offspring discontinuously contained. Useful for disqualifying
unintended topic prefixes, likely at low depths.
(allout-goto-prefix-doublechecked): Elaborated version of
allout-goto-prefix which disqualifies aberrant pseudo-items.
(allout-end-of-prefix, allout-pre-next-prefix)
(allout-end-of-subtree): Disqualify aberrant containers.
(allout-beginning-of-current-entry): Position at start of buffer
when in container (depth 0) entry.
(nullify-allout-prefix-data): Invalidate allout-recent-* prefix data.
(allout-current-bullet): Strip text properties.
(allout-get-prefix-bullet): Use right match groups.
(allout-beginning-of-line, allout-next-heading): Disqualify
aberrant containers.
(allout-previous-heading): Disqualify aberrant containers.
(allout-get-invisibility-overlay): Increment so progress is made
when the first overlay is not the sought one.
(allout-end-of-prefix): Disqualify aberrant containers.
(allout-end-of-line): Cycle something like allout-beginning-of-line.
(allout-mode): Make allout-old-style-prefixes (ie, enabling use with
outline.el outlines) functional again. Change the primary bullet
along with the header-lead - level 1 new-style bullets now work.
Engage allout-before-change-handler in mainline emacs, not just
xemacs, to do undo handling.
(allout-before-change-handler): Expose undo changes occurring in
hidden regions. Use allout-get-invisibility-overlay instead of
reimplementing it inline.
(allout-chart-subtree): Use start rather than end of prefix in
charts. Use allout-recent-depth variable.
(allout-chart-siblings): Disqualify aberrant topics.
(allout-beginning-of-current-entry): Position correctly.
(allout-ascend): Use new allout-depth-specific-regexp and
allout-depth-one-regexp for linear instead of O(N^2) or worse behavior.
(allout-ascend-to-depth, allout-up-current-level): Depend on
allout-ascend, rather than reimplementing an algorithm.
(allout-descend-to-depth): Use allout-recent-depth var instead of fun.
(allout-next-sibling): On traversal of numerous intervening
topics, resort to economical allout-next-sibling-leap.
(allout-next-sibling-leap): Specialized version of
allout-next-sibling that uses allout-ascend cleverly, to depend on
a regexp search to leap large numbers of contained topics, rather
than arbitrarily many one-by-one traversals.
(allout-next-visible-heading): Disqualify aberrant topics.
(allout-previous-visible-heading): Position consistently when interactive.
(allout-forward-current-level): Base on allout-previous-sibling
rather than reimplmenting the algorithm. Remove unused vars.
(allout-solicit-alternate-bullet): Present default choice stripped
of text properties.
(allout-rebullet-heading): Use bullet stripped of text properties.
Register changes using allout-exposure-change-hook. Disregard
aberrant topics.
(allout-shift-in): With universal-argument, make topic a peer of
it's former offspring. Simplify the code by separating out
allout-shift-out functionality.
(allout-shift-out): With universal-argument, make offspring peers
of their former container, and its siblings. Implement the
functionality here, rather than inappropriately muddling the
implementation of allout-shift-in.
(allout-rebullet-topic): Respect additional argument for new
parent-child separation function.
(allout-yank-processing): Use allout-ascend directly.
(allout-show-entry): Disqualify aberrant topics.
(allout-show-children): Handle discontinuous children gracefully,
extending the depth being revealed to expose them and posting a
message indicating the situation.
(allout-show-to-offshoot): Remove obsolete and incorrect comment.
Leave cursor in correct position.
(allout-hide-current-subtree): Use allout-ascend directly.
Disqualify aberrant topics.
(allout-kill-line, allout-kill-topic): Preserve exposure layout in
a way that the yanks can restore it, as used to happen.
(allout-yank-processing): Restore exposure layout as recorded by
allout-kill-*, as used to happen.
(allout-annotate-hidden, allout-hide-by-annotation): New routines
for preseving and restoring exposure layout across kills.
(allout-toggle-subtree-encryption): Run allout-exposure-change-hook.
(allout-encrypt-string): Strip text properties.
Rearranged order and outline-headings for some of the
miscellaneous functions.
(allout-resolve-xref): No need to quote the error name in the
condition-case handler section.
(allout-flatten): Classic recursive (and recursively intensive,
without tail-recursion) list-flattener, needed by allout-shift-out
when confronted with discontinuous children.
(allout-beginning-of-line-cycles, allout-end-of-line-cycles):
Add customization vars controlling allout-beginning-of-line and
allout-end-of-line conveniences.
(allout-header-prefix, allout-use-mode-specific-leader)
(allout-use-mode-specific-leader, allout-mode-leaders): Revised docstrings.
(allout-infer-header-lead): Change to be an alias for
allout-infer-header-lead-and-primary-bullet.
(allout-infer-header-lead-and-primary-bullet): New version of
allout-infer-header-lead which assigns the primary bullet to the
same as the header lead, when its being changed.
(allout-infer-body-reindent): Apply regexp-quote instead of unconditionally
prepending "\\", so that all literal allout-header-prefix and
allout-primary-bullet strings are properly handled.
(allout-add-resumptions): Add optional qualifier for extending or appending to
existing values, rather than replacing them.
(allout-view-change-hook): Clarify docstring.
(allout-exposure-change-hook): Take explicit arguments, via run-hook-with-args.
(allout-structure-added-hook, allout-structure-deleted-hook)
(allout-structure-shifted-hook): New hooks analogous to
allout-exposure-change-hook for other kinds of structural outline edits.
(allout-encryption-plaintext-sanitization-regexps): New encryption
customization variable, by which cooperating modes can provde massage of the
plaintext without actually being passed it.
(allout-encryption-ciphertext-rejection-regexps)
(allout-encryption-ciphertext-rejection-ceiling): New encryption
customization variables, by which cooperating modes can prohibit rare but
possible ciphertext patterns from fouling their operation, with actually being
passed the ciphertext.
(allout-mode): Run activation and deactivation hooks after the minor-mode
variable has been toggled, to clarify the mode disposition. The new encryption
ciphertext rejection variable is used to ensure that the ciphertext does not
contain text that would be recognized as outline structural elements by allout.
Substite allout-beginning-of-line and allout-end-of-line for conventionall
beginning-of-line and end-of-line bindings. If allout-old-style-prefixes is
non-nil, don't nullify it on mode activation!
(allout-beginning-of-line): Respect `allout-beginning-of-line-cycles'.
(allout-end-of-line): Respect `allout-end-of-line-cycles'.
(allout-chart-subtree): Implement new mode, charting only the visible items in
the subtree, when new 'visible' parameter is non-nil.
(allout-end-of-subtree): Properly handle the last item in the buffer.
(allout-pre-command-business, allout-command-counter): Increment an advertised
counter so that cooperating enhancements can track revisions of items.
(allout-open-topic): Run allout-structure-added-hook with suitable arguments.
(allout-shift-in): Run allout-structure-shifted-hook with suitable arguments.
(allout-shift-out): Fix doubling for negative args and ensure call of
allout-structure-shifted-hook by solely using allout-shift-in.
(allout-kill-line, allout-kill-topic): Run allout-structure-deleted-hook with
suitable arguments.
(allout-yank-processing): Run allout-structure-added-hook with proper arguments.
(allout-yank): Enclose activity in allout-unprotected.
(allout-flag-region): Run allout-exposure-change-hook with suitable arguments,
instead of making the callee infer the arguments.
(allout-encrypt-string): Support
allout-encryption-plaintext-sanitization-regexps,
allout-encryption-ciphertext-rejection-regexps, and
allout-encryption-ciphertext-rejection-ceiling. Indicate correct
en/decryption mode in symmetric encryption failure message.
(allout-obtain-passphrase): Use copy-sequence to get a distinct copy of the
passphrase, and don't zero it or we'll corrupt the stashed copy.
(allout-create-encryption-passphrase-verifier)
(allout-verify-passphrase): Respect the new signature for allout-encrypt-string.
(allout-get-configvar-values): Convenience for getting a configuration variable
value and handling its absence gracefully.
(allout-beginning-of-current-line): Beware beginning of buffer. Also, a
comment is simplified.
(allout-hotspot-key-handler): Only set allout-post-goto-bullet when
appropriate. (This fix enables use for other than bullet-hotspot operation.)
(allout-hide-current-subtree): While escalating to sibling-close, make sure to
situate on a topic.
(allout-mode-deactivate-hook): New hook, is run when allout mode deactivates.
(allout-developer): New allout customization subgroup.
(allout-run-unit-tests-on-load): New allout-developer
customization variable, when true allout unit tests are run towards end of file
load/eval.
(allout-inhibit-auto-fill): Disable auto-fill activity even during
auto-fill-mode.
(allout-resumptions): Removed, to be replaced by...
(allout-add-resumptions): Register variable settings to be reinstated by
`allout-do-resumptions'. The settings are made buffer-local, but the
locality/globality of the suspended setting is restored on resumption.
(allout-do-resumptions): Reinstate all settings suspended using
`allout-add-resumptions'.
(allout-test-resumptions): Unit tests (and intermediate variables) for
resumptions.
(allout-tests-globally-unbound, allout-tests-globally-true)
(allout-tests-locally-true): Intermediate variables for resumptions unit tests.
(allout-overlay-preparations): Replaces `allout-set-overlay-category'.
(allout-exposure-category): Replaces 'allout-overlay-category variable.
(allout-mode): Use `allout-add-resumptions' and `allout-do-resumptions'
instead of retired `allout-resumptions'. For hook functions, use `local'
parameter so hook settings are created and removed as
buffer-local settings. Revise (resumptions) setting auto-fill-function so it
is set only if already active. (The related fill-function settings are all
made in either case, so that activating auto-fill-mode activity will have the
custom allout-mode behaviors (hanging indent on topics, if configured for it).
Also, remove all allout-exposure-category overlays on mode deactivation.
(allout-hotspot-key-handler): New function extracted from
`allout-pre-command-business', so the functionality can be used for other
purposes, eg as a binding in an overlay.
(allout-pre-command-business): Use new `allout-hotspot-key-handler'.
(allout-auto-fill): Respect new `allout-inhibit-auto-fill' customization
variable.
(allout-run-unit-tests): Run the (currently quite small) repertoire of unit
tests. Called just before the provide iff user has customized
`allout-run-unit-tests-on-load' non-nil.
* allout.el (allout-show-bodies, allout-old-style-prefixes)
(allout-stylish-prefixes, allout-numbered-bullet)
(allout-file-xref-bullet, allout-use-hanging-indents): Use simple
predicates to qualify `safe-local-variable' property, when
available, else use equivalent lambda.
(allout-current-topic-collapsed-p): Do the right thing regarding
trailing blank lines.
* allout.el: (allout-view-change-hook): Marked as being deprecated,
to be replaced by `allout-exposure-change-hook'.
(allout-exposure-change-hook): New, replacing
`allout-view-change-hook'.
(allout-flag-region): Run new hook `allout-exposure-change-hook',
in addition to `allout-view-change-hook'.
(allout-show-bodies, allout-old-style-prefixes)
(allout-stylish-prefixes, allout-use-hanging-indents): Quote the
lambda forms to prevent their showing up in variable help
presentations as inscrutable byte-compiled code.
(allout-numbered-bullet, allout-file-xref-bullet, allout-layout):
Use string-or-null-p to qualify safe-local-variable values.
(allout-reindent-bodies): Use memq to qualify matches against
valid safe-local-variable values. Also, quote the lambda as above.
(allout-use-mode-specific-leader): Add missing candidate-value
symbols, use memq, and quote the lambda.
(allout-overlay-interior-modification-handler): Remove unused
variables `msg' and 'opened'.
(allout-hidden-p): Constrain invisibility consideration to allout's
invisibility spec, disregarding invisibility for other reasons.
pgg-gpg-symmetric-key-p, since that's now done in pgg-gpg.el.
(allout-show-bodies, allout-header-prefix, allout-primary-bullet)
(allout-plain-bullets-string, allout-distinctive-bullets-string)
(allout-use-mode-specific-leader, allout-old-style-prefixes)
(allout-stylish-prefixes, allout-numbered-bullet)
(allout-file-xref-bullet, allout-presentation-padding)
(allout-use-hanging-indents, allout-reindent-bodies): Mark as
safe-local-variable with suitable value spec, and add autoload
cookie for loaddefs inclusion. We now use an explicit spec everywhere.
(move-beginning-of-line, move-end-of-line): Repair so these compat
functions now actually resituate the point, when appropriate.
(allout-version): Increment to 2.2.1.
(allout-default-layout): New customization variable, used when the
file lacks a specific allout-layout. Uses allout-layout-type for
recursively nested definition.
(allout-layout-type): Widget defining allout layouts, necessary for
self-recursive definition.
(allout-mode): Incorporate allout-default-layout as fallback for
allout-layout.
(allout-layout): Mark as 'safe-local-variable', and refer mention
fallback to `allout-default-layout' in absence of a specified value.
(allout-passphrase-verifier-string)
(allout-passphrase-hint-string): Mark as 'safe-local-variable'.
(allout-file-passphrase-verifier-string): Obsolete variable, removed.
(allout-get-encryption-passphrase-verifier): Use correct name of
passphrase verifier in docstring.
From Ken Manheimer.
(allout-beginning-of-current-entry): Wasn't skipping invisible text - fixed.
(allout-open-topic): Was failing when opening a topic at end-of-buffer - fixed.
(allout-minor-mode): Moved nearer to allout-mode function.
selective display for concealed text. Also, lots of general
cleanup, and improved compatibility code.
(allout-version) Incremented, corrected, revised, and refined
module commentary.
(provide 'allout): Moved to the bottom, added a require of overlay.
(allout-encrypt-unencrypted-on-saves): Defaults to t instead of
`except-current'.
(allout-write-file-hook-handler): Minimize delay.
(count-trailing-whitespace-region): New function so
auto-encryption of current topic can resituate cursor exactly.
PGP/GPG encryption trims trailing whitespace from lines, which
must be accounted for across encryption then decryption.
(allout-command-prefix): Now defaults to "\C-c<space>" rather than
just plain "\C-c", to avoid intruding on user's keybinding space.
(allout-toggle-current-subtree-encryption): Pass along fetch-pass
parameter, so user request to provide a new password is done.
(allout-outside-normal-auto-fill-function, allout-auto-fill):
Refined mechanism for auto-filling behavior while in allout mode.
(allout-mode): Explicitly specify the mode map in the docstring.
Clarify provision for various write-file hook var names.
Adjusted for invisible-text overlays instead of selective-display.
(allout-depth): Really return 0 if not within any topic. This
rectifies `allout-beginning-of-level' and sequence numbering
errors that occur when cutting and pasting numbered topics.
Changed from a in-line subst to a regular function, as well.
(allout-pre-next-prefix): Renamed from allout-pre-next-preface.
(allout-end-of-subtree, allout-end-of-subtree)
(allout-end-of-entry, allout-end-of-current-heading)
(allout-next-visible-heading, allout-open-topic, allout-show-entry)
(allout-show-children, allout-show-to-offshoot)
(allout-hide-current-entry, allout-show-current-entry): Rectified
handling of trailing blank lines between items.
(allout-line-boundary-regexp, set-allout-regexp, allout-depth)
(allout-current-depth, allout-unprotected, allout-hidden-p)
(allout-on-current-heading-p, allout-listify-exposed)
(allout-chart-subtree, allout-goto-prefix)
(allout-back-to-current-heading, allout-get-body-text)
(allout-snug-back, allout-flag-current-subtree, allout-show-all)
(allout-hide-region-body, allout-toggle-subtree-encryption)
(allout-encrypt-string, allout-encrypted-key-info)
(allout-next-topic-pending-encryption, allout-encrypt-decrypted)
(allout-file-vars-section-data): Adjusted for use with
invisible-text overlays instead of selective-display.
(allout-kill-line, allout-kill-topic, allout-yank-processing):
Reworked for use with invisible text overlays.
(allout-current-topic-collapsed-p): New function.
(allout-hide-current-subtree): Use allout-current-topic-collapsed-p
to know when to close the containing topic.
(allout-pre-command-business, allout-post-command-business):
Simplify undo-batching and dynamic isearch exposure.
(allout-set-overlay-category): New for invisible-text overlays.
Sets properties of allout-overlay-category, used by
allout-flag-region to set invisible-text overlay properties.
(allout-get-invisibility-overlay): Get the first qualifying
invisibility overlay, so we can find the extent of it.
(allout-back-to-visible-text): Get to just before the beginnining
of the current invisibility overlay, if any.
(allout-overlay-insert-in-front-handler)
(allout-overlay-interior-modification-handler)
(allout-before-change-handler, allout-isearch-end-handler): New
functions to handle extraordinary actions affecting concealed
text.
(allout-flag-region): Use overlays instead of selective-display
for invisible text - by inheritence from the properties of
allout-overlay-category in mainline emacs, and applied
property-by-property in xemacs, some recent versions of which
don't inherit the properties from the category. Provisions to
respond to concealed-text edits simplified drastically.
(allout-isearch-rectification, allout-isearch-was-font-lock)
(allout-isearch-expose, allout-enwrap-isearch)
(allout-isearch-abort, allout-pre-was-isearching)
(allout-isearch-prior-pos, allout-isearch-did-quit)
(allout-isearch-dynamic-expose)
(allout-hide-current-entry-completely): Functions deleted.
(allout-undo-aggregation): Explicit undo aggregation no longer
necessary due to transition away from selective-display.
(set-allout-regexp, allout-up-current-level)
(allout-next-visible-heading, allout-forward-current-level)
(allout-open-topic, allout-reindent-body, allout-rebullet-topic)
(allout-kill-line, allout-yank-processing, allout-show-children)
(allout-expose-topic, allout-old-expose-topic)
(allout-listify-exposed, allout-insert-latex-header)
(allout-toggle-subtree-encryption, allout-encrypt-string)
(remove-from-invisibility-spec, allout-hide-current-subtree):
Ditched unused variables.
allout-real-isearch-abort during compile to alleviate unnecessary
byte-compilation warnings.
(allout-mode-p): Move definition of this macro above all uses, or
byte compilation in barren emacs (eg, during emacs build) will
lack the definition.
(allout-mode): Move this variable above any uses, or byte
compilation will fail.
(allout-resolve-xref): Remove use of personal file-reference
function.
(allout-toggle-current-subtree-encryption): Do the current (ie,
visible containing) topic, rather than nearest around point.
Doc fix.
(allout-toggle-subtree-encryption): New function, workhorse that
works on nearest topic containing point.
(allout-encrypt-string): Signal requirement for newer version of pgg.
(allout-resumptions): Doc fix.
rather than RCS $Id$. Remove autoloads for mailcrypt and crypt++.
Require pgg, pgg-gpg during compilation.
(allout-version): Increment version number to 2.1, and use a literal
rather than RCS $Id$.
(allout-default-encryption-scheme): Removed.
(allout-passphrase-verifier-handling): Renamed from
allout-key-verifier-handling.
(allout-passphrase-verifier-string): Renamed from allout-key-verifier-string.
(allout-file-passphrase-verifier-string): Renamed from
allout-file-key-verifier-string.
(allout-enable-file-variable-adjustment): Simplified.
(allout-passphrase-hint-handling): Renamed from
allout-key-hint-handling and simplified.
(allout-passphrase-hint-string): Renamed from allout-key-hint-string.
(allout-init): Use `find-file-hook' if available, otherwise `find-file-hooks'.
(allout-mode): Use `write-file-functions' if available, otherwise
`local-write-file-hooks' and, instead of making auto-save-hook
buffer local, make the write-file-hook activity contingent to allout-mode.
(allout-mode): Use key-binding substitution placeholders in the docstring.
(allout-kill-line): Spell-out kill ring data structure mutation
instead of using byte-compiler-complaint-provoking `pop'.
(allout-insert-listified): Use `insert' rather than `insert-string'
(allout-toggle-current-subtree-encryption): Updated docstring,
adjust to new gpp-based encryption, use new `allout-encrypted-topic-p'.
(allout-encrypt-string): Totally revamped vis new underlying encryption
facilities.
(allout-mc-activate-passwd): Removed.
(allout-obtain-passphrase): New, more or less replaces
allout-mc-activate-passwd.
(allout-encrypted-key-info): More or less replaces allout-encrypted-text-type.
(outlineify-sticky, outlinify-sticky): Add autoload cookie.
(my-mark-marker): Use `(featurep 'xemacs)' to distinguish between Emacs and
XEmacs.
functionality.
allout customization subgroup now positioned in `outlines' group
instead of prior `editing' group.
(allout-encrypt-string, allout-encryption-produce-work-buffer)
(allout-encrypted-topic-p, allout-encrypted-text-type)
(allout-mc-activate-passwd, allout-create-encryption-key-verifier)
(allout-situate-encryption-key-verifier)
(allout-get-encryption-key-verifier, allout-verify-key)
(allout-next-topic-pending-encryption)
(allout-encrypt-decrypted, allout-encrypted-type-prefix): New
functions.
(outline-topic-encryption-bullet, outline-default-encryption-scheme)
(outline-key-verifier-handling, outline-key-hint-handling)
(outline-encrypt-unencrypted-on-saves): New defcustoms.
(allout-file-key-verifier-string, allout-encryption-scheme)
(allout-key-verifier-string, allout-key-hint-string)
(allout-after-save-decrypt): New variables.
(allout-write-file-hook-handler, allout-auto-save-hook-handler)
(allout-after-saves-handler): New hook functions.
(allout-post-command-business): Do allout-after-save-decrypt.
(allout-enable-file-variable-adjustment): Custom var to enable
mechanism for adding and adjusting settings of Emacs file variables.
(allout-adjust-file-variable, allout-file-vars-section-data): New
functions, implement the mechanism.
(outlineify-sticky): Use the file vars mechanism.
(allout-inhibit-protection, allout-during-write-cue)
(allout-override-protect, allout-before-change-protect): Removed.
(allout-flag-region, allout-open-topic): Revised to adjust
read-only text.
(allout-open-line-not-read-only): Added to facilitate read-only
text based protection.
(allout-kill-line): Revised to adjust read-only text, clue the
user about the inhibition.
(allout-unprotected): Robustified with an unwind-protect.
(allout-shift-in, allout-shift-out): Disallow manually shifting a
topic deeper than the offspring depth of the previous topic -
avoiding confusing "containment discontinuities".
(allout-reindent-bodies): Fixed retention of body relative hanging
indent during promotion of collapsed bodies.
(allout-open-topic): Made it easy to open new topic with same
bullet as current topic - topic creation functions provided with
any universal argument provokes now prompt for bullet, defaulting
to the bullet of the previous topic.
(allout-plain-bullets-string, allout-distinctive-bullets-string):
Plain bullet alternates '.' period and ',' comma only. All other
bullets are relegated to special status (but customizable).
(allout-end-of-entry): Renamed from 'allout-end-of-current-entry
since it actually operates w.r.t. most immediately containing
entry, visible or not.
(allout-hide-current-entry, allout-show-current-entry): Use the
revised version.
(allout-old-expose-topic): Solidify deprecation.
(allout-end-of-subtree): Added, so we can span concealed as well
as visible topics.
(allout-end-of-current-subtree): Use `allout-end-of-subtree'.
(allout-end-of-current-heading): Tweaked to just respect the first
line.
(allout-get-body-text): Added.
(allout-ascend-to-depth, allout-ascend): Position at end of prefix
when invoked interactively.
(allout-up-current-level): Use `interactive-p'.
(allout-mode, allout-init): Miscellaneous docstring and
operational refinements, as well as hookups of new encryption stuff.
(allout-beginning-of-current-entry): Now works as advertised.
(allout-end-of-current-entry): Relieved of superfluous
allout-show-entry.
(allout-isearch-rectification): Refine condition for isearching
(allout-isearch-abort, allout-enwrap-isearch).
(allout-flag-region, my-region-active-p): Relocated some macros.
(allout-title): Fallback title is '(buffer-name)', not
non-existing '(current-buffer-name)'.
(subst-char-in-string): Define if absent (for some XEmacs versions).
Corrected commentary 'keywords' to legitimate ones.
Updated comentary author info (using my current email address,
obscurified).
(allout-real-isearch-abort): Function name no longer used.
(allout-mode): Do allout-enwrap-isearch whenever feature is wanted.
(allout-isearch-rectification): isearch-mode always exists.
Don't set allout-isearch-did-quit.
(allout-isearch-expose): Check isearch-mode-end-hook-error, not
allout-isearch-did-quit.
(allout-enwrap-isearch): Just add the hook.
(allout-isearch-abort): Function deleted.
(allout-pre-command-business): Avoid warning.
docstring these arguments meant for internal (recursive) use only.
(allout-char-spec): Comment out (it's not implemented).
(allout-old-expose-topic, allout-exposure): Fix docstring and add obsolescence
declaration.
(allout-flatten-exposed-to-buffer, allout-indented-exposed-to-buffer): Fix typos
in docstring.
(my-mark-marker): Doc fix.
(produce-allout-mode-map, allout-sibling-index, allout-isearch-expose)
(allout-distinctive-bullet, allout-open-topic, allout-reindent-body)
(allout-rebullet-heading, allout-process-exposed, allout-insert-listified)
(allout-latex-verb-quote, allout-insert-latex-header)
(allout-insert-latex-trailer): Make arguments match their use in
docstring.
(allout-primary-bullet, allout-old-style-prefixes, allout-inhibit-protection)
(allout-init, allout-mode, allout-before-change-protect, allout-flag-region):
Use "Emacs" instead of "emacs" in docstrings.
(allout-mode-navigation-menu, allout-mode-misc-menu): New defvars.
(allout-prior-bindings, allout-added-bindings): Defvars deleted.
(allout-init): Use find-file-hook, not find-file-hooks.
(allout-mode): Eliminate Emacs 18 support.
Use write-contents-functions, not local-write-file-hooks.