From: Ken Manheimer <ken.manheimer@gmail.com>
Subject: Fwd: New allout revision, with many fixes and conversion to invisible-text overlays
Date: Mon, 13 Feb 2006 13:08:55 -0500 [thread overview]
Message-ID: <2cd46e7f0602131008pf1df59ela68788bca4a20ba3@mail.gmail.com> (raw)
In-Reply-To: <2cd46e7f0602121357l60ded9b7oc91b0707db2f4c54@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 7305 bytes --]
i sent this reply to rms, should have done a reply-all to cc emacs-devel...
---------- Forwarded message ----------
From: Ken Manheimer <ken.manheimer@gmail.com>
Date: Feb 12, 2006 4:57 PM
Subject: Re: New allout revision, with many fixes and conversion to
invisible-text overlays
To: rms@gnu.org
On 2/12/06, Richard M. Stallman <rms@gnu.org> wrote:
> Could you please provide the ChangeLog text for these changes?
> Then we will install them.
i attached a copy of the ChangeLog (called ChangeLog.txt) to the
original message, along with the patch and the NEWS text. i'll
include the ChangeLog text below, as well.
you can eliminate the chatty description of the changes at the top of
the ChangeLog entry, if you prefer.
thanks!
ken
2006-02-10 Ken Manheimer <ken.manheimer@gmail.com>
This omnibus patch settles some serious bugs and converts allout
to use invisible-text overlays instead of selective display for
concealed text. Overlays eliminate the need for some very kludgy
provisions for dynamic exposure during isearch, undo aggregation,
and discretionary response to attempted edits of concealed text.
Also, lots of general cleanup, including ditching of many
accumulated unused variables.
This version also works out compatability with emacs and XEmacs
21.4.
(allout-version) Incremented, corrected, revised, and refined
module commentary.
(provide 'allout) moved to the bottom, added a require of overlay
(which is needed by some emacs versions).
(allout-encrypt-unencrypted-on-saves): Now defaults to t instead of
'except-current, since i've tamed the behavior
(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 specified the mode map in the docstring
so command-key substitutions resolve properly, and refined the
docstring a lot. Clarified 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, rationalizing the
code i think.
(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 makes
allout-hide-current-subtree's job easier.
(allout-hide-current-subtree): Use new
allout-current-topic-collapsed-p to know when to close the
containing topic.
(allout-post-command-business): Reduced dramatically with
simplification of undo-batching and dynamic isearch exposure
provisions.
(allout-pre-command-business): Also reduced with simplification of
undo-batching and dynamic isearch exposure provisions.
(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): Removed - obsoleted by
switch to overlays for invisible text
(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.
[-- Attachment #2: ChangeLog.txt --]
[-- Type: text/plain, Size: 5687 bytes --]
2006-02-10 Ken Manheimer <ken.manheimer@gmail.com>
This omnibus patch settles some serious bugs and converts allout
to use invisible-text overlays instead of selective display for
concealed text. Overlays eliminate the need for some very kludgy
provisions for dynamic exposure during isearch, undo aggregation,
and discretionary response to attempted edits of concealed text.
Also, lots of general cleanup, including ditching of many
accumulated unused variables.
This version also works out compatability with emacs and XEmacs
21.4.
(allout-version) Incremented, corrected, revised, and refined
module commentary.
(provide 'allout) moved to the bottom, added a require of overlay
(which is needed by some emacs versions).
(allout-encrypt-unencrypted-on-saves): Now defaults to t instead of
'except-current, since i've tamed the behavior
(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 specified the mode map in the docstring
so command-key substitutions resolve properly, and refined the
docstring a lot. Clarified 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, rationalizing the
code i think.
(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 makes
allout-hide-current-subtree's job easier.
(allout-hide-current-subtree): Use new
allout-current-topic-collapsed-p to know when to close the
containing topic.
(allout-post-command-business): Reduced dramatically with
simplification of undo-batching and dynamic isearch exposure
provisions.
(allout-pre-command-business): Also reduced with simplification of
undo-batching and dynamic isearch exposure provisions.
(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): Removed - obsoleted by
switch to overlays for invisible text
(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.
[-- Attachment #3: Type: text/plain, Size: 142 bytes --]
_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel
prev parent reply other threads:[~2006-02-13 18:08 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-02-11 18:56 New allout revision, with many fixes and conversion to invisible-text overlays Ken Manheimer
[not found] ` <E1F8MuS-0006sj-GB@fencepost.gnu.org>
[not found] ` <2cd46e7f0602121357l60ded9b7oc91b0707db2f4c54@mail.gmail.com>
2006-02-13 18:08 ` Ken Manheimer [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2cd46e7f0602131008pf1df59ela68788bca4a20ba3@mail.gmail.com \
--to=ken.manheimer@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).