Fix: Catch errors in preamble evaluation

This commit is contained in:
Caleb Chase 2022-06-23 16:43:45 -05:00
parent 83cc00a27d
commit 62f4e0b110

View file

@ -1066,15 +1066,19 @@ defined in `org-ql-predicates' by calling `org-ql-defpred'."
(or (when org-ql-preamble
;; Only one preamble is allowed
element)
(pcase element
(`(or _) element)
(condition-case err
(pcase element
(`(or _) element)
,@preamble-patterns
,@preamble-patterns
(`(and . ,rest)
(let ((clauses (mapcar #'rec rest)))
`(and ,@(-non-nil clauses))))
(_ element)))))
(`(and . ,rest)
(let ((clauses (mapcar #'rec rest)))
`(and ,@(-non-nil clauses))))
(_ element))
(error
(message "Preamble error: %s" err)
nil)))))
(setq query (pcase (mapcar #'rec (list query))
((or `(nil)
`((nil))