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.