Re: [O] re-search-forward hang in org-link-search
No worries. If anything it makes be feel better about my own silliness earlier. On Tue, Aug 18, 2015 at 11:54 AM, Bastien b...@gnu.org wrote: Matthew MacLean archen...@gmail.com writes: Maybe the recursive-whitespace Regular Expressions that Pip Cet mentioned are not Emacs freezers in Emacs 25? No... this is just me using the patched version, sorry for the noise. -- Bastien
Re: [O] re-search-forward hang in org-link-search
Hi Matthew, I've no problem with the link in hang.org. This is with Org 8.3.1 and Emacs 25.0.50.18. -- Bastien
Re: [O] re-search-forward hang in org-link-search
Fascinating. Maybe the recursive-whitespace Regular Expressions that Pip Cet mentioned are not Emacs freezers in Emacs 25? On Tue, Aug 18, 2015 at 11:30 AM, Bastien b...@gnu.org wrote: Hi Matthew, I've no problem with the link in hang.org. This is with Org 8.3.1 and Emacs 25.0.50.18. -- Bastien
Re: [O] re-search-forward hang in org-link-search
Matthew MacLean archen...@gmail.com writes: Maybe the recursive-whitespace Regular Expressions that Pip Cet mentioned are not Emacs freezers in Emacs 25? No... this is just me using the patched version, sorry for the noise. -- Bastien
Re: [O] re-search-forward hang in org-link-search
Matthew MacLean archen...@gmail.com writes: No worries. If anything it makes be feel better about my own silliness earlier. Well, I'm good at making people feeling better about their own silliness, so you're most welcome. -- Bastien
Re: [O] re-search-forward hang in org-link-search
I'm using Emacs 25.0.50.26, for what it's worth, and they still freeze Emacs here. I don't recall precisely when the problematic regular expressions were introduced, though, that might have been after 8.3.1? On 8/18/15, Matthew MacLean archen...@gmail.com wrote: Fascinating. Maybe the recursive-whitespace Regular Expressions that Pip Cet mentioned are not Emacs freezers in Emacs 25? On Tue, Aug 18, 2015 at 11:30 AM, Bastien b...@gnu.org wrote: Hi Matthew, I've no problem with the link in hang.org. This is with Org 8.3.1 and Emacs 25.0.50.18. -- Bastien
Re: [O] re-search-forward hang in org-link-search
Hi Nicolas, On Thu, Aug 13, 2015 at 11:37 PM, Nicolas Goaziou m...@nicolasgoaziou.fr wrote: Hello, Pip Cet pip...@gmail.com writes: Can you try this patch? That appears to fix the issue here, at least for this one file, at the cost of yet another shy group added to the regular expression. Thanks for the patch. Would you mind providing a proper commit message and send it again using git format-patch? Of course, here we go. Please let me know if there's anything wrong with it still. (I don't think gmail copy-and-paste preserves tabs, so this is sent as an attachment. Is that okay, for future reference?) It would be great if README_contribute could be updated no longer to refer to ChangeLog files, and instead refer to the Emacs CONTRIBUTE file (it would also be great if the special git commit messages could be generated as easily as C-x 4 a does for ChangeLog entries. What do people use for that?); I've attached a patch to change that as well, but I'm not sure whether it's still properly a TINYCHANGE. Again, it would be great if you could let me know if there's anything wrong with it so I can avoid making the same mistake for future contributions. Thanks! Pip From 4dac047849bdb44b631f0b8d7013eb0e15a0f512 Mon Sep 17 00:00:00 2001 From: Philip pip...@gmail.com Date: Thu, 13 Aug 2015 18:49:56 + Subject: [PATCH 1/2] org.el: fix recursive regular expression backtracking * org.el (org-link-search): Avoid recursive regexp backtracking behaviour when following search links. http://article.gmane.org/gmane.emacs.orgmode/100010 TINYCHANGE --- lisp/org.el | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lisp/org.el b/lisp/org.el index a908d9e..7f46687 100755 --- a/lisp/org.el +++ b/lisp/org.el @@ -11128,18 +11128,18 @@ of matched result, with is either `dedicated' or `fuzzy'. \\[[0-9]*\\(?:%\\|/[0-9]*\\)\\] wspaceopt \\))) - (sep (concat \\(?: wspace +\\| cookie +\\))) + (sep (concat \\(?:\\(?: wspace \\| cookie \\)+\\))) (re (concat org-outline-regexp-bol \\(?: org-todo-regexp [ \t]+\\)? \\(?:\\[#.\\][ \t]+\\)? \\(?: org-comment-string [ \t]+\\)? - sep * + sep ? (let ((title (mapconcat #'regexp-quote words - (concat sep + + sep))) (if starred (substring title 1) title)) - sep * + sep ? (org-re \\(?:[ \t]+:[[:alnum:]_@#%%:]+:\\)?) [ \t]*$))) (goto-char (point-min)) -- 2.5.0 From f52f2e428d5d981ad6db43cd8c73724c8d62b037 Mon Sep 17 00:00:00 2001 From: Philip pip...@gmail.com Date: Fri, 14 Aug 2015 16:42:02 + Subject: [PATCH 2/2] Remove references to ChangeLog. * README_contribute: remove references to ChangeLog. Instead, reference the Emacs `CONTRIBUTE' file which documents how to format git commit messages. TINYCHANGE --- README_contribute | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README_contribute b/README_contribute index 3e1ef6d..63ed0bd 100644 --- a/README_contribute +++ b/README_contribute @@ -58,10 +58,10 @@ development. new mechanism to make sure all changes end up in the right place. - - Creating and pushing a change to the Org-mode core requires - you also to provide ChangeLog entries. Just press `C-x 4 a' - in each function or variable you have modified and describe - the change you made in the ChangeLog buffer/file. + - Org-mode no longer uses ChangeLog entries to document + changes. Instead, special commit messages are used, as + described in the `CONTRIBUTE' file in the main Emacs + repository. - Among other things, Org-mode is widely appreciated because of its simplicity, cleanness and consistency. We should try -- 2.5.0
Re: [O] re-search-forward hang in org-link-search
Pip Cet pip...@gmail.com writes: Of course, here we go. Please let me know if there's anything wrong with it still. (I don't think gmail copy-and-paste preserves tabs, so this is sent as an attachment. Is that okay, for future reference?) It would be great if README_contribute could be updated no longer to refer to ChangeLog files, and instead refer to the Emacs CONTRIBUTE file (it would also be great if the special git commit messages could be generated as easily as C-x 4 a does for ChangeLog entries. What do people use for that?); I've attached a patch to change that as well, but I'm not sure whether it's still properly a TINYCHANGE. Again, it would be great if you could let me know if there's anything wrong with it so I can avoid making the same mistake for future contributions. Thanks for your patches. They look good. I applied them with very minor tweaks, explained below. Subject: [PATCH 1/2] org.el: fix recursive regular expression backtracking Fix needs to be capitalized. * org.el (org-link-search): Avoid recursive regexp backtracking behaviour when following search links. Emacs uses American spelling: behavior. Subject: [PATCH 2/2] Remove references to ChangeLog. No full stop at the end of the commit summary. * README_contribute: remove references to ChangeLog. Instead, Remove + - Org-mode no longer uses ChangeLog entries to document We try to change Org-mode into Org mode whenever we can. + changes. Instead, special commit messages are used, as Sentences are separated with two spaces. Regards,
Re: [O] re-search-forward hang in org-link-search
Can you try this patch? That appears to fix the issue here, at least for this one file, at the cost of yet another shy group added to the regular expression. diff --git a/lisp/org.el b/lisp/org.el index a908d9e..7f46687 100755 --- a/lisp/org.el +++ b/lisp/org.el @@ -11128,18 +11128,18 @@ of matched result, with is either `dedicated' or `fuzzy'. \\[[0-9]*\\(?:%\\|/[0-9]*\\)\\] wspaceopt \\))) - (sep (concat \\(?: wspace +\\| cookie +\\))) + (sep (concat \\(?:\\(?: wspace \\| cookie \\)+\\))) (re (concat org-outline-regexp-bol \\(?: org-todo-regexp [ \t]+\\)? \\(?:\\[#.\\][ \t]+\\)? \\(?: org-comment-string [ \t]+\\)? - sep * + sep ? (let ((title (mapconcat #'regexp-quote words - (concat sep + + sep))) (if starred (substring title 1) title)) - sep * + sep ? (org-re \\(?:[ \t]+:[[:alnum:]_@#%%:]+:\\)?) [ \t]*$))) (goto-char (point-min)) (Sorry if this arrives in duplicate, I had neglected to configure Gmail to default to reply-to-all behaviour). On Thu, Aug 13, 2015 at 6:36 PM, Matthew MacLean archen...@gmail.com wrote: On Thu, Aug 13, 2015 at 12:26 PM, Pip Cet pip...@gmail.com wrote: It's not an Emacs bug. Your regular expression whittles down to: (defvar hang-re ^\\*+ *Mawile\\(?:[ ]+\\)+stuff\\(?:[ ]+\\)*$) or even (defvar hang-re \\(?:[ ]+\\)+s) That expression matches the string of spaces separating the first Mawhile headline from its tags in many many different ways, and is one of the type of regular expressions warned about in the (Emacs Lisp Reference) manual. We shouldn't be generating it, and it is a bug, but it is in Org, not Emacs. Ah... Well, this is the reason I posted it here first. In that case, the bug is present as late as a97f2c1830910d7a239dcbb98e200a6e4038acaa. diff --git a/lisp/org.el b/lisp/org.el index a908d9e..7f46687 100755 --- a/lisp/org.el +++ b/lisp/org.el @@ -11128,18 +11128,18 @@ of matched result, with is either `dedicated' or `fuzzy'. \\[[0-9]*\\(?:%\\|/[0-9]*\\)\\] wspaceopt \\))) - (sep (concat \\(?: wspace +\\| cookie +\\))) + (sep (concat \\(?:\\(?: wspace \\| cookie \\)+\\))) (re (concat org-outline-regexp-bol \\(?: org-todo-regexp [ \t]+\\)? \\(?:\\[#.\\][ \t]+\\)? \\(?: org-comment-string [ \t]+\\)? - sep * + sep ? (let ((title (mapconcat #'regexp-quote words - (concat sep + + sep))) (if starred (substring title 1) title)) - sep * + sep ? (org-re \\(?:[ \t]+:[[:alnum:]_@#%%:]+:\\)?) [ \t]*$))) (goto-char (point-min))
Re: [O] re-search-forward hang in org-link-search
On Thu, Aug 13, 2015 at 12:26 PM, Pip Cet pip...@gmail.com wrote: It's not an Emacs bug. Your regular expression whittles down to: (defvar hang-re ^\\*+ *Mawile\\(?:[ ]+\\)+stuff\\(?:[ ]+\\)*$) or even (defvar hang-re \\(?:[ ]+\\)+s) That expression matches the string of spaces separating the first Mawhile headline from its tags in many many different ways, and is one of the type of regular expressions warned about in the (Emacs Lisp Reference) manual. We shouldn't be generating it, and it is a bug, but it is in Org, not Emacs. Ah... Well, this is the reason I posted it here first. In that case, the bug is present as late as a97f2c1830910d7a239dcbb98e200a6e4038acaa.
Re: [O] re-search-forward hang in org-link-search
Hello, Pip Cet pip...@gmail.com writes: Can you try this patch? That appears to fix the issue here, at least for this one file, at the cost of yet another shy group added to the regular expression. Thanks for the patch. Would you mind providing a proper commit message and send it again using git format-patch? Regards, -- Nicolas Goaziou
Re: [O] re-search-forward hang in org-link-search
Yep! This patch works on the original file I noticed the behaviour. On Thu, Aug 13, 2015 at 12:50 PM, Pip Cet pip...@gmail.com wrote: (Sorry if this arrives in duplicate, I had neglected to configure Gmail to default to reply-to-all behaviour). I did that earlier as well, it's a curse!