From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nathaniel Flath Subject: Re: Re: [PATCH] Alphabetical ordered lists Date: Sat, 18 Sep 2010 00:43:40 -0700 Message-ID: References: <87bp8o498o.fsf@gollum.intra.norang.ca> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=0016e6d2723477a04a049083d658 Return-path: Received: from [140.186.70.92] (port=33375 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ows5H-0001OM-Op for emacs-orgmode@gnu.org; Sat, 18 Sep 2010 03:43:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1Ows5G-00026F-4Y for emacs-orgmode@gnu.org; Sat, 18 Sep 2010 03:43:43 -0400 Received: from mail-vw0-f41.google.com ([209.85.212.41]:51497) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Ows5G-000264-0c for emacs-orgmode@gnu.org; Sat, 18 Sep 2010 03:43:42 -0400 Received: by vws16 with SMTP id 16so2722763vws.0 for ; Sat, 18 Sep 2010 00:43:40 -0700 (PDT) In-Reply-To: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Jacob Mitchell Cc: Bernt Hansen , emacs-orgmode@gnu.org, Carsten Dominik --0016e6d2723477a04a049083d658 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hey, I gave another shot at this, now that my computer is no longer dead. I believe it fixes the issues described earlier - let me know of any feedback. (Also - I don't know how to get GMail to attach this as anything other than application/octet-stream, so the text is in the message as well. Nathaniel Flath Attachment: diff --git a/lisp/org-list.el b/lisp/org-list.el index d9fc24e..88d5a9b 100644 --- a/lisp/org-list.el +++ b/lisp/org-list.el @@ -287,14 +287,14 @@ It depends on `org-empty-line-terminates-plain-lists'= ." "Return the correct regular expression for plain lists. If GENERAL is non-nil, return the general regexp independent of the value of `org-plain-list-ordered-item-terminator'." - (cond - ((or general (eq org-plain-list-ordered-item-terminator t)) - "\\([ \t]*\\([-+]\\|\\([0-9]+[.)]\\)\\)\\|[ \t]+\\*\\)\\([ \t]+\\|$\\)= ") - ((=3D org-plain-list-ordered-item-terminator ?.) - "\\([ \t]*\\([-+]\\|\\([0-9]+\\.\\)\\)\\|[ \t]+\\*\\)\\([ \t]+\\|$\\)"= ) +(cond + ((or general (eq org-plain-list-ordered-item-terminator t)) + "\\([ \t]*\\([-+]\\|\\([0-9A-Za-z]+[.)]\\)\\)\\|[ \t]+\\*\\)\\( \\|$\\)"= ) + ((=3D org-plain-list-ordered-item-terminator ?.) + "\\([ \t]*\\([-+]\\|\\([0-9A-Za-z]+\\.\\)\\)\\|[ \t]+\\*\\)\\( \\|$\\)"= ) ((=3D org-plain-list-ordered-item-terminator ?\)) - "\\([ \t]*\\([-+]\\|\\([0-9]+)\\)\\)\\|[ \t]+\\*\\)\\([ \t]+\\|$\\)") - (t (error "Invalid value of `org-plain-list-ordered-item-terminator'"))= )) + "\\([ \t]*\\([-+]\\|\\([0-9A-Za-z]+)\\)\\)\\|[ \t]+\\*\\)\\( \\|$\\)") + (t (error "Invalid value of `org-plain-list-ordered-item-terminator'")= ))) (defconst org-item-beginning-re (concat "^" (org-item-re)) "Regexp matching the beginning of a plain list item.") @@ -530,7 +530,7 @@ List ending is determined by the indentation of text. S= ee (save-excursion (goto-char (match-end 0)) ;; Ignore counter if any - (when (looking-at "\\(?:\\[@\\(?:start:\\)?[0-9]+\\][ \t]*\\)?") + (when (looking-at "\\(?:\\[@\\(?:start:\\)?[0-9A-Za-z]+\\][ \t]*\= \)?") (goto-char (match-end 0))) (looking-at regexp)))) @@ -1135,11 +1135,11 @@ bullet string and bullet counter, if any." (list (point-at-bol) (org-get-indentation) (progn - (looking-at "^[ \t]*\\([-+*0-9.)]+[ \t]+\\)") + (looking-at "^[ \t]*\\([-+*0-9A-Za-z.)]+[ \t]+\\)") (match-string 1)) (progn (goto-char (match-end 0)) - (and (looking-at "\\[@\\(?:start:\\)?\\([0-9]+\\)\\]") + (and (looking-at "\\[@\\(?:start:\\)?\\([0-9A-Za-z]+\\)\\]") (match-string 1)))))) (defun org-list-struct (begin end top bottom &optional outdent) @@ -1259,8 +1259,10 @@ This function modifies STRUCT." (let ((counter (nth 3 item)) (bullet (org-list-bullet-string (nth 2 item)))) (cond - ((and (string-match "[0-9]+" bullet) counter) + ((and (string-match "[0-9A-Za-z]+" bullet) counter) (replace-match counter nil nil bullet)) + ((string-match "[A-Za-z]+" bullet) + (replace-match "a" nil nil bullet)) ((string-match "[0-9]+" bullet) (replace-match "1" nil nil bullet)) (t bullet))))) @@ -1268,7 +1270,7 @@ This function modifies STRUCT." (setcdr item (list (nth 1 item) bullet (nth 3 item))))) (get-bul (lambda (item bullet) (let* ((counter (nth 3 item))) - (if (and counter (string-match "[0-9]+" bullet)) + (if (and counter (string-match "[0-9A-Za-z]+" bullet)) (replace-match counter nil nil bullet) bullet)))) (fix-bul @@ -1582,13 +1584,50 @@ It determines the number of whitespaces to append by looking at " "))) nil nil bullet 1))) +(defun org-increment-string (str cap) + "Increments str (a->a, b->b, z->aa, aa->ab etc). If cap is non-nil, the= n + the letters are capitalized." + (let ((res (org-convert-num-to-alpha-str + (1+ (org-convert-alpha-str-to-num str 1 (length str) cap)) cap)) + (z (if cap ?Z ?z)) + (b (if cap ?B ?b)) + (a (if cap ?A ?a))) + (if (and(=3D (string-to-char str) z) + (=3D (string-to-char res) b)) + (concat (if cap "A" "a") (substring res 1)) + (concat (make-string (- (length str) (length res)) a) res)))) + +(defun org-convert-alpha-str-to-num (str n pos cap) + "Converts the substring consisting of locations pos to pos-n to a + numeric representation." + (let ((a (if cap ?A ?a))) + (if (=3D pos 1) (* (- (string-to-char str) a) n) + (+ (* (- (nth (1- pos) (string-to-list str)) a) n) + (org-convert-alpha-str-to-num str (* 26 n) (1- pos) cap))))) + +(defun org-convert-num-to-alpha-str (n cap) + "Converts the number n to a alphabetical, base-26 representation." + (if (=3D n 0) "" + (concat (org-convert-num-to-alpha-str (/ n 26) cap) + (string (+ (if cap ?A ?a) (% n 26)))))) + (defun org-list-inc-bullet-maybe (bullet) "Increment BULLET if applicable." - (if (string-match "[0-9]+" bullet) + (let ((case-fold-search nil)) + (cond + ((string-match "[0-9]+" bullet) (replace-match (number-to-string (1+ (string-to-number (match-string 0 bullet)))) - nil nil bullet) - bullet)) + nil nil bullet)) + ((string-match "[a-z]+" bullet) + (replace-match + (org-increment-string (match-string 0 bullet) nil) + nil nil bullet)) + ((string-match "[A-Z]+" bullet) + (replace-match + (org-increment-string (match-string 0 bullet) t) + nil nil bullet)) + (t bullet)))) (defun org-list-repair (&optional force-bullet top bottom) "Make sure all items are correctly indented, with the right bullet. @@ -1980,7 +2019,7 @@ compare entries." (goto-char (org-end-of-item-before-blank end)))) (value-to-sort (lambda () - (when (looking-at "[ \t]*[-+*0-9.)]+\\([ \t]+\\[[- X]\\]\\)?[ \t]+") + (when (looking-at "[ \t]*[-+*0-9A-Za-z.)]+\\([ \t]+\\[[- X]\\]\\)?[ \t]+= ") (cond ((=3D dcst ?n) (string-to-number (buffer-substring (match-end 0) @@ -2028,7 +2067,7 @@ sublevels as a list of strings." (while (org-search-forward-unenclosed org-item-beginning-re end t) (save-excursion (beginning-of-line) - (setq ltype (cond ((looking-at-p "^[ \t]*[0-9]") 'ordered) + (setq ltype (cond ((looking-at-p "^[ \t]*[0-9A-Za-z]") 'ordered) ((org-at-item-description-p) 'descriptive) (t 'unordered)))) (let* ((indent1 (org-get-indentation)) @@ -2037,7 +2076,7 @@ sublevels as a list of strings." (org-end-of-item-or-at-child end)))) (nextindent (if (=3D (point) end) 0 (org-get-indentation))) (item (if (string-match - "^\\(?:\\[@\\(?:start:\\)?[0-9]+\\][ \t]*\\)?\\[\\([xX ]\\)\\]" + "^\\(?:\\[@\\(?:start:\\)?[0-9A-Za-z]+\\][ \t]*\\)?\\[\\([xX ]\\)\\]" item) (replace-match (if (equal (match-string 1 item) " ") "CBOFF" On Fri, Aug 27, 2010 at 6:01 AM, Nathaniel Flath wrote= : > I was going to fix the issues described in the first reply - not > enough items in particular - and resubmit soon. =A0I got a bit > distracted by finals. =A0I'll see if I can figure out the export > problem, as well. > > Thanks, > Nathaniel Flath > > On Fri, Aug 27, 2010 at 5:44 AM, Jacob Mitchell > wrote: >> >> >> On Fri, Aug 27, 2010 at 6:53 AM, Bernt Hansen wrote: >>> >>> Carsten Dominik writes: >>> >>> > On Jul 29, 2010, at 10:27 PM, Nathaniel Flath wrote: >>> > >>> >> Hello all, >>> >> >>> >> One thing that had been bugging me was the inability to have an >>> >> ordered list of the form: >>> >> >>> >> a. =A0Item 1 >>> >> b. =A0Item 2 >>> >> c. =A0Item 3 >>> >> >>> >> The following patch enables this, with lists going from a-z and A-Z. >>> >> Let me know if there are any issues with it. >>> > >>> > Hi, >>> > >>> > I am not really sure we need these. =A0They cause problems when lists= get >>> > really long - also you patch does not further than "z", after that I >>> > get "{". >>> > >>> > Furthermore the export backends implement their own numbering >>> > rules anyway. =A0So it seems to me that we do not need this addition. >>> > >>> > Any other votes here? >>> >>> I'm not currently missing this feature. =A0I think it definitely would >>> have to handle more entries if this was to be included in org-mode. >> >> I agree, that would be nice. >> >>> >>> Maybe going something like >>> >>> =A0a. >>> =A0b. >>> =A0... >>> =A0z. >>> =A0aa. >>> =A0ab. >>> =A0... >>> =A0az. >>> =A0ba. >>> =A0bb. >>> =A0... >>> =A0zz. >>> =A0... and if you really need more entries than that (unlikely) you can >>> =A0do >>> =A0aaa. >>> =A0aab. >>> =A0... >>> =A0and just keep going indefinitely. >> >> As a practical matter we should consider whether it's worth making a >> non-terminating sequence that can be handled by the exporters.=A0 LaTeX'= s >> enumerate package doesn't like going beyond (z): >> >> \documentclass[letterpaper]{article} >> \usepackage{enumerate} >> >> \begin{document} >> \begin{enumerate}[(z)] >> \item >> ... >> \end{document} >> >> The items beyond the 26th are mapped to "()". >> >> Of course there are going to be ways around these issues, but the questi= on >> is whether it's desirable enough to implement and maintain that.=A0 Eith= er way >> is fine with me--I'm new on the mailing list and haven't done any >> development for org-mode yet. >> >> -Jake >>> >>> -Bernt >>> >>> _______________________________________________ >>> Emacs-orgmode mailing list >>> Please use `Reply All' to send replies to the list. >>> Emacs-orgmode@gnu.org >>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode >> >> >> _______________________________________________ >> Emacs-orgmode mailing list >> Please use `Reply All' to send replies to the list. >> Emacs-orgmode@gnu.org >> http://lists.gnu.org/mailman/listinfo/emacs-orgmode >> >> > --0016e6d2723477a04a049083d658 Content-Type: application/octet-stream; name="ordered-list.patch" Content-Disposition: attachment; filename="ordered-list.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ge85yyo20 ZGlmZiAtLWdpdCBhL2xpc3Avb3JnLWxpc3QuZWwgYi9saXNwL29yZy1saXN0LmVsDQppbmRleCBk OWZjMjRlLi44OGQ1YTliIDEwMDY0NA0KLS0tIGEvbGlzcC9vcmctbGlzdC5lbA0KKysrIGIvbGlz cC9vcmctbGlzdC5lbA0KQEAgLTI4NywxNCArMjg3LDE0IEBAIEl0IGRlcGVuZHMgb24gYG9yZy1l bXB0eS1saW5lLXRlcm1pbmF0ZXMtcGxhaW4tbGlzdHMnLiINCiAgICJSZXR1cm4gdGhlIGNvcnJl Y3QgcmVndWxhciBleHByZXNzaW9uIGZvciBwbGFpbiBsaXN0cy4NCiBJZiBHRU5FUkFMIGlzIG5v bi1uaWwsIHJldHVybiB0aGUgZ2VuZXJhbCByZWdleHAgaW5kZXBlbmRlbnQgb2YgdGhlIHZhbHVl DQogb2YgYG9yZy1wbGFpbi1saXN0LW9yZGVyZWQtaXRlbS10ZXJtaW5hdG9yJy4iDQotICAoY29u ZA0KLSAgICgob3IgZ2VuZXJhbCAoZXEgb3JnLXBsYWluLWxpc3Qtb3JkZXJlZC1pdGVtLXRlcm1p bmF0b3IgdCkpDQotICAgICJcXChbIFx0XSpcXChbLStdXFx8XFwoWzAtOV0rWy4pXVxcKVxcKVxc fFsgXHRdK1xcKlxcKVxcKFsgXHRdK1xcfCRcXCkiKQ0KLSAgICgoPSBvcmctcGxhaW4tbGlzdC1v cmRlcmVkLWl0ZW0tdGVybWluYXRvciA/LikNCi0gICAgIlxcKFsgXHRdKlxcKFstK11cXHxcXChb MC05XStcXC5cXClcXClcXHxbIFx0XStcXCpcXClcXChbIFx0XStcXHwkXFwpIikNCisoY29uZA0K KyAoKG9yIGdlbmVyYWwgKGVxIG9yZy1wbGFpbi1saXN0LW9yZGVyZWQtaXRlbS10ZXJtaW5hdG9y IHQpKQ0KKyAgIlxcKFsgXHRdKlxcKFstK11cXHxcXChbMC05QS1aYS16XStbLildXFwpXFwpXFx8 WyBcdF0rXFwqXFwpXFwoIFxcfCRcXCkiKQ0KKyAgKCg9IG9yZy1wbGFpbi1saXN0LW9yZGVyZWQt aXRlbS10ZXJtaW5hdG9yID8uKQ0KKyAgICJcXChbIFx0XSpcXChbLStdXFx8XFwoWzAtOUEtWmEt el0rXFwuXFwpXFwpXFx8WyBcdF0rXFwqXFwpXFwoIFxcfCRcXCkiKQ0KICAgICgoPSBvcmctcGxh aW4tbGlzdC1vcmRlcmVkLWl0ZW0tdGVybWluYXRvciA/XCkpDQotICAgICJcXChbIFx0XSpcXChb LStdXFx8XFwoWzAtOV0rKVxcKVxcKVxcfFsgXHRdK1xcKlxcKVxcKFsgXHRdK1xcfCRcXCkiKQ0K LSAgICh0IChlcnJvciAiSW52YWxpZCB2YWx1ZSBvZiBgb3JnLXBsYWluLWxpc3Qtb3JkZXJlZC1p dGVtLXRlcm1pbmF0b3InIikpKSkNCisgICAgIlxcKFsgXHRdKlxcKFstK11cXHxcXChbMC05QS1a YS16XSspXFwpXFwpXFx8WyBcdF0rXFwqXFwpXFwoIFxcfCRcXCkiKQ0KKyAgICAodCAoZXJyb3Ig IkludmFsaWQgdmFsdWUgb2YgYG9yZy1wbGFpbi1saXN0LW9yZGVyZWQtaXRlbS10ZXJtaW5hdG9y JyIpKSkpDQogDQogKGRlZmNvbnN0IG9yZy1pdGVtLWJlZ2lubmluZy1yZSAoY29uY2F0ICJeIiAo b3JnLWl0ZW0tcmUpKQ0KICAgIlJlZ2V4cCBtYXRjaGluZyB0aGUgYmVnaW5uaW5nIG9mIGEgcGxh aW4gbGlzdCBpdGVtLiIpDQpAQCAtNTMwLDcgKzUzMCw3IEBAIExpc3QgZW5kaW5nIGlzIGRldGVy bWluZWQgYnkgdGhlIGluZGVudGF0aW9uIG9mIHRleHQuIFNlZQ0KICAgICAgICAoc2F2ZS1leGN1 cnNpb24NCiAJIChnb3RvLWNoYXIgKG1hdGNoLWVuZCAwKSkNCiAgICAgICAgICA7OyBJZ25vcmUg Y291bnRlciBpZiBhbnkNCi0gICAgICAgICAod2hlbiAobG9va2luZy1hdCAiXFwoPzpcXFtAXFwo PzpzdGFydDpcXCk/WzAtOV0rXFxdWyBcdF0qXFwpPyIpDQorICAgICAgICAgKHdoZW4gKGxvb2tp bmctYXQgIlxcKD86XFxbQFxcKD86c3RhcnQ6XFwpP1swLTlBLVphLXpdK1xcXVsgXHRdKlxcKT8i KQ0KICAgICAgICAgICAgKGdvdG8tY2hhciAobWF0Y2gtZW5kIDApKSkNCiAJIChsb29raW5nLWF0 IHJlZ2V4cCkpKSkNCiANCkBAIC0xMTM1LDExICsxMTM1LDExIEBAIGJ1bGxldCBzdHJpbmcgYW5k IGJ1bGxldCBjb3VudGVyLCBpZiBhbnkuIg0KICAgICAobGlzdCAocG9pbnQtYXQtYm9sKQ0KICAg ICAgICAgICAob3JnLWdldC1pbmRlbnRhdGlvbikNCiAgICAgICAgICAgKHByb2duDQotICAgICAg ICAgICAgKGxvb2tpbmctYXQgIl5bIFx0XSpcXChbLSsqMC05LildK1sgXHRdK1xcKSIpDQorICAg ICAgICAgICAgKGxvb2tpbmctYXQgIl5bIFx0XSpcXChbLSsqMC05QS1aYS16LildK1sgXHRdK1xc KSIpDQogICAgICAgICAgICAgKG1hdGNoLXN0cmluZyAxKSkNCiAgICAgICAgICAgKHByb2duDQog ICAgICAgICAgICAgKGdvdG8tY2hhciAobWF0Y2gtZW5kIDApKQ0KLSAgICAgICAgICAgIChhbmQg KGxvb2tpbmctYXQgIlxcW0BcXCg/OnN0YXJ0OlxcKT9cXChbMC05XStcXClcXF0iKQ0KKyAgICAg ICAgICAgIChhbmQgKGxvb2tpbmctYXQgIlxcW0BcXCg/OnN0YXJ0OlxcKT9cXChbMC05QS1aYS16 XStcXClcXF0iKQ0KICAgICAgICAgICAgICAgICAgKG1hdGNoLXN0cmluZyAxKSkpKSkpDQogDQog KGRlZnVuIG9yZy1saXN0LXN0cnVjdCAoYmVnaW4gZW5kIHRvcCBib3R0b20gJm9wdGlvbmFsIG91 dGRlbnQpDQpAQCAtMTI1OSw4ICsxMjU5LDEwIEBAIFRoaXMgZnVuY3Rpb24gbW9kaWZpZXMgU1RS VUNULiINCiAJCSAgICAgKGxldCAoKGNvdW50ZXIgKG50aCAzIGl0ZW0pKQ0KIAkJCSAgIChidWxs ZXQgKG9yZy1saXN0LWJ1bGxldC1zdHJpbmcgKG50aCAyIGl0ZW0pKSkpDQogCQkgICAgICAgKGNv bmQNCi0JCQkoKGFuZCAoc3RyaW5nLW1hdGNoICJbMC05XSsiIGJ1bGxldCkgY291bnRlcikNCisJ CQkoKGFuZCAoc3RyaW5nLW1hdGNoICJbMC05QS1aYS16XSsiIGJ1bGxldCkgY291bnRlcikNCiAJ CQkgKHJlcGxhY2UtbWF0Y2ggY291bnRlciBuaWwgbmlsIGJ1bGxldCkpDQorCQkJKChzdHJpbmct bWF0Y2ggIltBLVphLXpdKyIgYnVsbGV0KQ0KKwkJCSAocmVwbGFjZS1tYXRjaCAiYSIgbmlsIG5p bCBidWxsZXQpKQ0KIAkJCSgoc3RyaW5nLW1hdGNoICJbMC05XSsiIGJ1bGxldCkNCiAJCQkgKHJl cGxhY2UtbWF0Y2ggIjEiIG5pbCBuaWwgYnVsbGV0KSkNCiAJCQkodCBidWxsZXQpKSkpKQ0KQEAg LTEyNjgsNyArMTI3MCw3IEBAIFRoaXMgZnVuY3Rpb24gbW9kaWZpZXMgU1RSVUNULiINCiAJCSAg ICAoc2V0Y2RyIGl0ZW0gKGxpc3QgKG50aCAxIGl0ZW0pIGJ1bGxldCAobnRoIDMgaXRlbSkpKSkp DQogCSAoZ2V0LWJ1bCAobGFtYmRhIChpdGVtIGJ1bGxldCkNCiAJCSAgICAobGV0KiAoKGNvdW50 ZXIgKG50aCAzIGl0ZW0pKSkNCi0JCSAgICAgIChpZiAoYW5kIGNvdW50ZXIgKHN0cmluZy1tYXRj aCAiWzAtOV0rIiBidWxsZXQpKQ0KKwkJICAgICAgKGlmIChhbmQgY291bnRlciAoc3RyaW5nLW1h dGNoICJbMC05QS1aYS16XSsiIGJ1bGxldCkpDQogCQkJICAocmVwbGFjZS1tYXRjaCBjb3VudGVy IG5pbCBuaWwgYnVsbGV0KQ0KIAkJCWJ1bGxldCkpKSkNCiAJIChmaXgtYnVsDQpAQCAtMTU4Miwx MyArMTU4NCw1MCBAQCBJdCBkZXRlcm1pbmVzIHRoZSBudW1iZXIgb2Ygd2hpdGVzcGFjZXMgdG8g YXBwZW5kIGJ5IGxvb2tpbmcgYXQNCiAgICAgICAgICAgIiAiKSkpDQogICAgICBuaWwgbmlsIGJ1 bGxldCAxKSkpDQogDQorKGRlZnVuIG9yZy1pbmNyZW1lbnQtc3RyaW5nIChzdHIgY2FwKQ0KKyAg IkluY3JlbWVudHMgc3RyIChhLT5hLCBiLT5iLCB6LT5hYSwgYWEtPmFiIGV0YykuICBJZiBjYXAg aXMgbm9uLW5pbCwgdGhlbg0KKyAgIHRoZSBsZXR0ZXJzIGFyZSBjYXBpdGFsaXplZC4iDQorICAo bGV0ICgocmVzIChvcmctY29udmVydC1udW0tdG8tYWxwaGEtc3RyIA0KKwkgICAgICAoMSsgKG9y Zy1jb252ZXJ0LWFscGhhLXN0ci10by1udW0gc3RyIDEgKGxlbmd0aCBzdHIpIGNhcCkpIGNhcCkp DQorCSh6IChpZiBjYXAgP1ogP3opKQ0KKwkoYiAoaWYgY2FwID9CID9iKSkNCisJKGEgKGlmIGNh cCA/QSA/YSkpKQ0KKyAgICAoaWYgKGFuZCg9IChzdHJpbmctdG8tY2hhciBzdHIpIHopDQorICAg ICAgICAgICAgKD0gKHN0cmluZy10by1jaGFyIHJlcykgYikpDQorICAgICAgICAoY29uY2F0IChp ZiBjYXAgIkEiICJhIikgIChzdWJzdHJpbmcgcmVzIDEpKQ0KKyAgICAgIChjb25jYXQgKG1ha2Ut c3RyaW5nICgtIChsZW5ndGggc3RyKSAobGVuZ3RoIHJlcykpIGEpICByZXMpKSkpDQorDQorKGRl ZnVuIG9yZy1jb252ZXJ0LWFscGhhLXN0ci10by1udW0gKHN0ciBuIHBvcyBjYXApDQorICAiQ29u dmVydHMgdGhlIHN1YnN0cmluZyBjb25zaXN0aW5nIG9mIGxvY2F0aW9ucyBwb3MgdG8gcG9zLW4g dG8gYQ0KKyAgIG51bWVyaWMgcmVwcmVzZW50YXRpb24uIg0KKyAgKGxldCAoKGEgKGlmIGNhcCA/ QSA/YSkpKQ0KKyAgICAoaWYgKD0gcG9zIDEpICgqICgtIChzdHJpbmctdG8tY2hhciBzdHIpIGEp IG4pDQorICAgICAgKCsgKCogKC0gKG50aCAoMS0gcG9zKSAoc3RyaW5nLXRvLWxpc3Qgc3RyKSkg YSkgbikNCisJIChvcmctY29udmVydC1hbHBoYS1zdHItdG8tbnVtIHN0ciAoKiAyNiBuKSAoMS0g cG9zKSBjYXApKSkpKQ0KKw0KKyhkZWZ1biBvcmctY29udmVydC1udW0tdG8tYWxwaGEtc3RyIChu IGNhcCkNCisgICJDb252ZXJ0cyB0aGUgbnVtYmVyIG4gdG8gYSBhbHBoYWJldGljYWwsIGJhc2Ut MjYgcmVwcmVzZW50YXRpb24uIg0KKyAgKGlmICg9IG4gMCkgIiINCisgICAgKGNvbmNhdCAob3Jn LWNvbnZlcnQtbnVtLXRvLWFscGhhLXN0ciAoLyBuIDI2KSBjYXApDQorICAgICAgICAgICAgKHN0 cmluZyAoKyAoaWYgY2FwID9BID9hKSAoJSBuIDI2KSkpKSkpDQorDQogKGRlZnVuIG9yZy1saXN0 LWluYy1idWxsZXQtbWF5YmUgKGJ1bGxldCkNCiAgICJJbmNyZW1lbnQgQlVMTEVUIGlmIGFwcGxp Y2FibGUuIg0KLSAgKGlmIChzdHJpbmctbWF0Y2ggIlswLTldKyIgYnVsbGV0KQ0KKyAgKGxldCAo KGNhc2UtZm9sZC1zZWFyY2ggbmlsKSkNCisgICAgKGNvbmQNCisgICAgICgoc3RyaW5nLW1hdGNo ICJbMC05XSsiIGJ1bGxldCkNCiAgICAgICAocmVwbGFjZS1tYXRjaA0KICAgICAgICAobnVtYmVy LXRvLXN0cmluZyAoMSsgKHN0cmluZy10by1udW1iZXIgKG1hdGNoLXN0cmluZyAwIGJ1bGxldCkp KSkNCi0gICAgICAgbmlsIG5pbCBidWxsZXQpDQotICAgIGJ1bGxldCkpDQorICAgICAgIG5pbCBu aWwgYnVsbGV0KSkNCisgICAgICgoc3RyaW5nLW1hdGNoICJbYS16XSsiIGJ1bGxldCkNCisgICAg ICAocmVwbGFjZS1tYXRjaA0KKyAgICAgICAob3JnLWluY3JlbWVudC1zdHJpbmcgKG1hdGNoLXN0 cmluZyAwIGJ1bGxldCkgbmlsKQ0KKyAgICAgICBuaWwgbmlsIGJ1bGxldCkpDQorICAgICAoKHN0 cmluZy1tYXRjaCAiW0EtWl0rIiBidWxsZXQpDQorICAgICAgKHJlcGxhY2UtbWF0Y2gNCisgICAg ICAgKG9yZy1pbmNyZW1lbnQtc3RyaW5nIChtYXRjaC1zdHJpbmcgMCBidWxsZXQpIHQpDQorICAg ICAgIG5pbCBuaWwgYnVsbGV0KSkNCisgICAgICh0IGJ1bGxldCkpKSkNCiANCiAoZGVmdW4gb3Jn LWxpc3QtcmVwYWlyICgmb3B0aW9uYWwgZm9yY2UtYnVsbGV0IHRvcCBib3R0b20pDQogICAiTWFr ZSBzdXJlIGFsbCBpdGVtcyBhcmUgY29ycmVjdGx5IGluZGVudGVkLCB3aXRoIHRoZSByaWdodCBi dWxsZXQuDQpAQCAtMTk4MCw3ICsyMDE5LDcgQEAgY29tcGFyZSBlbnRyaWVzLiINCiAJCQkgICAo Z290by1jaGFyIChvcmctZW5kLW9mLWl0ZW0tYmVmb3JlLWJsYW5rIGVuZCkpKSkNCiAJICAgICAo dmFsdWUtdG8tc29ydA0KIAkgICAgICAobGFtYmRhICgpDQotCQkod2hlbiAobG9va2luZy1hdCAi WyBcdF0qWy0rKjAtOS4pXStcXChbIFx0XStcXFtbLSBYXVxcXVxcKT9bIFx0XSsiKQ0KKwkJKHdo ZW4gKGxvb2tpbmctYXQgIlsgXHRdKlstKyowLTlBLVphLXouKV0rXFwoWyBcdF0rXFxbWy0gWF1c XF1cXCk/WyBcdF0rIikNCiAJCSAgKGNvbmQNCiAJCSAgICgoPSBkY3N0ID9uKQ0KIAkJICAgIChz dHJpbmctdG8tbnVtYmVyIChidWZmZXItc3Vic3RyaW5nIChtYXRjaC1lbmQgMCkNCkBAIC0yMDI4 LDcgKzIwNjcsNyBAQCBzdWJsZXZlbHMgYXMgYSBsaXN0IG9mIHN0cmluZ3MuIg0KICAgICAod2hp bGUgKG9yZy1zZWFyY2gtZm9yd2FyZC11bmVuY2xvc2VkIG9yZy1pdGVtLWJlZ2lubmluZy1yZSBl bmQgdCkNCiAgICAgICAoc2F2ZS1leGN1cnNpb24NCiAJKGJlZ2lubmluZy1vZi1saW5lKQ0KLQko c2V0cSBsdHlwZSAoY29uZCAoKGxvb2tpbmctYXQtcCAiXlsgXHRdKlswLTldIikgJ29yZGVyZWQp DQorCShzZXRxIGx0eXBlIChjb25kICgobG9va2luZy1hdC1wICJeWyBcdF0qWzAtOUEtWmEtel0i KSAnb3JkZXJlZCkNCiAJCQkgICgob3JnLWF0LWl0ZW0tZGVzY3JpcHRpb24tcCkgJ2Rlc2NyaXB0 aXZlKQ0KIAkJCSAgKHQgJ3Vub3JkZXJlZCkpKSkNCiAgICAgICAobGV0KiAoKGluZGVudDEgKG9y Zy1nZXQtaW5kZW50YXRpb24pKQ0KQEAgLTIwMzcsNyArMjA3Niw3IEBAIHN1YmxldmVscyBhcyBh IGxpc3Qgb2Ygc3RyaW5ncy4iDQogCQkJCQkgICAgICAgKG9yZy1lbmQtb2YtaXRlbS1vci1hdC1j aGlsZCBlbmQpKSkpDQogCSAgICAgKG5leHRpbmRlbnQgKGlmICg9IChwb2ludCkgZW5kKSAwIChv cmctZ2V0LWluZGVudGF0aW9uKSkpDQogCSAgICAgKGl0ZW0gKGlmIChzdHJpbmctbWF0Y2gNCi0J CQkiXlxcKD86XFxbQFxcKD86c3RhcnQ6XFwpP1swLTldK1xcXVsgXHRdKlxcKT9cXFtcXChbeFgg XVxcKVxcXSINCisJCQkiXlxcKD86XFxbQFxcKD86c3RhcnQ6XFwpP1swLTlBLVphLXpdK1xcXVsg XHRdKlxcKT9cXFtcXChbeFggXVxcKVxcXSINCiAJCQlpdGVtKQ0KIAkJICAgICAgIChyZXBsYWNl LW1hdGNoIChpZiAoZXF1YWwgKG1hdGNoLXN0cmluZyAxIGl0ZW0pICIgIikNCiAJCQkJCSAgIkNC T0ZGIg0K --0016e6d2723477a04a049083d658 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode --0016e6d2723477a04a049083d658--