From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ken Manheimer Newsgroups: gmane.emacs.devel Subject: Fwd: New allout revision, with many fixes and conversion to invisible-text overlays Date: Mon, 13 Feb 2006 13:08:55 -0500 Message-ID: <2cd46e7f0602131008pf1df59ela68788bca4a20ba3@mail.gmail.com> References: <2cd46e7f0602111056l5369d2b3i68427da3694ec609@mail.gmail.com> <2cd46e7f0602121357l60ded9b7oc91b0707db2f4c54@mail.gmail.com> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_8287_15012679.1139854135059" X-Trace: sea.gmane.org 1139854185 23297 80.91.229.2 (13 Feb 2006 18:09:45 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 13 Feb 2006 18:09:45 +0000 (UTC) Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Feb 13 19:09:44 2006 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1F8i8T-0001zJ-6w for ged-emacs-devel@m.gmane.org; Mon, 13 Feb 2006 19:09:18 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1F8i8S-0001Ks-GU for ged-emacs-devel@m.gmane.org; Mon, 13 Feb 2006 13:09:16 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1F8i8A-0001Ic-HT for emacs-devel@gnu.org; Mon, 13 Feb 2006 13:08:58 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1F8i89-0001GH-B7 for emacs-devel@gnu.org; Mon, 13 Feb 2006 13:08:57 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1F8i89-0001Fx-6I for emacs-devel@gnu.org; Mon, 13 Feb 2006 13:08:57 -0500 Original-Received: from [66.249.92.192] (helo=uproxy.gmail.com) by monty-python.gnu.org with esmtp (Exim 4.52) id 1F8iCd-00016p-IH for emacs-devel@gnu.org; Mon, 13 Feb 2006 13:13:36 -0500 Original-Received: by uproxy.gmail.com with SMTP id a2so698648ugf for ; Mon, 13 Feb 2006 10:08:55 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=klt7CnNoCJ0xqmAiBbHmHaPcMbRgMt+sc42SJMgEicP6Nn/wYUmyTwiwga0DRGYvRSxorUq0CMZ7PdR4Xz8cCXs0VQFcvpBEog3CYPAZkd6a/deLVIHbd6/i8qxoTFuyPBFJzwhA/dk+jHSD5xqOwFS9+z9ybL9M/xYt+ofEHvw= Original-Received: by 10.66.220.20 with SMTP id s20mr1274525ugg; Mon, 13 Feb 2006 10:08:55 -0800 (PST) Original-Received: by 10.66.248.4 with HTTP; Mon, 13 Feb 2006 10:08:55 -0800 (PST) Original-To: emacs-devel@gnu.org In-Reply-To: <2cd46e7f0602121357l60ded9b7oc91b0707db2f4c54@mail.gmail.com> X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:50470 Archived-At: ------=_Part_8287_15012679.1139854135059 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline i sent this reply to rms, should have done a reply-all to cc emacs-devel... ---------- Forwarded message ---------- From: Ken Manheimer 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 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 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" 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. ------=_Part_8287_15012679.1139854135059 Content-Type: text/plain; name=ChangeLog.txt; charset=us-ascii Content-Transfer-Encoding: 7bit X-Attachment-Id: f_ejn3o23f Content-Disposition: attachment; filename="ChangeLog.txt" 2006-02-10 Ken Manheimer 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" 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. ------=_Part_8287_15012679.1139854135059 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel ------=_Part_8287_15012679.1139854135059--