I want to sum clock times for items which are in state TODO in the agenda.
Using org-clocksum-curret-item as a template:
(defun org-clock-sum-current-item (&optional tstart)
"Return time, clocked on current item in total."
(save-excursion
(save-restriction
(org-narrow-to-subtree)
(org-clock-sum tstart)
org-clock-file-total-minutes)))
The following works the same as above (nil start and end time):
(defun my-org-clock-sum-current-item-in-state ()
(save-excursion
(save-restriction
(org-narrow-to-subtree)
(org-clock-sum nil nil)
org-clock-file-total-minutes)))
This version with a filter reports zero clocked time, as expected:
(defun my-org-clock-sum-current-item-in-state ()
(save-excursion
(save-restriction
(org-narrow-to-subtree)
(org-clock-sum nil nil (lambda () nil))
org-clock-file-total-minutes)))
And this version with a filter goes into an infinite loop some where
in org-clock-sum after processing several items:
(defun my-org-clock-sum-current-item-in-state ()
(save-excursion
(save-restriction
(org-narrow-to-subtree)
(org-clock-sum nil nil (lambda () t))
org-clock-file-total-minutes)))
I would like to use a filter like:
(lambda () (string-equal "TODO" (org-get-todo-state)))
But it looks like no filters are working.
------------------------------------------------------------------------
Emacs : GNU Emacs 24.4.1 (x86_64-redhat-linux-gnu, GTK+ Version 3.14.5)
of 2014-11-19 on buildvm-03.phx2.fedoraproject.org
Package: Org-mode version 8.2.10 (8.2.10-34-gc41bbc-elpa @
/home/me/.emacs.d/elpa/org-20150223/)