Hi,
The method org-agenda-show-clocking-issues has a faulty regex, which
leads to false-positive
clocking issues: " Clocked: +(-\\|\\([0-9]+:[0-9]+\\))"
There is no outer group to limit the OR-expression \\|, so the right
half will match timestamps with
a closing parenthesis without any "Clocked" in front of it.
I added a non-capturing group in the attached patch: " Clocked:
+(\\(?:-\\|\\([0-9]+:[0-9]+\\)\\))".
Reproduction:
Define a custom agenda:
(setq org-agenda-custom-commands '(("d" "Clock report for today" agenda ""
((org-agenda-span 1)
(org-agenda-start-with-clockreport-mode t)
(org-agenda-start-with-log-mode
'clockcheck)))))
Use an org file that is included in org-agenda-files, and add this
sample headline:
Sample headline with time and closing parenthesis in it (it happened at
12:00)
Clock in and out of the headline, make sure the clock timespan is at
least 1 minute, and open the
agenda defined above. Observe that the headline is reported as
overlapping with itself, as the
faulty regex will match twice on its agenda line.
Best Regards,
Tim
From ac37efa543ab5823b5f2c62336d3e36b67fe516a Mon Sep 17 00:00:00 2001
From: mosquito-magnet <24659697+mosquito-mag...@users.noreply.github.com>
Date: Sat, 15 May 2021 15:43:28 +0200
Subject: [PATCH] org-agenda.el: Fix clocking issues regex
* org-agenda.el (org-agenda-show-clocking-issues): Fix regex to prevent
false-positive clocking
issue detection.
Regex was missing a grouping to restrict the alternative \| to the
literal parentheses.
TINYCHANGE
---
lisp/org-agenda.el | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index 95848ab9b..bf917d321 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -6059,7 +6059,7 @@ (defun org-agenda-show-clocking-issues ()
'((:background "DarkRed") (:foreground "white"))))
issue face m te ts dt ov)
(goto-char (point-min))
- (while (re-search-forward " Clocked: +(-\\|\\([0-9]+:[0-9]+\\))" nil t)
+ (while (re-search-forward " Clocked: +(\\(?:-\\|\\([0-9]+:[0-9]+\\)\\))"
nil t)
(setq issue nil face def-face)
(catch 'next
(setq m (org-get-at-bol 'org-marker)
--
2.29.0