unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
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

      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).