in case it isn't already considered, i think storing the conditions of the original call applies to many agenda calls. i run into this issue with the following old code. i set a restriction lock, and run agenda, but g runs agenda without the restriction lock.
(defun alpha-org-agenda-subtree (&optional _arg) "Show agenda for all tasks in subtree. === You can get a fast sorted view with this command. In this example, the agenda will show tasks under my subtree. * top level 1 -- not shown * my subtree -- shown * TODO a * some other headline | (<- point is here) * TODO [#A] b * top level 2 -- not shown If you sort by priority, b will sort above a. === This allows you to organize nodes hierarchically instead of keeping things at the same level merely to allow sorting. " (interactive "P") (org-agenda-set-restriction-lock 'subtree) (let ((org-agenda-sorting-strategy '(user-defined-up category-up)) (org-agenda-text-search-extra-files) (org-agenda-show-inherited-tags)) (org-tags-view nil "LEVEL>0") (setq-local org-agenda-sorting-strategy org-agenda-sorting-strategy))) -- The Kafka Pandemic: <http://thekafkapandemic.blogspot.com> The disease DOES progress. MANY people have died from it. And ANYBODY can get it at any time. "You’ve really gotta quit this and get moving, because this is murder by neglect." --- <http://www.meaction.net/2017/02/03/pwme-people-with-me-are-being-murdered-by-neglect>.