From df0a988a92a4afdc935023e88e50964ce6a852e3 Mon Sep 17 00:00:00 2001 From: Bernt Hansen Date: Thu, 9 Feb 2012 22:43:40 +0000 Subject: [PATCH] Fix J in agenda when clock out hook clocks in again * 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 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lisp/org-clock.el b/lisp/org-clock.el index a1df77687..7dff09461 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)