I just updated org-mode using package.el and got release 9.5.3
Now I get an error in org-at-timestamp-p
(OATP), which is invoked when calling org-agenda
.
I checked the repository and the problem is in commit 1f617727f1, which added to this function the following code block:
- (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))
The issue arises where OATP uses rx
to process a regex stored in org-ts-regexp3
:
(rx (or (regexp org-ts-regexp3) ; here
(regexp org-element--timestamp-regexp)))
This fails because rx-check
checks the sub-expression (regexp org-ts-regexp3)
to make sure that org-ts-regexp3
is a string, but org-ts-regexp3
is not evaluated, and the symbol org-ts-regexp3
is not a string (it's a symbol), even though it's value is a string.
I'm not sure whether this is a bug in org-mode proper (I would have thought this would be caught before release) or perhaps org-mode expects some version of rx.el
that I do not have. Unfortunately, I don't see a version number in rx.el
, only a copyright date.
I am running Emacs 25 (Aquamacs). So, maybe this code requires Emacs 26? If so, it would be nice if org-mode 9.5.3 was tagged as incompatible with Emacs 25? (It would also be nice if package mode supported roll-back, but that's OT here!)