From d008facdabd8062ab0fe724aaabd0649be7156da Mon Sep 17 00:00:00 2001 From: Bernt Hansen Date: Thu, 10 Mar 2011 06:40:20 +0000 Subject: [PATCH] Allow setting default clocking task to current clocking task * lisp/org-clock.el (org-clock-in): Set default clocking task when already clocking the task The default clocking task can now be set to the current clocking task. Previously this just threw an error stating the clock continues in the current clocking task. The double prefix now forces setting the default clocking task instead of forcing the user to clock out and back in again just to set the default clocking task to the current clocking task. --- lisp/org-clock.el | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lisp/org-clock.el b/lisp/org-clock.el index c0c6c827f..693025adf 100644 --- a/lisp/org-clock.el +++ b/lisp/org-clock.el @@ -992,6 +992,7 @@ the clocking selection, associated with the letter `d'." ts selected-task target-pos (msg-extra "") (leftover (and (not org-clock-resolving-clocks) org-clock-leftover-time))) + (when (and org-clock-auto-clock-resolution (or (not interrupting) (eq t org-clock-auto-clock-resolution)) @@ -1000,11 +1001,17 @@ the clocking selection, associated with the letter `d'." (setq org-clock-leftover-time nil) (let ((org-clock-clocking-in t)) (org-resolve-clocks))) ; check if any clocks are dangling + (when (equal select '(4)) (setq selected-task (org-clock-select-task "Clock-in on task: ")) (if selected-task (setq selected-task (copy-marker selected-task)) (error "Abort"))) + + (when (equal select '(16)) + ;; Mark as default clocking task + (org-clock-mark-default-task)) + (when interrupting ;; We are interrupting the clocking of a different task. ;; Save a marker to this task, so that we can go back. @@ -1028,10 +1035,6 @@ the clocking selection, associated with the letter `d'." (let ((org-clock-clocking-in t)) (org-clock-out t))) - (when (equal select '(16)) - ;; Mark as default clocking task - (org-clock-mark-default-task)) - ;; Clock in at which position? (setq target-pos (if (and (eobp) (not (org-on-heading-p))) -- 2.11.4.GIT