org-at-timestamp-p: Fix invalid regexp groups for 'agenda scope

* lisp/org.el (org-at-timestamp-p): Make sure that match groups follow
the docstring in `agenda' scope.  Update docstring explaining return
values for sexp timestamps.

Reported in https://orgmode.org/list/CAKJdtO8bqdbW5N6pRFNQRATjm2daEBDCpJj0njwcd4fmhSJSKQ@mail.gmail.com
This commit is contained in:
Ihor Radchenko 2022-04-15 15:05:39 +08:00
parent 682ccdfffe
commit 1f617727f1
No known key found for this signature in database
GPG Key ID: 6470762A7DA11D8B
1 changed files with 14 additions and 10 deletions

View File

@ -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)))