[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
allout revision, revisited
From: |
Ken Manheimer |
Subject: |
allout revision, revisited |
Date: |
Sat, 5 Aug 2006 14:02:42 -0400 |
here's a revision of the last patch package i sent, a week ago. it
includes everything in that patch (which hasn't yet been applied),
plus a new major fix and some small revisions missed before.
the major fix finally rectifies use of close-comment characters in
major modes, like c's "*/" or mathematica's "*)". they are no longer
mistaken for topic headers (due to the leading "*" asterisk) when
they're at the beginning of the line. it also makes top-level topics
in these modes use the comment-start character. formerly level 1
topic prefixes were problematic, because they defaulted to "*", even
in programming language modes.
this does not disrupt interoperation with outline-mode formatted
outlines, which still will work, and in fact allout-old-style-prefixes
for creating and editing outline-mode formatted outlines was failing,
and has been fixed.
this patch also includes navigation and unnecessary
encryption-passphrase cache-clearing that it did before, as well as
refinement of allout-mode activation/deactivation hooks and thorough
instrumenting of hooks for structural outline edits.
the change log is below and attached. i also attached a new copy of
the NEWS file including the new significant facts, as well as the
patch.
i'm eager for this patch to be applied, as it enables me and others to
develop addons which cooperate intricately with allout activity
without having to change allout.el code, as well as resolving a
significant, long-standing logistical problem.
2006-08-05 Ken Manheimer <address@hidden>
* 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 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.
--
ken
address@hidden
http://myriadicity.net
allout-patch.txt
Description: Text document
ChangeLog-entry.txt
Description: Text document
allout-NEWS.txt
Description: Text document
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- allout revision, revisited,
Ken Manheimer <=