Short of editing the task and removing the repeater token, is there absolutely any way to mark a repeated task done so that it does not repeat any more?
According to orgmode manual (8.3.2 Repeated tasks):
To mark a task with a repeater as DONE, use
C-- 1 C-c C-t(i.e.,
org-todowith a numeric prefix argument of
You could use
C-u - 1 instead of
(defun org-cancel-repeater () "Cancel a repeater by setting its numeric value to zero." ...
org-agenda this could be done with the same prefix
C-- 1 t. This calls function
(defun org-agenda-todo (&optional arg) "Cycle TODO state of line at point, also in Org-mode file. This changes the line at point, all other lines in the agenda referring to the same tree node, and the headline of the tree node in the Org-mode file."
And inside the function it calls
(org-todo) with the same prefix argument
... (let ((current-prefix-arg arg)) (call-interactively 'org-todo)) ...