Bug: Fontification: Heading following a comment
Current master branch Org. Create an Org file with just the following two lines # * A Save, kill the buffer, find the file again. Then "* A" is in org-meta-line face.
Re: Bug: Fontification: Heading following a comment
Hi Sebastian, Sebastian Miele writes: > Current master branch Org. Create an Org file with just the following > two lines > > # > * A > > Save, kill the buffer, find the file again. Then "* A" is in > org-meta-line face. For the record, the bug is still here in master. I'm adding it to https://updates.orgmode.org if someone wants to try fixing this. -- Bastien
Re: [PATCH] Bug: Fontification: Heading following a comment
Hi, The simple patch attached should fix this bug. >From 27dd7e7cbde6650932342d302000914d72179327 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Miquel?= Date: Tue, 15 Sep 2020 08:08:14 +0200 Subject: [PATCH] org.el (org-fontify-meta-lines-and-blocks-1): Fix meta lines regexp * lisp/org.el (org-fontify-meta-lines-and-blocks-1): Fix meta lines regexp TINYCHANGE --- lisp/org.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/org.el b/lisp/org.el index 020cfc873..038b4a7e0 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -5221,7 +5221,7 @@ by a #." (when (re-search-forward (rx bol (group (zero-or-more blank) "#" (group (group (or (seq "+" (one-or-more (any "a-zA-Z")) (optional ":")) - space + blank eol)) (optional (group "_" (group (one-or-more (any "a-zA-Z")) (zero-or-more blank) -- 2.28.0
Re: [PATCH] Bug: Fontification: Heading following a comment
Hello, Sebastien Miquel writes: > (rx bol (group (zero-or-more blank) "#" > (group (group (or (seq "+" (one-or-more (any > "a-zA-Z")) (optional ":")) > - space > + blank This looks wrong, but so does the current regexp. It should not be `space' nor `blank', but [ \t] per Org syntax. Regards, -- Nicolas Goaziou
Re: [PATCH] Bug: Fontification: Heading following a comment
Hi, Thanks for taking a look. Afaict, the only difference between blank and [ \t] are some weird unicode characters. It isn't clear to me which one should be preferable and in what situation. I couldn't find any reference to this in any documentation of Org syntax. I've replaced all instances of blank with (any " \t") in this function (that's the only instances in org.el). The attached patch fixes the original issue. Regards, Sébastien Miquel Nicolas Goaziou wrote: Hello, Sebastien Miquel writes: (rx bol (group (zero-or-more blank) "#" (group (group (or (seq "+" (one-or-more (any "a-zA-Z")) (optional ":")) - space + blank This looks wrong, but so does the current regexp. It should not be `space' nor `blank', but [ \t] per Org syntax. Regards, >From 2bb847473f2199e1dfd03ddcafdd3563ed46ab78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Miquel?= Date: Wed, 16 Sep 2020 07:49:34 +0200 Subject: [PATCH] org.el (org-fontify-meta-lines-and-blocks-1): Fix meta lines regexp * lisp/org.el (org-fontify-meta-lines-and-blocks-1): Fix meta lines regexp to work correctly for lines with only a #. Replace blank in regexp by (any " \t"). TINYCHANGE --- lisp/org.el | 14 +++--- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lisp/org.el b/lisp/org.el index d09d6c8d2..053635c85 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -5219,14 +5219,14 @@ by a #." "Fontify #+ lines and blocks." (let ((case-fold-search t)) (when (re-search-forward - (rx bol (group (zero-or-more blank) "#" + (rx bol (group (zero-or-more (any " \t")) "#" (group (group (or (seq "+" (one-or-more (any "a-zA-Z")) (optional ":")) - space + (any " \t") eol)) (optional (group "_" (group (one-or-more (any "a-zA-Z")) - (zero-or-more blank) + (zero-or-more (any " \t")) (group (group (zero-or-more (not (any " \t\n" - (zero-or-more blank) + (zero-or-more (any " \t")) (group (zero-or-more any) limit t) (let ((beg (match-beginning 0)) @@ -5249,7 +5249,7 @@ by a #." quoting (member block-type org-protecting-blocks)) (when (re-search-forward (rx-to-string `(group bol (or (seq (one-or-more "*") space) - (seq (zero-or-more blank) + (seq (zero-or-more (any " \t")) "#+end" ,(match-string 4) word-end @@ -5323,11 +5323,11 @@ by a #." ;; Handle short captions (save-excursion (beginning-of-line) - (looking-at (rx (group (zero-or-more blank) + (looking-at (rx (group (zero-or-more (any " \t")) "#+caption" (optional "[" (zero-or-more any) "]") ":") - (zero-or-more blank + (zero-or-more (any " \t") (add-text-properties (line-beginning-position) (match-end 1) '(font-lock-fontified t face org-meta-line)) (add-text-properties (match-end 0) (line-end-position) -- 2.28.0
Re: [PATCH] Bug: Fontification: Heading following a comment
Hello, Sébastien Miquel writes: > It isn't clear to me which one should be preferable and in what > situation. It is [ \t] almost everywhere, as shown in the code base. The only exception I know about is when we need to escape with zero-width space, e.g., in `org-emphasis-regexp-components'. > I couldn't find any reference to this in any documentation > of Org syntax. It should be in the document describing the syntax. If it is not there, it should be added. > I've replaced all instances of blank with (any " \t") in this function > (that's the only instances in org.el). > The attached patch fixes the original issue. Thank you. I applied your patch. Regards, -- Nicolas Goaziou
Re: [PATCH] Bug: Fontification: Heading following a comment
FWIW, I'm marking this bug as fixed in 38fbd161e4. Thanks, -- Bastien