emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Bug: org-priority face has extra space at the end starting from version 9.4 [9.4 (9.4-elpaplus @ /home/rrudakov/.emacs.d/elpa/org-plus-contrib-20200914/)]
@ 2020-09-15 18:50 Roman Rudakov
  2020-09-16  8:52 ` Protesilaos Stavrou
  0 siblings, 1 reply; 6+ messages in thread
From: Roman Rudakov @ 2020-09-15 18:50 UTC (permalink / raw)
  To: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 1789 bytes --]

Remember to cover the basics, that is, what you expected to happen and
what in fact did happen. You don't know how to make a good report? See

https://orgmode.org/manual/Feedback.html#Feedback

Your bug report will be posted to the Org mailing list.
------------------------------------------------------------------------

Hello,

I use theme which draw boxes around priority cookie. Before updating to
version 9.4 box was rendered just around square brackets, but since
version 9.4 it has additional space at the end.

I think it's related to the fact that org-priority face definition used
to use separate regex which didn't include space, and now it uses
variable org-priority-regexp which does include additional space
character.

;; Old
(defun org-font-lock-add-priority-faces (limit)
"Add the special priority faces."
(while (re-search-forward "^\\*+ .*?\\(\\[#\\(.\\)\\]\\)" limit t)
(add-text-properties
(match-beginning 1) (match-end 1)
(list 'face (org-get-priority-face (string-to-char (match-string 2)))
'font-lock-fontified t))))

;; New
(defun org-font-lock-add-priority-faces (limit)
"Add the special priority faces."
(while (re-search-forward org-priority-regexp limit t)
(add-text-properties
(match-beginning 1) (match-end 1)
(list 'face (org-get-priority-face (string-to-char (match-string 2)))
'font-lock-fontified t))))

(defvar org-priority-regexp ".*?\\(\\[#\\([A-Z0-9]+\\)\\] ?\\)"

Removing space before last question mark fixes my problem, but I'm not
sure it won't affect something.[org-mode-priority-9.3.8.png][org-mode-priority-9.4.png]

Emacs : GNU Emacs 27.1 (build 2, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0, Xaw3d scroll bars)
of 2020-08-11
Package: Org mode version 9.4 (9.4-elpaplus @ /home/rrudakov/.emacs.d/elpa/org-plus-contrib-20200914/)

[-- Attachment #2.1: Type: text/html, Size: 2371 bytes --]

[-- Attachment #2.2: org-mode-priority-9.4.png --]
[-- Type: image/png, Size: 5121 bytes --]

[-- Attachment #2.3: org-mode-priority-9.3.8.png --]
[-- Type: image/png, Size: 5315 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Bug: org-priority face has extra space at the end starting from version 9.4 [9.4 (9.4-elpaplus @ /home/rrudakov/.emacs.d/elpa/org-plus-contrib-20200914/)]
  2020-09-15 18:50 Bug: org-priority face has extra space at the end starting from version 9.4 [9.4 (9.4-elpaplus @ /home/rrudakov/.emacs.d/elpa/org-plus-contrib-20200914/)] Roman Rudakov
@ 2020-09-16  8:52 ` Protesilaos Stavrou
  2020-09-29  8:00   ` Roman Rudakov
  0 siblings, 1 reply; 6+ messages in thread
From: Protesilaos Stavrou @ 2020-09-16  8:52 UTC (permalink / raw)
  To: Roman Rudakov; +Cc: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 1043 bytes --]

Roman Rudakov <rrudakov@pm.me> [2020-09-15, 18:50 +0000]:

> I use theme which draw boxes around priority cookie. Before updating to
> version 9.4 box was rendered just around square brackets, but since
> version 9.4 it has additional space at the end.
>
> I think it's related to the fact that org-priority face definition used
> to use separate regex which didn't include space, and now it uses
> variable org-priority-regexp which does include additional space
> character.
>
> [...]

This issue is noticeable with any face properties for 'org-priority'
such as box, background, underline, overline.

Just to add a reproducible recipe for this case.

On 'emacs -Q' running Org 9.4:

+ C-x C-f /tmp/test.org
+ Insert a heading, like:

    * TODO [#A] This is a test

…see attached screenshot with "default" state.

* Now evaluate the following expression:

    (set-face-attribute 'org-priority nil :underline t)

…see attached screenshot with "edited" state.

-- 
Protesilaos Stavrou
protesilaos.com

[-- Attachment #2: org-9.4-priority-cookie-face-default.png --]
[-- Type: image/png, Size: 26032 bytes --]

[-- Attachment #3: org-9.4-priority-cookie-face-edited.png --]
[-- Type: image/png, Size: 25688 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Bug: org-priority face has extra space at the end starting from version 9.4 [9.4 (9.4-elpaplus @ /home/rrudakov/.emacs.d/elpa/org-plus-contrib-20200914/)]
  2020-09-16  8:52 ` Protesilaos Stavrou
@ 2020-09-29  8:00   ` Roman Rudakov
  2020-10-04 14:36     ` Protesilaos Stavrou
  0 siblings, 1 reply; 6+ messages in thread
From: Roman Rudakov @ 2020-09-29  8:00 UTC (permalink / raw)
  To: Protesilaos Stavrou; +Cc: emacs-orgmode

"Protesilaos Stavrou" <info@protesilaos.com> writes:

> Roman Rudakov <rrudakov@pm.me> [2020-09-15, 18:50 +0000]:
>
>> I use theme which draw boxes around priority cookie. Before updating to
>> version 9.4 box was rendered just around square brackets, but since
>> version 9.4 it has additional space at the end.
>>
>> I think it's related to the fact that org-priority face definition used
>> to use separate regex which didn't include space, and now it uses
>> variable org-priority-regexp which does include additional space
>> character.
>>
>> [...]
>
> This issue is noticeable with any face properties for 'org-priority'
> such as box, background, underline, overline.
>
> Just to add a reproducible recipe for this case.
>
> On 'emacs -Q' running Org 9.4:
>
> + C-x C-f /tmp/test.org
> + Insert a heading, like:
>
>     * TODO [#A] This is a test
>
> …see attached screenshot with "default" state.
>
> * Now evaluate the following expression:
>
>     (set-face-attribute 'org-priority nil :underline t)
>
> …see attached screenshot with "edited" state.
>
> --
> Protesilaos Stavrou
> protesilaos.com

Hello,

I think proper value for `org-priority-regex` should be
".*?\\(\\[#\\([A-Z0-9]+\\)\\]\\) ?", extra space should be moved out of
the brackets, It won't break anything and face definition will be
correct.

Best regards.



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Bug: org-priority face has extra space at the end starting from version 9.4 [9.4 (9.4-elpaplus @ /home/rrudakov/.emacs.d/elpa/org-plus-contrib-20200914/)]
  2020-09-29  8:00   ` Roman Rudakov
@ 2020-10-04 14:36     ` Protesilaos Stavrou
  2020-10-11  6:40       ` Kyle Meyer
  0 siblings, 1 reply; 6+ messages in thread
From: Protesilaos Stavrou @ 2020-10-04 14:36 UTC (permalink / raw)
  To: Roman Rudakov; +Cc: Ilja Kocken, emacs-orgmode

On 2020-09-29, 08:00 +0000, Roman Rudakov <rrudakov@pm.me> wrote:

> "Protesilaos Stavrou" <info@protesilaos.com> writes:
>
>> Roman Rudakov <rrudakov@pm.me> [2020-09-15, 18:50 +0000]:
>>
>>> I use theme which draw boxes around priority cookie. Before updating to
>>> version 9.4 box was rendered just around square brackets, but since
>>> version 9.4 it has additional space at the end.
>>>
>>> I think it's related to the fact that org-priority face definition used
>>> to use separate regex which didn't include space, and now it uses
>>> variable org-priority-regexp which does include additional space
>>> character.
>>>
>>> [...]
>>
>> This issue is noticeable with any face properties for 'org-priority'
>> such as box, background, underline, overline.
>>
>> Just to add a reproducible recipe for this case.
>>
>> On 'emacs -Q' running Org 9.4:
>>
>> + C-x C-f /tmp/test.org
>> + Insert a heading, like:
>>
>>     * TODO [#A] This is a test
>>
>> …see attached screenshot with "default" state.
>>
>> * Now evaluate the following expression:
>>
>>     (set-face-attribute 'org-priority nil :underline t)
>>
>> …see attached screenshot with "edited" state.
>>
>> --
>> Protesilaos Stavrou
>> protesilaos.com
>
> Hello,
>
> I think proper value for `org-priority-regex` should be
> ".*?\\(\\[#\\([A-Z0-9]+\\)\\]\\) ?", extra space should be moved out of
> the brackets, It won't break anything and face definition will be
> correct.
>
> Best regards.

This is to confirm that I and Ilja (in Cc) get the desired behaviour by
evaluating the suggested regexp.

Steps to quickly reproduce this on 'emacs -Q':

+ C-x C-f /tmp/test.org

+ Insert a heading with a priority cookie:

  - * TODO [#A] This is a test

+ Evaluate: (set-face-attribute 'org-priority nil :background "#ddd")

  - The background is just to visualise the extra blank to the right of
    the cookie's closing bracket.  Same principle for underlines,
    overlines, boxes.

+ Eval: (setq org-priority-regexp ".*?\\(\\[#\\([A-Z0-9]+\\)\\]\\) ?")

+ M-x org-mode-restart

+ The extra space which was coloured before should no longer be affected
  by the face properties.  The background we added must only cover the
  priority cookie's text.

Best regards,
Protesilaos


-- 
Protesilaos Stavrou
protesilaos.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Bug: org-priority face has extra space at the end starting from version 9.4 [9.4 (9.4-elpaplus @ /home/rrudakov/.emacs.d/elpa/org-plus-contrib-20200914/)]
  2020-10-04 14:36     ` Protesilaos Stavrou
@ 2020-10-11  6:40       ` Kyle Meyer
  2020-10-12  6:48         ` Protesilaos Stavrou
  0 siblings, 1 reply; 6+ messages in thread
From: Kyle Meyer @ 2020-10-11  6:40 UTC (permalink / raw)
  To: Protesilaos Stavrou, Roman Rudakov; +Cc: Ilja Kocken, emacs-orgmode

Protesilaos Stavrou writes:

> On 2020-09-29, 08:00 +0000, Roman Rudakov <rrudakov@pm.me> wrote:
>
>> "Protesilaos Stavrou" <info@protesilaos.com> writes:
>>
>>> Roman Rudakov <rrudakov@pm.me> [2020-09-15, 18:50 +0000]:
>>>
>>>> I use theme which draw boxes around priority cookie. Before updating to
>>>> version 9.4 box was rendered just around square brackets, but since
>>>> version 9.4 it has additional space at the end.
>>>>
>>>> I think it's related to the fact that org-priority face definition used
>>>> to use separate regex which didn't include space, and now it uses
>>>> variable org-priority-regexp which does include additional space
>>>> character.

Thanks, all, for the excellent report and debugging.

>> I think proper value for `org-priority-regex` should be
>> ".*?\\(\\[#\\([A-Z0-9]+\\)\\]\\) ?", extra space should be moved out of
>> the brackets, It won't break anything and face definition will be
>> correct.
>
> This is to confirm that I and Ilja (in Cc) get the desired behaviour by
> evaluating the suggested regexp.

I'm wary of changing the regexp.  Although the docstring does suggest
the space shouldn't be a part of the first group, the group has included
the space since org-priority-regex was introduced way back in 2008.  And
making the suggested change results in a failing test
(test-org/entry-put).  So at this point, I'd lean towards adjusting the
docstring.

I've applied a different fix for the regression (b1de0c8e4).


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Bug: org-priority face has extra space at the end starting from version 9.4 [9.4 (9.4-elpaplus @ /home/rrudakov/.emacs.d/elpa/org-plus-contrib-20200914/)]
  2020-10-11  6:40       ` Kyle Meyer
@ 2020-10-12  6:48         ` Protesilaos Stavrou
  0 siblings, 0 replies; 6+ messages in thread
From: Protesilaos Stavrou @ 2020-10-12  6:48 UTC (permalink / raw)
  To: Kyle Meyer; +Cc: Roman Rudakov, Protesilaos Stavrou, emacs-orgmode, Ilja Kocken

On 2020-10-11, 02:40 -0400, Kyle Meyer <kyle@kyleam.com> wrote:

> I'm wary of changing the regexp.  Although the docstring does suggest
> the space shouldn't be a part of the first group, the group has included
> the space since org-priority-regex was introduced way back in 2008.  And
> making the suggested change results in a failing test
> (test-org/entry-put).  So at this point, I'd lean towards adjusting the
> docstring.
>
> I've applied a different fix for the regression (b1de0c8e4).

Thank you Kyle!  I can confirm that the issue is no longer present on my
end.

-- 
Protesilaos Stavrou
protesilaos.com


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-10-12  6:49 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-15 18:50 Bug: org-priority face has extra space at the end starting from version 9.4 [9.4 (9.4-elpaplus @ /home/rrudakov/.emacs.d/elpa/org-plus-contrib-20200914/)] Roman Rudakov
2020-09-16  8:52 ` Protesilaos Stavrou
2020-09-29  8:00   ` Roman Rudakov
2020-10-04 14:36     ` Protesilaos Stavrou
2020-10-11  6:40       ` Kyle Meyer
2020-10-12  6:48         ` Protesilaos Stavrou

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).