Emacs 27 marks map-put as obsolete and renames it to map-put!, which
causes byte-compilation warnings (sigh...isn't that the definition of
useless churn?). Of course, map-put! doesn't exist in Emacs 26, so we
can't just use that. I'm beginning to think that it will never be
possible to make the linting clean.
org-get-todo-face uses org-done-keywords, which is a buffer-local
variable, so it may be nil in the context that
org-ql-view--add-todo-face is called. See,
e.g. org-agenda-highlight-todo, which does the same thing.
Thanks to Yiming Chen (@dsdshcym).
Some org-agenda commands check the org-agenda-type text property to
ensure that the command is valid to run in that type of agenda.
Notably this fixes running commands org-agenda-schedule and
org-agenda-deadline.
Setting the type to "search" prohibits some of the functions that are
still not working in these buffers, like org-agenda-do-date-earlier.
Fixes#35.