This is rudimentary, experimental, proof-of-concept alternative code for generating Org agendas. It doesn't support nearly as many features as =org-agenda.el= does, but it might be useful in some way. It uses some existing code from =org-agenda.el= and tries to be compatible with parts of it, like =org-agenda-finalize-entries= and =org-agenda-finalize=. Here's an example of generating a kind of agenda view for today (note that the grouping is provided by [[https://github.com/alphapapa/org-super-agenda][org-super-agenda]], not this code: #+BEGIN_SRC elisp (org-agenda-ng "~/src/emacs/org-super-agenda/test/test.org" (and (or (date :date '= (org-today)) (date :deadline '<= (+ org-deadline-warning-days (org-today))) (date :scheduled '<= (org-today))) (not (apply #'todo org-done-keywords-for-agenda)))) #+END_SRC [[screenshot.png]] Here are some other examples: #+BEGIN_SRC elisp (org-agenda-ng org-agenda-files (and (todo "TODO" "SOMEDAY") (tags "computer" "Emacs") (category "main"))) (org-agenda-ng org-agenda-files (habit)) (org-agenda-ng "~/org/main.org" (or (habit) (date :deadline '<= (org-today)) (date :scheduled '<= (org-today)) (and (todo "DONE" "CANCELLED") (date :closed '= (org-today))))) #+END_SRC