From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bernt Hansen Subject: [PATCH] Fix J in agenda when clock out hook clocks in again Date: Thu, 9 Feb 2012 12:43:40 -0500 Message-ID: <1328809420-31933-1-git-send-email-bernt@norang.ca> Return-path: Received: from eggs.gnu.org ([140.186.70.92]:35762) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RvY2R-0004mz-LO for emacs-orgmode@gnu.org; Thu, 09 Feb 2012 12:44:12 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RvY2P-0001lg-2Z for emacs-orgmode@gnu.org; Thu, 09 Feb 2012 12:44:06 -0500 Received: from mho-02-ewr.mailhop.org ([204.13.248.72]:57663) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RvY2O-0001jp-VA for emacs-orgmode@gnu.org; Thu, 09 Feb 2012 12:44:05 -0500 Received: from cpe000102d0fe75-cm0012256ecbde.cpe.net.cable.rogers.com ([72.136.255.45] helo=mail.norang.ca) by mho-02-ewr.mailhop.org with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.72) (envelope-from ) id 1RvY2H-00032s-BF for emacs-orgmode@gnu.org; Thu, 09 Feb 2012 17:43:57 +0000 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org Cc: Bernt Hansen * 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