Subject: 27.0.50; org-agenda lists invalid Diary entries
From: Thomas Fitzsimmons <[email-masked]>
To: [email-masked]
Cc: Justin Abrahms <[email-masked]>
Date: Fri, 13 Dec 2019 17:14:16 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

Justin reported to me a bug he found while using Excorporate.

In Justin's setup, Excorporate retrieves meeting details from a server
then writes them to a Diary file.  Org agenda reads from that Diary
file.

In the failing case, the meeting details happened to contain lines whose
middles matched diary-time-regexp, e.g. any URL containing 0-9 and then
'h'.  Those non-entry lines were displayed as Diary: entries in the Org
agenda, when they shouldn't have been.

Justin confirmed the attached patch fixes the problem for him.  Can an
Org mode maintainer review it?

Thanks,
Thomas

From 938be223a8bfd75df61a703d392d2154b6c479c4 Mon Sep 17 00:00:00 2001
From: Thomas Fitzsimmons <[email-masked]>
Date: Fri, 13 Dec 2019 15:57:28 -0500
Subject: [PATCH] Fix time regexp in org-get-entries-from-diary

* lisp/org/org-agenda.el (org-get-entries-from-diary): Make time regular
expression more precise.

Reported-by: Justin Abrahms <[email-masked]>
---
 lisp/org/org-agenda.el | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lisp/org/org-agenda.el b/lisp/org/org-agenda.el
index 2404ca43dc..05c35b8ac3 100644
--- a/lisp/org/org-agenda.el
+++ b/lisp/org/org-agenda.el
@@ -5135,6 +5135,7 @@ org-get-entries-from-diary
 	  (cons 'org-diary-default-entry diary-list-entries-hook))
 	 (diary-file-name-prefix nil) ; turn this feature off
 	 (diary-modify-entry-list-string-function 'org-modify-diary-entry-string)
+	 (diary-time-regexp (concat "^" diary-time-regexp))
 	 entries
 	 (org-disable-agenda-to-diary t))
     (save-excursion
-- 
2.24.0