Fix: (org-ql--define-query-preamble-fn) Pcase pattern for Emacs 30

Now all tests and lints pass on Emacs versions 27.1-29.4.  But on the
current Emacs snapshot build used in CI, Buttercup is hanging
indefinitely, which may be the same problem that led Guix to disable
the tests in
<https://git.savannah.gnu.org/cgit/guix.git/commit/gnu/packages/emacs-xyz.scm?id=3add97c7761e6c58a1d7405f417a49dda5f0a742>.
But I've no way of knowing whether that's a problem in org-ql (seems
unlikely), Emacs snapshot, or Buttercup.  It would be nice to solve
this before Emacs 30.1 is released, but I don't know how to peer
inside Buttercup to find out what it's hanging on.

Fixes #433.

Reported-by: Akira Komamura <akira.komamura@gmail.com>
Co-developed-by: Stefan Monnier <monnier@iro.umontreal.ca>
This commit is contained in:
Adam Porter 2024-06-27 09:10:47 -05:00
parent 611198155d
commit b7d4856f92
3 changed files with 56 additions and 51 deletions

View file

@ -1118,10 +1118,10 @@ defined in `org-ql-predicates' by calling `org-ql-defpred'."
;; Only one preamble is allowed
element)
(pcase element
;; FIXME: Should the pattern below be "`(or . ,_)"? It
;; seems to work fine either way, but it seems like it
;; should be changed.
(`(or _) element)
(`(or ,element)
;; A predicate with a single name: unwrap the OR. (Pcase doesn't like
;; "one-armed ORs", giving a "Please avoid it" compilation error.)
element)
,@preamble-patterns