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: Re: allout bug Date: Thu, 21 Sep 2006 12:51:09 -0400 Message-ID: <2cd46e7f0609210951o11f14256w272ca6915dfb1841@mail.gmail.com> References: <87eju54ayh.fsf@escher.local.home> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_11953_4892202.1158857469882" X-Trace: sea.gmane.org 1158857875 14895 80.91.229.2 (21 Sep 2006 16:57:55 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 21 Sep 2006 16:57:55 +0000 (UTC) Cc: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Sep 21 18:57:49 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 1GQRln-00029n-Cn for ged-emacs-devel@m.gmane.org; Thu, 21 Sep 2006 18:51:30 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GQRlm-00013O-2b for ged-emacs-devel@m.gmane.org; Thu, 21 Sep 2006 12:51:26 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1GQRlZ-00010o-UT for emacs-devel@gnu.org; Thu, 21 Sep 2006 12:51:14 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1GQRlY-0000z5-K9 for emacs-devel@gnu.org; Thu, 21 Sep 2006 12:51:13 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GQRlY-0000yo-El for emacs-devel@gnu.org; Thu, 21 Sep 2006 12:51:12 -0400 Original-Received: from [64.233.184.239] (helo=wr-out-0506.google.com) by monty-python.gnu.org with esmtp (Exim 4.52) id 1GQRp6-0003vf-B7 for emacs-devel@gnu.org; Thu, 21 Sep 2006 12:54:52 -0400 Original-Received: by wr-out-0506.google.com with SMTP id i2so395634wra for ; Thu, 21 Sep 2006 09:51:10 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; b=AVinzx5gvtmM8j8Cqbbn4Cas8YCOIK0dONCkZffcpMhWyhqUZSnose+0zh4hterS6idRKf84nI8MXNTXMCcBnUWmMid+1DTEtb1L5Q2pxB7/Mlo9jq3wVlsziWeOb9XQ3cEb4OkUONzC8jMZjfXhAWQUNPb9VgXn1xggDhsfUKM= Original-Received: by 10.90.54.20 with SMTP id c20mr7521645aga; Thu, 21 Sep 2006 09:51:09 -0700 (PDT) Original-Received: by 10.90.105.4 with HTTP; Thu, 21 Sep 2006 09:51:09 -0700 (PDT) Original-To: "Stephen Berman" In-Reply-To: <87eju54ayh.fsf@escher.local.home> 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:60069 Archived-At: ------=_Part_11953_4892202.1158857469882 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline On 9/21/06, Stephen Berman wrote: > If you call allout-show-current-branches on a heading that contains > subheadings, it raises a "Wrong type argument: number-or-marker-p" > error.[1] You also get this error if you use `+' in an exposure-spec > applied to a heading that contains subheadings. The reason in both > cases is that allout-show-current-branches calls allout-show-children > with argument `t', which is passed to the `levels' argument of > allout-chart-subtree and there barfs on the first numerical comparison > test it hits. I don't know what the best fix for this is, but the > following patch to allout-chart-subtree has worked fine for me so far, > though it looks like an ugly hack: you discovered some incoherence in the way that allout-chart-subtree, allout-chart-to-reveal, and allout-show-children treated their level parameters. i think the right thing is for the two chart routines to treat a nil level parameter as unlimited, but allout-show-children needs to default it to 1, so it needs the value of t to mean unlimited. it used to be that allout-chart-subtree would have the same interpretation of t, but that was never advertised, and i think it's incorrect. among other things, the following (and attached) patch changes the signatures so that the level parameter is treated as described above. i think it rectifies the problem you found, and leaves the specific level settings working properly. (i think your patch might disrupt the latter, but getting the use of the level paramater rational and explicit is worthwhile, in any case.) i'd appreciate if you would try out the new version before anyone commits it to the repository. (my patch includes some other things i've accumulated, including a fix for a rather obsure bug, running of a more suitable allout change hook at one point, and introduction of needed copy-as-kill wrappers for allout-kill-topic and allout-kill-line. i'll detail these properly with a ChangeLog entry once the fix in question is confirmed.) i'm also curious whether your use of the allout-show-current-branches means that you're playing with extending allout? it seems a bit out of the way in typical interactive use. or do you have a binding for it, for interactive use? i just use a repeat count with allout-show-children for that purpose... anyway, thanks for the clear, helpful bug report, and your digging to flesh it out! -- ken ken.manheimer@gmail.com http://myriadicity.net Index: allout.el =================================================================== RCS file: /sources/emacs/emacs/lisp/allout.el,v retrieving revision 1.83 diff -u -u -r1.83 allout.el --- allout.el 16 Sep 2006 10:24:24 -0000 1.83 +++ allout.el 21 Sep 2006 16:38:56 -0000 @@ -698,9 +698,11 @@ ("*" allout-rebullet-current-heading) ("#" allout-number-siblings) ("\C-k" allout-kill-line t) + ("\M-k" allout-copy-line-as-kill t) ("\C-y" allout-yank t) ("\M-y" allout-yank-pop t) ("\C-k" allout-kill-topic) + ("\M-k" allout-copy-topic-as-kill) ; Miscellaneous commands: ;([?\C-\ ] allout-mark-topic) ("@" allout-resolve-xref) @@ -1279,7 +1281,7 @@ ;;;_ > allout-unprotected (expr) (defmacro allout-unprotected (expr) "Enable internal outline operations to alter invisible text." - `(let ((inhibit-read-only t) + `(let ((inhibit-read-only (if (not buffer-read-only) t)) (inhibit-field-text-motion t)) ,expr)) ;;;_ = allout-mode-hook @@ -1693,7 +1695,9 @@ Topic-oriented Killing and Yanking: ---------------------------------- \\[allout-kill-topic] allout-kill-topic Kill current topic, including offspring. -\\[allout-kill-line] allout-kill-line Like kill-line, but reconciles numbering, etc. +\\[allout-copy-topic-as-kill] allout-copy-topic-as-kill Copy current topic, including offspring. +\\[allout-kill-line] allout-kill-line kill-line, attending to outline structure. +\\[allout-copy-line-as-kill] allout-copy-line-as-kill Copy line but don't delete it. \\[allout-yank] allout-yank Yank, adjusting depth of yanked topic to depth of heading if yanking into bare topic heading (ie, prefix sans text). @@ -2087,10 +2091,7 @@ (defun allout-before-change-handler (beg end) "Protect against changes to invisible text. -See allout-overlay-interior-modification-handler for details. - -This before-change handler is used only where modification-hooks -overlay property is not supported." +See allout-overlay-interior-modification-handler for details." (if (and (allout-mode-p) undo-in-progress (allout-hidden-p)) (allout-show-to-offshoot)) @@ -2201,8 +2202,9 @@ (save-excursion (allout-beginning-of-current-line) (and (looking-at allout-regexp) - (not (allout-aberrant-container-p)) - (allout-prefix-data)))) + (allout-prefix-data) + (or (> allout-recent-depth allout-doublecheck-at-and-shallower) + (not (allout-aberrant-container-p)))))) ;;;_ > allout-on-heading-p () (defalias 'allout-on-heading-p 'allout-on-current-heading-p) ;;;_ > allout-e-o-prefix-p () @@ -2328,7 +2330,7 @@ (save-excursion (cond ((and depth (<= depth 0) 0)) - ((or (not depth) (= depth (allout-depth))) + ((or (null depth) (= depth (allout-depth))) (let ((index 1)) (while (allout-previous-sibling allout-recent-depth nil) (setq index (1+ index))) @@ -2504,13 +2506,13 @@ (defun allout-chart-subtree (&optional levels visible orig-depth prev-depth) "Produce a location \"chart\" of subtopics of the containing topic. -Optional argument LEVELS specifies the depth \(relative to start -depth) for the chart. +Optional argument LEVELS specifies a depth limit \(relative to start +depth) for the chart. Null LEVELS means no limit. When optional argument VISIBLE is non-nil, the chart includes only the visible subelements of the charted subjects. -The remaining optional args are not for internal use by the function. +The remaining optional args are for internal use by the function. Point is left at the end of the subtree. @@ -2617,16 +2619,19 @@ "Return a flat list of hidden points in subtree CHART, up to DEPTH. +If DEPTH is nil, include hidden points at any depth. + Note that point can be left at any of the points on chart, or at the start point." (let (result here) - (while (and (or (eq depth t) (> depth 0)) + (while (and (or (null depth) (> depth 0)) chart) (setq here (car chart)) (if (listp here) - (let ((further (allout-chart-to-reveal here (or (eq depth t) - (1- depth))))) + (let ((further (allout-chart-to-reveal here (if (null depth) + depth + (1- depth))))) ;; We're on the start of a subtree - recurse with it, if there's ;; more depth to go: (if further (setq result (append further result))) @@ -4187,6 +4192,14 @@ (allout-next-heading)) (allout-renumber-to-depth depth))) (run-hook-with-args 'allout-structure-deleted-hook depth (point))))) +;;;_ > allout-copy-line-as-kill () +(defun allout-copy-line-as-kill () + "Like allout-kill-topic, but save to kill ring instead of deleting." + (interactive) + (let ((buffer-read-only t)) + (condition-case nil + (allout-kill-line) + (buffer-read-only nil)))) ;;;_ > allout-kill-topic () (defun allout-kill-topic () "Kill topic together with subtopics. @@ -4223,11 +4236,20 @@ (save-excursion (allout-renumber-to-depth depth)) (run-hook-with-args 'allout-structure-deleted-hook depth (point)))) +;;;_ > allout-copy-topic-as-kill () +(defun allout-copy-topic-as-kill () + "Like allout-kill-topic, but save to kill ring instead of deleting." + (interactive) + (let ((buffer-read-only t)) + (condition-case nil + (allout-kill-topic) + (buffer-read-only (message "Topic copied..."))))) ;;;_ > allout-annotate-hidden (begin end) (defun allout-annotate-hidden (begin end) "Qualify text with properties to indicate exposure status." - (let ((was-modified (buffer-modified-p))) + (let ((was-modified (buffer-modified-p)) + (buffer-read-only nil)) (allout-unprotected (remove-text-properties begin end '(allout-was-hidden t))) (save-excursion @@ -4237,8 +4259,10 @@ ;; at or advance to start of next hidden region: (if (not (allout-hidden-p)) (setq next - (next-single-char-property-change (point) - 'invisible nil end))) + (max (1+ (point)) + (next-single-char-property-change (point) + 'invisible + nil end)))) (if (or (not next) (eq prev next)) ;; still not at start of hidden area - must not be any left. (setq done t) @@ -4600,8 +4624,13 @@ (allout-beginning-of-current-line) (save-restriction (let* (depth - (chart (allout-chart-subtree (or level 1))) - (to-reveal (or (allout-chart-to-reveal chart (or level 1)) + ;; translate the level spec for this routine to the ones + ;; used by -chart-subtree and -chart-to-reveal: + (chart-level (cond ((not level) 1) + ((eq level t) nil) + (t level))) + (chart (allout-chart-subtree chart-level)) + (to-reveal (or (allout-chart-to-reveal chart chart-level) ;; interactive, show discontinuous children: (and chart (interactive-p) @@ -5169,7 +5198,8 @@ (allout-back-to-visible-text))) strings)) (when (< (point) next) ; Resume from after hid text, if any. - (line-move 1)) + (line-move 1) + (beginning-of-line)) (setq beg (point))) ;; Accumulate list for this topic: (setq strings (nreverse strings)) @@ -5745,8 +5775,8 @@ ;; Add the is-encrypted bullet qualifier: (goto-char after-bullet-pos) (insert "*")))) - (run-hook-with-args 'allout-exposure-changed-hook - bullet-pos subtree-end nil)))) + (run-hook-with-args 'allout-structure-added-hook + bullet-pos subtree-end)))) ;;;_ > allout-encrypt-string (text decrypt allout-buffer key-type for-key ;;; fetch-pass &optional retried verifying ;;; passphrase) ------=_Part_11953_4892202.1158857469882 Content-Type: text/plain; name=allout-patch.txt; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: base64 X-Attachment-Id: f_esddowuq Content-Disposition: attachment; filename="allout-patch.txt" SW5kZXg6IGFsbG91dC5lbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvc291cmNlcy9lbWFjcy9lbWFj cy9saXNwL2FsbG91dC5lbCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS44MwpkaWZmIC11IC11IC1y MS44MyBhbGxvdXQuZWwKLS0tIGFsbG91dC5lbAkxNiBTZXAgMjAwNiAxMDoyNDoyNCAtMDAwMAkx LjgzCisrKyBhbGxvdXQuZWwJMjEgU2VwIDIwMDYgMTY6Mzg6NTYgLTAwMDAKQEAgLTY5OCw5ICs2 OTgsMTEgQEAKICAgICAgICAgKCIqIiBhbGxvdXQtcmVidWxsZXQtY3VycmVudC1oZWFkaW5nKQog ICAgICAgICAoIiMiIGFsbG91dC1udW1iZXItc2libGluZ3MpCiAgICAgICAgICgiXEMtayIgYWxs b3V0LWtpbGwtbGluZSB0KQorICAgICAgICAoIlxNLWsiIGFsbG91dC1jb3B5LWxpbmUtYXMta2ls bCB0KQogICAgICAgICAoIlxDLXkiIGFsbG91dC15YW5rIHQpCiAgICAgICAgICgiXE0teSIgYWxs b3V0LXlhbmstcG9wIHQpCiAgICAgICAgICgiXEMtayIgYWxsb3V0LWtpbGwtdG9waWMpCisgICAg ICAgICgiXE0tayIgYWxsb3V0LWNvcHktdG9waWMtYXMta2lsbCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA7IE1pc2NlbGxhbmVvdXMgY29tbWFuZHM6CiAJOyhbP1xD LVwgXSBhbGxvdXQtbWFyay10b3BpYykKICAgICAgICAgKCJAIiBhbGxvdXQtcmVzb2x2ZS14cmVm KQpAQCAtMTI3OSw3ICsxMjgxLDcgQEAKIDs7O18gICA+IGFsbG91dC11bnByb3RlY3RlZCAoZXhw cikKIChkZWZtYWNybyBhbGxvdXQtdW5wcm90ZWN0ZWQgKGV4cHIpCiAgICJFbmFibGUgaW50ZXJu YWwgb3V0bGluZSBvcGVyYXRpb25zIHRvIGFsdGVyIGludmlzaWJsZSB0ZXh0LiIKLSAgYChsZXQg KChpbmhpYml0LXJlYWQtb25seSB0KQorICBgKGxldCAoKGluaGliaXQtcmVhZC1vbmx5IChpZiAo bm90IGJ1ZmZlci1yZWFkLW9ubHkpIHQpKQogICAgICAgICAgKGluaGliaXQtZmllbGQtdGV4dC1t b3Rpb24gdCkpCiAgICAgICxleHByKSkKIDs7O18gICA9IGFsbG91dC1tb2RlLWhvb2sKQEAgLTE2 OTMsNyArMTY5NSw5IEBACiAJVG9waWMtb3JpZW50ZWQgS2lsbGluZyBhbmQgWWFua2luZzoKIAkt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBcXFthbGxvdXQta2lsbC10b3BpY10J YWxsb3V0LWtpbGwtdG9waWMJS2lsbCBjdXJyZW50IHRvcGljLCBpbmNsdWRpbmcgb2Zmc3ByaW5n LgotXFxbYWxsb3V0LWtpbGwtbGluZV0JYWxsb3V0LWtpbGwtbGluZQlMaWtlIGtpbGwtbGluZSwg YnV0IHJlY29uY2lsZXMgbnVtYmVyaW5nLCBldGMuCitcXFthbGxvdXQtY29weS10b3BpYy1hcy1r aWxsXQlhbGxvdXQtY29weS10b3BpYy1hcy1raWxsIENvcHkgY3VycmVudCB0b3BpYywgaW5jbHVk aW5nIG9mZnNwcmluZy4KK1xcW2FsbG91dC1raWxsLWxpbmVdCWFsbG91dC1raWxsLWxpbmUJa2ls bC1saW5lLCBhdHRlbmRpbmcgdG8gb3V0bGluZSBzdHJ1Y3R1cmUuCitcXFthbGxvdXQtY29weS1s aW5lLWFzLWtpbGxdCWFsbG91dC1jb3B5LWxpbmUtYXMta2lsbCBDb3B5IGxpbmUgYnV0IGRvbid0 IGRlbGV0ZSBpdC4KIFxcW2FsbG91dC15YW5rXQlhbGxvdXQteWFuawkJWWFuaywgYWRqdXN0aW5n IGRlcHRoIG9mIHlhbmtlZCB0b3BpYyB0bwogCQkJCWRlcHRoIG9mIGhlYWRpbmcgaWYgeWFua2lu ZyBpbnRvIGJhcmUgdG9waWMKIAkJCQloZWFkaW5nIChpZSwgcHJlZml4IHNhbnMgdGV4dCkuCkBA IC0yMDg3LDEwICsyMDkxLDcgQEAKIChkZWZ1biBhbGxvdXQtYmVmb3JlLWNoYW5nZS1oYW5kbGVy IChiZWcgZW5kKQogICAiUHJvdGVjdCBhZ2FpbnN0IGNoYW5nZXMgdG8gaW52aXNpYmxlIHRleHQu CiAKLVNlZSBhbGxvdXQtb3ZlcmxheS1pbnRlcmlvci1tb2RpZmljYXRpb24taGFuZGxlciBmb3Ig ZGV0YWlscy4KLQotVGhpcyBiZWZvcmUtY2hhbmdlIGhhbmRsZXIgaXMgdXNlZCBvbmx5IHdoZXJl IG1vZGlmaWNhdGlvbi1ob29rcwotb3ZlcmxheSBwcm9wZXJ0eSBpcyBub3Qgc3VwcG9ydGVkLiIK K1NlZSBhbGxvdXQtb3ZlcmxheS1pbnRlcmlvci1tb2RpZmljYXRpb24taGFuZGxlciBmb3IgZGV0 YWlscy4iCiAKICAgKGlmIChhbmQgKGFsbG91dC1tb2RlLXApIHVuZG8taW4tcHJvZ3Jlc3MgKGFs bG91dC1oaWRkZW4tcCkpCiAgICAgICAoYWxsb3V0LXNob3ctdG8tb2Zmc2hvb3QpKQpAQCAtMjIw MSw4ICsyMjAyLDkgQEAKICAgKHNhdmUtZXhjdXJzaW9uCiAgICAgKGFsbG91dC1iZWdpbm5pbmct b2YtY3VycmVudC1saW5lKQogICAgIChhbmQgKGxvb2tpbmctYXQgYWxsb3V0LXJlZ2V4cCkKLSAg ICAgICAgIChub3QgKGFsbG91dC1hYmVycmFudC1jb250YWluZXItcCkpCi0JIChhbGxvdXQtcHJl Zml4LWRhdGEpKSkpCisgICAgICAgICAoYWxsb3V0LXByZWZpeC1kYXRhKQorICAgICAgICAgKG9y ICg+IGFsbG91dC1yZWNlbnQtZGVwdGggYWxsb3V0LWRvdWJsZWNoZWNrLWF0LWFuZC1zaGFsbG93 ZXIpCisgICAgICAgICAgICAgKG5vdCAoYWxsb3V0LWFiZXJyYW50LWNvbnRhaW5lci1wKSkpKSkp CiA7OztfICAgID4gYWxsb3V0LW9uLWhlYWRpbmctcCAoKQogKGRlZmFsaWFzICdhbGxvdXQtb24t aGVhZGluZy1wICdhbGxvdXQtb24tY3VycmVudC1oZWFkaW5nLXApCiA7OztfICAgID4gYWxsb3V0 LWUtby1wcmVmaXgtcCAoKQpAQCAtMjMyOCw3ICsyMzMwLDcgQEAKIAogICAoc2F2ZS1leGN1cnNp b24KICAgICAoY29uZCAoKGFuZCBkZXB0aCAoPD0gZGVwdGggMCkgMCkpCi0gICAgICAgICAgKChv ciAobm90IGRlcHRoKSAoPSBkZXB0aCAoYWxsb3V0LWRlcHRoKSkpCisgICAgICAgICAgKChvciAo bnVsbCBkZXB0aCkgKD0gZGVwdGggKGFsbG91dC1kZXB0aCkpKQogICAgICAgICAgICAobGV0ICgo aW5kZXggMSkpCiAgICAgICAgICAgICAgKHdoaWxlIChhbGxvdXQtcHJldmlvdXMtc2libGluZyBh bGxvdXQtcmVjZW50LWRlcHRoIG5pbCkKIAkgICAgICAgKHNldHEgaW5kZXggKDErIGluZGV4KSkp CkBAIC0yNTA0LDEzICsyNTA2LDEzIEBACiAoZGVmdW4gYWxsb3V0LWNoYXJ0LXN1YnRyZWUgKCZv cHRpb25hbCBsZXZlbHMgdmlzaWJsZSBvcmlnLWRlcHRoIHByZXYtZGVwdGgpCiAgICJQcm9kdWNl IGEgbG9jYXRpb24gXCJjaGFydFwiIG9mIHN1YnRvcGljcyBvZiB0aGUgY29udGFpbmluZyB0b3Bp Yy4KIAotT3B0aW9uYWwgYXJndW1lbnQgTEVWRUxTIHNwZWNpZmllcyB0aGUgZGVwdGggXChyZWxh dGl2ZSB0byBzdGFydAotZGVwdGgpIGZvciB0aGUgY2hhcnQuCitPcHRpb25hbCBhcmd1bWVudCBM RVZFTFMgc3BlY2lmaWVzIGEgZGVwdGggbGltaXQgXChyZWxhdGl2ZSB0byBzdGFydAorZGVwdGgp IGZvciB0aGUgY2hhcnQuICBOdWxsIExFVkVMUyBtZWFucyBubyBsaW1pdC4KIAogV2hlbiBvcHRp b25hbCBhcmd1bWVudCBWSVNJQkxFIGlzIG5vbi1uaWwsIHRoZSBjaGFydCBpbmNsdWRlcwogb25s eSB0aGUgdmlzaWJsZSBzdWJlbGVtZW50cyBvZiB0aGUgY2hhcnRlZCBzdWJqZWN0cy4KIAotVGhl IHJlbWFpbmluZyBvcHRpb25hbCBhcmdzIGFyZSBub3QgZm9yIGludGVybmFsIHVzZSBieSB0aGUg ZnVuY3Rpb24uCitUaGUgcmVtYWluaW5nIG9wdGlvbmFsIGFyZ3MgYXJlIGZvciBpbnRlcm5hbCB1 c2UgYnkgdGhlIGZ1bmN0aW9uLgogCiBQb2ludCBpcyBsZWZ0IGF0IHRoZSBlbmQgb2YgdGhlIHN1 YnRyZWUuCiAKQEAgLTI2MTcsMTYgKzI2MTksMTkgQEAKIAogICAiUmV0dXJuIGEgZmxhdCBsaXN0 IG9mIGhpZGRlbiBwb2ludHMgaW4gc3VidHJlZSBDSEFSVCwgdXAgdG8gREVQVEguCiAKK0lmIERF UFRIIGlzIG5pbCwgaW5jbHVkZSBoaWRkZW4gcG9pbnRzIGF0IGFueSBkZXB0aC4KKwogTm90ZSB0 aGF0IHBvaW50IGNhbiBiZSBsZWZ0IGF0IGFueSBvZiB0aGUgcG9pbnRzIG9uIGNoYXJ0LCBvciBh dCB0aGUKIHN0YXJ0IHBvaW50LiIKIAogICAobGV0IChyZXN1bHQgaGVyZSkKLSAgICAod2hpbGUg KGFuZCAob3IgKGVxIGRlcHRoIHQpICg+IGRlcHRoIDApKQorICAgICh3aGlsZSAoYW5kIChvciAo bnVsbCBkZXB0aCkgKD4gZGVwdGggMCkpCiAJCWNoYXJ0KQogICAgICAgKHNldHEgaGVyZSAoY2Fy IGNoYXJ0KSkKICAgICAgIChpZiAobGlzdHAgaGVyZSkKLQkgIChsZXQgKChmdXJ0aGVyIChhbGxv dXQtY2hhcnQtdG8tcmV2ZWFsIGhlcmUgKG9yIChlcSBkZXB0aCB0KQotCQkJCQkJCSAgICgxLSBk ZXB0aCkpKSkpCisJICAobGV0ICgoZnVydGhlciAoYWxsb3V0LWNoYXJ0LXRvLXJldmVhbCBoZXJl IChpZiAobnVsbCBkZXB0aCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBkZXB0aAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoMS0gZGVwdGgpKSkpKQogCSAgICA7OyBXZSdyZSBv biB0aGUgc3RhcnQgb2YgYSBzdWJ0cmVlIC0gcmVjdXJzZSB3aXRoIGl0LCBpZiB0aGVyZSdzCiAJ ICAgIDs7IG1vcmUgZGVwdGggdG8gZ286CiAJICAgIChpZiBmdXJ0aGVyIChzZXRxIHJlc3VsdCAo YXBwZW5kIGZ1cnRoZXIgcmVzdWx0KSkpCkBAIC00MTg3LDYgKzQxOTIsMTQgQEAKICAgICAgICAg ICAgICAgICAoYWxsb3V0LW5leHQtaGVhZGluZykpCiAgICAgICAgICAgICAoYWxsb3V0LXJlbnVt YmVyLXRvLWRlcHRoIGRlcHRoKSkpCiAgICAgICAocnVuLWhvb2std2l0aC1hcmdzICdhbGxvdXQt c3RydWN0dXJlLWRlbGV0ZWQtaG9vayBkZXB0aCAocG9pbnQpKSkpKQorOzs7XyAgICA+IGFsbG91 dC1jb3B5LWxpbmUtYXMta2lsbCAoKQorKGRlZnVuIGFsbG91dC1jb3B5LWxpbmUtYXMta2lsbCAo KQorICAiTGlrZSBhbGxvdXQta2lsbC10b3BpYywgYnV0IHNhdmUgdG8ga2lsbCByaW5nIGluc3Rl YWQgb2YgZGVsZXRpbmcuIgorICAoaW50ZXJhY3RpdmUpCisgIChsZXQgKChidWZmZXItcmVhZC1v bmx5IHQpKQorICAgIChjb25kaXRpb24tY2FzZSBuaWwKKyAgICAgICAgKGFsbG91dC1raWxsLWxp bmUpCisgICAgICAoYnVmZmVyLXJlYWQtb25seSBuaWwpKSkpCiA7OztfICAgID4gYWxsb3V0LWtp bGwtdG9waWMgKCkKIChkZWZ1biBhbGxvdXQta2lsbC10b3BpYyAoKQogICAiS2lsbCB0b3BpYyB0 b2dldGhlciB3aXRoIHN1YnRvcGljcy4KQEAgLTQyMjMsMTEgKzQyMzYsMjAgQEAKICAgICAoc2F2 ZS1leGN1cnNpb24KICAgICAgIChhbGxvdXQtcmVudW1iZXItdG8tZGVwdGggZGVwdGgpKQogICAg IChydW4taG9vay13aXRoLWFyZ3MgJ2FsbG91dC1zdHJ1Y3R1cmUtZGVsZXRlZC1ob29rIGRlcHRo IChwb2ludCkpKSkKKzs7O18gICAgPiBhbGxvdXQtY29weS10b3BpYy1hcy1raWxsICgpCisoZGVm dW4gYWxsb3V0LWNvcHktdG9waWMtYXMta2lsbCAoKQorICAiTGlrZSBhbGxvdXQta2lsbC10b3Bp YywgYnV0IHNhdmUgdG8ga2lsbCByaW5nIGluc3RlYWQgb2YgZGVsZXRpbmcuIgorICAoaW50ZXJh Y3RpdmUpCisgIChsZXQgKChidWZmZXItcmVhZC1vbmx5IHQpKQorICAgIChjb25kaXRpb24tY2Fz ZSBuaWwKKyAgICAgICAgKGFsbG91dC1raWxsLXRvcGljKQorICAgICAgKGJ1ZmZlci1yZWFkLW9u bHkgKG1lc3NhZ2UgIlRvcGljIGNvcGllZC4uLiIpKSkpKQogOzs7XyAgICA+IGFsbG91dC1hbm5v dGF0ZS1oaWRkZW4gKGJlZ2luIGVuZCkKIChkZWZ1biBhbGxvdXQtYW5ub3RhdGUtaGlkZGVuIChi ZWdpbiBlbmQpCiAgICJRdWFsaWZ5IHRleHQgd2l0aCBwcm9wZXJ0aWVzIHRvIGluZGljYXRlIGV4 cG9zdXJlIHN0YXR1cy4iCiAKLSAgKGxldCAoKHdhcy1tb2RpZmllZCAoYnVmZmVyLW1vZGlmaWVk LXApKSkKKyAgKGxldCAoKHdhcy1tb2RpZmllZCAoYnVmZmVyLW1vZGlmaWVkLXApKQorICAgICAg ICAoYnVmZmVyLXJlYWQtb25seSBuaWwpKQogICAgIChhbGxvdXQtdW5wcm90ZWN0ZWQKICAgICAg KHJlbW92ZS10ZXh0LXByb3BlcnRpZXMgYmVnaW4gZW5kICcoYWxsb3V0LXdhcy1oaWRkZW4gdCkp KQogICAgIChzYXZlLWV4Y3Vyc2lvbgpAQCAtNDIzNyw4ICs0MjU5LDEwIEBACiAgICAgICAgICAg OzsgYXQgb3IgYWR2YW5jZSB0byBzdGFydCBvZiBuZXh0IGhpZGRlbiByZWdpb246CiAgICAgICAg ICAgKGlmIChub3QgKGFsbG91dC1oaWRkZW4tcCkpCiAgICAgICAgICAgICAgIChzZXRxIG5leHQK LSAgICAgICAgICAgICAgICAgICAgKG5leHQtc2luZ2xlLWNoYXItcHJvcGVydHktY2hhbmdlIChw b2ludCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdpbnZpc2libGUgbmlsIGVuZCkpKQorICAgICAgICAgICAgICAgICAgICAobWF4ICgxKyAo cG9pbnQpKQorICAgICAgICAgICAgICAgICAgICAgICAgIChuZXh0LXNpbmdsZS1jaGFyLXByb3Bl cnR5LWNoYW5nZSAocG9pbnQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdpbnZpc2libGUKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmlsIGVuZCkpKSkKICAgICAgICAg ICAoaWYgKG9yIChub3QgbmV4dCkgKGVxIHByZXYgbmV4dCkpCiAgICAgICAgICAgICAgIDs7IHN0 aWxsIG5vdCBhdCBzdGFydCBvZiBoaWRkZW4gYXJlYSAtIG11c3Qgbm90IGJlIGFueSBsZWZ0Lgog ICAgICAgICAgICAgICAoc2V0cSBkb25lIHQpCkBAIC00NjAwLDggKzQ2MjQsMTMgQEAKICAgICAg ICAgKGFsbG91dC1iZWdpbm5pbmctb2YtY3VycmVudC1saW5lKQogICAgICAgICAoc2F2ZS1yZXN0 cmljdGlvbgogICAgICAgICAgIChsZXQqIChkZXB0aAotICAgICAgICAgICAgICAgICAoY2hhcnQg KGFsbG91dC1jaGFydC1zdWJ0cmVlIChvciBsZXZlbCAxKSkpCi0gICAgICAgICAgICAgICAgICh0 by1yZXZlYWwgKG9yIChhbGxvdXQtY2hhcnQtdG8tcmV2ZWFsIGNoYXJ0IChvciBsZXZlbCAxKSkK KyAgICAgICAgICAgICAgICAgOzsgdHJhbnNsYXRlIHRoZSBsZXZlbCBzcGVjIGZvciB0aGlzIHJv dXRpbmUgdG8gdGhlIG9uZXMKKyAgICAgICAgICAgICAgICAgOzsgdXNlZCBieSAtY2hhcnQtc3Vi dHJlZSBhbmQgLWNoYXJ0LXRvLXJldmVhbDoKKyAgICAgICAgICAgICAgICAgKGNoYXJ0LWxldmVs IChjb25kICgobm90IGxldmVsKSAxKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKChlcSBsZXZlbCB0KSBuaWwpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAodCBsZXZlbCkpKQorICAgICAgICAgICAgICAgICAoY2hhcnQgKGFsbG91dC1jaGFydC1zdWJ0 cmVlIGNoYXJ0LWxldmVsKSkKKyAgICAgICAgICAgICAgICAgKHRvLXJldmVhbCAob3IgKGFsbG91 dC1jaGFydC10by1yZXZlYWwgY2hhcnQgY2hhcnQtbGV2ZWwpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDs7IGludGVyYWN0aXZlLCBzaG93IGRpc2NvbnRpbnVvdXMgY2hpbGRyZW46 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhbmQgY2hhcnQKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoaW50ZXJhY3RpdmUtcCkKQEAgLTUxNjksNyArNTE5 OCw4IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgKGFsbG91dC1iYWNrLXRvLXZpc2libGUt dGV4dCkpKQogCQkgICAgICBzdHJpbmdzKSkKIAkgICh3aGVuICg8IChwb2ludCkgbmV4dCkgICAg ICA7IFJlc3VtZSBmcm9tIGFmdGVyIGhpZCB0ZXh0LCBpZiBhbnkuCi0gICAgICAgICAgICAobGlu ZS1tb3ZlIDEpKQorICAgICAgICAgICAgKGxpbmUtbW92ZSAxKQorICAgICAgICAgICAgKGJlZ2lu bmluZy1vZi1saW5lKSkKIAkgIChzZXRxIGJlZyAocG9pbnQpKSkKIAk7OyBBY2N1bXVsYXRlIGxp c3QgZm9yIHRoaXMgdG9waWM6CiAJKHNldHEgc3RyaW5ncyAobnJldmVyc2Ugc3RyaW5ncykpCkBA IC01NzQ1LDggKzU3NzUsOCBAQAogICAgICAgICAgICA7OyBBZGQgdGhlIGlzLWVuY3J5cHRlZCBi dWxsZXQgcXVhbGlmaWVyOgogICAgICAgICAgICAoZ290by1jaGFyIGFmdGVyLWJ1bGxldC1wb3Mp CiAgICAgICAgICAgIChpbnNlcnQgIioiKSkpKQotICAgICAgKHJ1bi1ob29rLXdpdGgtYXJncyAn YWxsb3V0LWV4cG9zdXJlLWNoYW5nZWQtaG9vawotICAgICAgICAgICAgICAgICAgICAgICAgICBi dWxsZXQtcG9zIHN1YnRyZWUtZW5kIG5pbCkpKSkKKyAgICAgIChydW4taG9vay13aXRoLWFyZ3Mg J2FsbG91dC1zdHJ1Y3R1cmUtYWRkZWQtaG9vaworICAgICAgICAgICAgICAgICAgICAgICAgICBi dWxsZXQtcG9zIHN1YnRyZWUtZW5kKSkpKQogOzs7XyAgPiBhbGxvdXQtZW5jcnlwdC1zdHJpbmcg KHRleHQgZGVjcnlwdCBhbGxvdXQtYnVmZmVyIGtleS10eXBlIGZvci1rZXkKIDs7OyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBmZXRjaC1wYXNzICZvcHRpb25hbCByZXRyaWVkIHZl cmlmeWluZwogOzs7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc3NwaHJhc2Up Cg== ------=_Part_11953_4892202.1158857469882 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_11953_4892202.1158857469882--