diff --git a/lisp/org.el b/lisp/org.el index 4524812c5..6048689d3 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -15012,20 +15012,24 @@ value is equivalent to `inactive'. When at a timestamp, return the position of the point as a symbol among `bracket', `after', `year', `month', `hour', `minute', `day' or a number of character from the last know part of the -time stamp. +time stamp. If diary sexp timestamps, any point inside the timestamp +is considered `day' (i.e. only `bracket', `day', and `after' return +values are possible). When matching, the match groups are the following: - group 1: year - group 2: month - group 3: day number - group 4: day name + group 1: year, if any + group 2: month, if any + group 3: day number, if any + group 4: day name, if any group 5: hours, if any group 6: minutes, if any" - (let* ((regexp (if extended - (if (eq extended 'agenda) - org-element--timestamp-regexp - org-ts-regexp3) - org-ts-regexp2)) + (let* ((regexp + (if extended + (if (eq extended 'agenda) + (rx (or (regexp org-ts-regexp3) + (regexp org-element--timestamp-regexp))) + org-ts-regexp3) + org-ts-regexp2)) (pos (point)) (match? (let ((boundaries (org-in-regexp regexp)))