Fix: (org-agenda-ng) Handle just query as arguments
This commit is contained in:
parent
d73175714c
commit
2001c88ed5
1 changed files with 9 additions and 1 deletions
|
|
@ -68,16 +68,24 @@ When nil, buffers are widened before being searched."
|
|||
(let ((files '(org-agenda-files))
|
||||
pred sort narrow)
|
||||
;; Parse args manually (so we can leave FILES nil for a default argument).
|
||||
;; TODO: DRY this and org-ql, I think.
|
||||
(pcase args
|
||||
(`(,arg-files ,arg-pred . ,(and rest (guard (keywordp (car rest)))))
|
||||
;; Files, query, and keyword args (FIXME: Can I combine this and the next one? Does it
|
||||
;; matter if rest is nil or starts with a keyword?)
|
||||
(setq files arg-files
|
||||
pred arg-pred)
|
||||
(set-keyword-args rest))
|
||||
(`(,arg-pred . ,(and rest (guard (keywordp (car rest)))))
|
||||
;; Query and keyword args, no files
|
||||
(setq pred arg-pred)
|
||||
(set-keyword-args rest)))
|
||||
(set-keyword-args rest))
|
||||
(`(,arg-pred)
|
||||
;; Only query
|
||||
(setq pred arg-pred)))
|
||||
;; Call --agenda
|
||||
`(org-agenda-ng--agenda ,files
|
||||
;; TODO: Probably better to just use eval on org-ql rather than reimplementing parts of it here.
|
||||
(byte-compile (lambda ()
|
||||
(cl-symbol-macrolet ((= #'=) (< #'<) (> #'>) (<= #'<=) (>= #'>=))
|
||||
,pred)))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue