2008-01-21 Ken Manheimer <ken.manheimer@gmail.com>
* allout.el (allout-keybindings-list): In initial setting, express
meta-prefixed allout keys as vectors instead of strings, since the
string form is interpreted in some cases as composed key
modifiers, eg, accented keys.
(allout-line-boundary-regexp): Clarify description.
(set-allout-regexp): Repair the expressions so that the formfeed
part 1. is identified as one of the top-level groups, and 2. is
included in all the forms, not just the -line-boundary-regexp one.
(allout-prefix-data): Incorporate information from the various
allout regexp's formfeed alternative group, when present.
(allout-write-file-hook-handler): Remove mangling of the error
handling. It was broken in version 1.100, where an `error'
condition-case handler was mistreated as if it was a call to the
error function. A repair attempt in version 1.101 situated the
original body of the error handling code as bogus condition-case
handlers. I've returned to just about the working code that was
originally there, removing an unnecessary - but benign - enclosing
'progn'. Automated or cursory code fixes often aren't.
(allout-region-active-p): Fallback to value of mark-active if
neither use-region-p nor region-active-p are present, for
compatability with current and recent emacs major releases.
2007-10-29 Ken Manheimer <ken.manheimer@gmail.com>
* allout.el (allout-command-prefix, allout-inhibit-auto-fill):
Relocate in file.
(allout-doublecheck-at-and-shallower): Increase to include
slightly greater depths, since yank interaction is now ok. Also,
elaborate the docstring to explain the situation.
(produce-allout-mode-map, allout-hotspot-key-handler): Use vconcat
instead of concat, so we accommodate key sequences expressed as
vectors as well as strings and lists.
(allout-flag-region, allout-hide-by-annotation): Make the
hidden-text overlays 'front-advance.
(allout-overlay-insert-in-front-handler): Correct docstring's
grammar.
(allout-aberrant-container-p, allout-on-current-heading-p)
(allout-e-o-prefix-p, allout-next-heading)
(allout-previous-heading, allout-goto-prefix)
(allout-end-of-prefix, allout-next-sibling-leap)
(allout-next-visible-heading, allout-auto-fill)
(allout-rebullet-heading, allout-kill-line, allout-kill-topic)
(allout-yank-processing, allout-resolve-xref)
(allout-current-topic-collapsed-p, allout-hide-region-body)
(allout-latex-verbatim-quote-curr-line, allout-encrypt-string)
(allout-encrypted-topic-p, allout-next-topic-pending-encryption)
(count-trailing-whitespace-region): Preserve match data, so allout
outline navigation doesn't disrupt other emacs operations.
(allout-beginning-of-line): Retreat to the beginning of the hidden
text, so fields are respected (for submodes that care).
(allout-end-of-line): Preserve mark activation status when
jumping.
(allout-open-topic): Account for opening after a child that
contains a hidden trailing newline. Preserve match data. Run
allout-structure-added-hook
(allout-encrypt-decrypted): Preserve match data.
(allout-toggle-current-subtree-exposure): Add new interactive
function for toggle subtree exposure - suggested by tassilo.
(move-beginning-of-line, move-end-of-line): Don't use
line-move-invisible-p, it's obsolete - substitute the code,
instead.
2007-06-22 Ken Manheimer <ken.manheimer@gmail.com>
* allout.el (allout-doublecheck-at-and-shallower): Re-extended the
doublecheck limit a bit, since it no longer interacts negatively
with yanks (i think). also, elaborated the docstring to actually
describe the situation.
Relocated some of the miscellaneous customization settings to more
specific locations in the outline.
Miscellaneous cosmetic stuff - copyright + 2007, whitespace,
phrasing...
2007-02-20 Ken Manheimer <ken.manheimer@gmail.com>
* allout.el (allout-encrypt-string): Remove inhibition
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.
2006-12-25 Ken Manheimer <ken.manheimer@gmail.com>
* allout.el (allout-encrypt-string): Handle symmetric-key
passphrase caching but leave keypair catching to pgg.
2006-12-22 Ken Manheimer <ken.manheimer@gmail.com>
* allout.el (allout-encrypt-string): Inhibit use of agent within
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.
2006-12-05 Ken Manheimer <ken.manheimer@gmail.com>
* allout.el (allout-doublecheck-at-and-shallower): Clarify
docstring.
(allout-inhibit-aberrance-doublecheck): Rename from
allout-during-yank-processing.
(allout-do-doublecheck): Track allout-inhibit-aberrance-doublecheck
name change.
(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 than that prevailing in the
buffer, offer to preserve the coding system using a file local
var.
2006-11-01 Ken Manheimer <ken.manheimer@gmail.com>
* 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.
2006-10-09 Ken Manheimer <ken.manheimer@gmail.com>
* allout.el (allout-back-to-current-heading): Base on lower-level
routines to get proper disqualification of aberrant topics.
2006-09-29 Stephen Berman <Stephen.Berman@gmx.net>
* allout.el (allout-expose-topic): Rectify implementation of "+"
spec, so that bodies are not exposed with headlines.
2006-09-29 Ken Manheimer <ken.manheimer@gmail.com>
* allout.el (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.
2006-09-18 Ken Manheimer <ken.manheimer@gmail.com>
* allout.el (allout-unprotected): Let inhibit-read-only only when
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.
2006-09-09 Ken Manheimer <ken.manheimer@gmail.com>
* allout.el (allout-regexp, allout-line-boundary-regexp)
(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 soe
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.
2006-08-05 Ken Manheimer <ken.manheimer@gmail.com>
* allout.el (allout-prior-bindings, allout-added-bindings):
Remove, after long deprecation.
(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/de cryption 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.
2006-07-14 Ken Manheimer <ken.manheimer@gmail.com>
* allout.el: (allout-run-unit-tests-on-load): Rectified docstring
grammar.
(allout-beginning-of-current-line): Beware beginning of buffer.
Also, simplify a comment.
(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): When escalating to sibling-close,
make sure we're situated on a topic.
2006-07-10 Ken Manheimer <ken.manheimer@gmail.com>
* allout.el: Require 'cl during byte-compilation/interactive load,
for the `assert' macro.
(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.
2006-06-17 Ken Manheimer <ken.manheimer@gmail.com>
* allout.el: (allout-inhibit-auto-fill): New custom configuration
variable, makes it easy to inhibit allout auto fill in general or
on a buffer-by-buffer basis.
(allout-overlay-preparations): Better name than
allout-set-overlay-category (particularly when i add a few more
overlays).
(allout-next-heading): Fixed bug where it would skip the first
heading if preceded in the buffer by only a blank line. Also,
fixed docstring cut-and-paste error.
(allout-kill-topic): Add collapsed-cue text property within
allout-unprotected.
2006-05-11 Ken Manheimer <ken.manheimer@gmail.com>
* 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.
2006-05-12 Ken Manheimer <ken.manheimer@gmail.com>
* allout.el: (allout-view-change-hook): Mark 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.
2006-04-17 Ken Manheimer <ken.manheimer@gmail.com>
* allout.el: Remove local autoload declaration for
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.
2006-04-26 Stefan Monnier <monnier@iro.umontreal.ca>
* allout.el (allout-layout, allout-passphrase-verifier-string)
(allout-passphrase-hint-string): Tighten up a bit the safety predicate.
2006-03-14 Ken Manheimer <ken.manheimer@gmail.com>
* allout.el: Increment version to 2.2.1 in file commentary.
(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.
2006-03-03 Ken Manheimer <ken.manheimer@gmail.com>
* allout.el: Restablish intermediate missing comment header to
preserve outline structure.
(allout-beginning-of-current-entry): Skip invisible text.
(allout-open-topic): Fix opening a topic at end-of-buffer.
(allout-minor-mode): Move nearer to allout-mode function.
2006-02-17 Eli Zaretskii <eliz@gnu.org>
* allout.el (allout-hidden-p): Move this defsubst before
allout-overlay-interior-modification-handler, where it is first
used.
2006-02-17 Ken Manheimer <ken.manheimer@gmail.com>
* allout.el: Use allout invisible-text overlays instead of
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.
2005-12-02 Ken Manheimer <ken.manheimer@gmail.com>
* allout.el (eval-when-compile): Remove unnecessary load of cl.
Add fset of allout-real-isearch-abort during compile to fix
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.
2005-10-23 Ken Manheimer <ken.manheimer@gmail.com>
* allout.el: 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): Remove.
(allout-passphrase-verifier-handling)
(allout-passphrase-verifier-string)
(allout-file-passphrase-verifier-string)
(allout-passphrase-hint-string): Rename -key- to -passphrase-.
(allout-passphrase-hint-handling): Rename and simplify.
(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 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): Update 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): Remove.
(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)'.
2005-10-20 Ken Manheimer <ken.manheimer@gmail.com>
* allout.el: Add autoloads of crypt++ and mailcrypt routines, all
for encryption functionality.
Move allout customization subgroup from `editing' to `outlines' group.
Fix commentary keywords to legitimate ones.
Update author info (using my current email address, obscurified).
(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 funcs.
(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): Remove.
(allout-flag-region, allout-open-topic): Adjust read-only text.
(allout-open-line-not-read-only): Add to facilitate read-only
text based protection.
(allout-kill-line): Revise to adjust read-only text, clue the
user about the inhibition.
(allout-unprotected): Use 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): Fix retention of body relative hanging
indent during promotion of collapsed bodies.
(allout-open-topic): Make 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): Rename 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): Add 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): Tweak to just respect the first line.
(allout-get-body-text): Add.
(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): Remove 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): Relocate 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).