Skip to content

Commit b7d4856

Browse files
committed
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>
1 parent 6111981 commit b7d4856

File tree

3 files changed

+56
-51
lines changed

3 files changed

+56
-51
lines changed

README.org

+2-1
Original file line numberDiff line numberDiff line change
@@ -556,7 +556,8 @@ Simple links may also be written manually in either sexp or non-sexp form, like:
556556

557557
** 0.9-pre
558558

559-
Nothing new yet.
559+
*Compatibility*
560+
+ Fix compilation error on Emacs 30. ([[https://github.com/alphapapa/org-ql/issues/433][#433]]. Thanks to [[https://github.com/akirak][Akira Komamura]] and [[https://github.com/monnier][Stefan Monnier]].)
560561

561562
*** helm-org-ql
562563

org-ql.el

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

11261126
,@preamble-patterns
11271127

org-ql.info

+50-46
Original file line numberDiff line numberDiff line change
@@ -1091,7 +1091,11 @@ File: README.info, Node: 09-pre, Next: 087, Up: Changelog
10911091
5.1 0.9-pre
10921092
===========
10931093

1094-
Nothing new yet.
1094+
*Compatibility*
1095+
• Fix compilation error on Emacs 30. (#433
1096+
(https://github.com/alphapapa/org-ql/issues/433). Thanks to Akira
1097+
Komamura (https://github.com/akirak) and Stefan Monnier
1098+
(https://github.com/monnier).)
10951099

10961100
* Menu:
10971101

@@ -2088,51 +2092,51 @@ Node: Links39023
20882092
Node: Tips39710
20892093
Node: Changelog40034
20902094
Node: 09-pre40973
2091-
Node: helm-org-ql (1)41122
2092-
Node: 08741263
2093-
Node: 08642494
2094-
Node: 08542728
2095-
Node: 08443384
2096-
Node: 08343836
2097-
Node: 08244177
2098-
Node: 08144570
2099-
Node: 0844991
2100-
Node: 07447715
2101-
Node: 07347940
2102-
Node: 07248674
2103-
Node: 07149595
2104-
Node: 0750406
2105-
Node: 06353272
2106-
Node: 06253805
2107-
Node: 06154112
2108-
Node: 0654682
2109-
Node: 05257738
2110-
Node: 05158040
2111-
Node: 0558465
2112-
Node: 04959996
2113-
Node: 04860278
2114-
Node: 04760627
2115-
Node: 04661036
2116-
Node: 04561444
2117-
Node: 04461805
2118-
Node: 04362164
2119-
Node: 04262367
2120-
Node: 04162528
2121-
Node: 0462775
2122-
Node: 03266876
2123-
Node: 03167279
2124-
Node: 0367476
2125-
Node: 02370776
2126-
Node: 02271010
2127-
Node: 02171290
2128-
Node: 0271495
2129-
Node: 0175573
2130-
Node: Development75674
2131-
Node: Copyright assignment75907
2132-
Node: Notes76497
2133-
Node: Comparison with Org Agenda searches76661
2134-
Node: org-sidebar77550
2135-
Node: License77829
2095+
Node: helm-org-ql (1)41339
2096+
Node: 08741480
2097+
Node: 08642711
2098+
Node: 08542945
2099+
Node: 08443601
2100+
Node: 08344053
2101+
Node: 08244394
2102+
Node: 08144787
2103+
Node: 0845208
2104+
Node: 07447932
2105+
Node: 07348157
2106+
Node: 07248891
2107+
Node: 07149812
2108+
Node: 0750623
2109+
Node: 06353489
2110+
Node: 06254022
2111+
Node: 06154329
2112+
Node: 0654899
2113+
Node: 05257955
2114+
Node: 05158257
2115+
Node: 0558682
2116+
Node: 04960213
2117+
Node: 04860495
2118+
Node: 04760844
2119+
Node: 04661253
2120+
Node: 04561661
2121+
Node: 04462022
2122+
Node: 04362381
2123+
Node: 04262584
2124+
Node: 04162745
2125+
Node: 0462992
2126+
Node: 03267093
2127+
Node: 03167496
2128+
Node: 0367693
2129+
Node: 02370993
2130+
Node: 02271227
2131+
Node: 02171507
2132+
Node: 0271712
2133+
Node: 0175790
2134+
Node: Development75891
2135+
Node: Copyright assignment76124
2136+
Node: Notes76714
2137+
Node: Comparison with Org Agenda searches76878
2138+
Node: org-sidebar77767
2139+
Node: License78046
21362140

21372141
End Tag Table
21382142

0 commit comments

Comments
 (0)