Request: Add (org-agenda-check-type nil 'agenda) near the beginning of `org-agenda-todo' to prevent execution unless thing at point is an agenda item. Optionally, add a custom variable (perhaps named `org-agenda-todo-allow-only-agenda-items' or something similar) with default value of nil such that if non-nil, the added (org-agenda-check-type nil 'agenda) statement is called. This ensures that `org-agenda-todo' works the same way as before, unless the user changes the default value.
Reason: Prevents this scenario: When a user marks a recurring task in the Tags List as Done, there is no indication that it happened. The TODO state remains at Todo and the task remains on the list, even though the schedule/deadline date advanced. The user might repeat the action, which will cause the schedule/deadline date to advance a second time. The next schedule/deadline may be missed as a result. This is described in more detail on my blog: See: https://ray-on-emacs.blogspot.com/2026/07/the-problem-with-tags-lists.html Thank you Raymond Zeitler https://ray-on-emacs.blogspot.com/ [email protected]
