> I tried this but I get: "symbol's function definition is void: > org-trigger-doing"
Oops. That's the old function name. Should be (add-hook 'org-trigger-hook #'org-archive-repeated-task) Best, Ihor Gerardo Moro <gerardomor...@gmail.com> writes: > Thanks for the prompt reply! > I tried this but I get: "symbol's function definition is void: > org-trigger-doing" > > El mar., 17 nov. 2020 a las 14:32, Ihor Radchenko (<yanta...@gmail.com>) > escribió: > >> > Thanks, I don't know how to go about doing that, so I would have to rely >> on >> > others wanting to help me if they consider this to be also useful to them >> > (which I definitely think it is!). >> >> Try the following code. It should archive any repeated task once it is >> marked DONE. >> >> (defun org-archive-repeated-task (arg) >> "Add a copy of the recurring task marked DONE to archive." >> (when (and (eq (plist-get arg :type) 'todo-state-change) >> (string= (plist-get arg :to) "DONE")) ;; The state is changed >> to DONE >> (let* ((pos (plist-get arg :position)) >> (repeater (org-with-point-at pos (org-get-repeat)))) >> (when repeater ;; Only consider tasks with repeater timestamp >> anywhere in the task body >> (my/org-archive-without-delete))))) >> (add-hook 'org-trigger-hook #'org-trigger-doing) >> >> Best, >> Ihor >>