emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[O] [PATCH 1/2] Allow setting default clocking task to current clocking


From: Bernt Hansen
Subject: [O] [PATCH 1/2] Allow setting default clocking task to current clocking task
Date: Wed, 9 Mar 2011 20:40:20 -0500

* 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 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/lisp/org-clock.el b/lisp/org-clock.el
index c0c6c82..693025a 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)))
-- 
1.7.4.1.208.gf7c6c




reply via email to

[Prev in Thread] Current Thread [Next in Thread]