emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals-release/org 1f617727f1: org-at-timestamp-p: Fix invalid


From: ELPA Syncer
Subject: [elpa] externals-release/org 1f617727f1: org-at-timestamp-p: Fix invalid regexp groups for 'agenda scope
Date: Mon, 18 Apr 2022 10:57:41 -0400 (EDT)

branch: externals-release/org
commit 1f617727f11cff4e49235b4d79bad11b4e271e16
Author: Ihor Radchenko <yantar92@gmail.com>
Commit: Ihor Radchenko <yantar92@gmail.com>

    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
---
 lisp/org.el | 24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)

diff --git a/lisp/org.el b/lisp/org.el
index 4524812c55..6048689d30 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)))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]