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

Reply via email to