It doesn't seem to be any relevant computational penalty:

    (when (equal arg '(4))
      (setq org-select-this-todo-keyword
        (completing-read "Keyword (or KWD1|K2D2|...): "
                 (mapcar #'list kwds) nil nil)))
<------------ (1)
    (and (equal 0 arg) (setq org-select-this-todo-keyword nil))
    (catch 'exit
      (when org-agenda-sticky
    (setq org-agenda-buffer-name
          (if (stringp org-select-this-todo-keyword)
          (format "*Org Agenda(%s:%s)*" (or org-keys "t")
              org-select-this-todo-keyword)
        (format "*Org Agenda(%s)*" (or org-keys "t")))))
      (org-agenda-prepare "TODO")                        <------------ (2)

It's true that the user might abort the prompt (1) without executing
(2) but that's an exceptional use case.

Reply via email to