* org-clock.el (org-clock-out): Do not delete the current clocking task when org-clock-out-hook clocks in another task
My clock out hook keeps the clock running by automatically clocking in a new task (the parent task, or the default task). This sets a new clocking task which was then clobbered at the end of org-clock-out so that J in the agenda would return "No running clock, use `C-c C-x C-j' to jump to the most recent one" We now detect that another task is clocked in and skip clearing the org-clock-current-task variable used by the agenda to determine if the clock is currently running. --- lisp/org-clock.el | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/lisp/org-clock.el b/lisp/org-clock.el index a1df776..7dff094 100644 --- a/lisp/org-clock.el +++ b/lisp/org-clock.el @@ -1387,7 +1387,8 @@ If there is no running clock, throw an error, unless FAIL-QUIETLY is set." (message (concat "Clock stopped at %s after HH:MM = " org-time-clocksum-format "%s") te h m (if remove " => LINE REMOVED" "")) (run-hooks 'org-clock-out-hook) - (org-clock-delete-current)))))) + (unless (org-clocking-p) + (org-clock-delete-current))))))) (add-hook 'org-clock-out-hook 'org-clock-remove-empty-clock-drawer) -- 1.7.9.48.g85da4d