瀏覽代碼

Bug fix for clock history.

Now it is possible to select also the current clocking task after
pressing C-u C-c C-x C-i.  What will happen then is that this
entry will be clocked out, and then clocked in again.
Carsten Dominik 17 年之前
父節點
當前提交
c490fe784a
共有 1 個文件被更改,包括 6 次插入5 次删除
  1. 6 5
      lisp/org-clock.el

+ 6 - 5
lisp/org-clock.el

@@ -209,16 +209,16 @@ the clocking selection, associated with the letter `d'."
 	ts selected-task)
     (when (equal select '(4))
       (setq selected-task (org-clock-select-task "Clock-in on task: "))
-      (or selected-task
-	  (error "Abort")))
+      (if selected-task
+	  (setq selected-task (copy-marker selected-task))
+	(error "Abort")))
     ;; Are we interrupting the clocking of a differnt task?
     (if interrupting
 	(progn
 	  (move-marker org-clock-interrupted-task
 		       (marker-position org-clock-marker)
 		       (marker-buffer org-clock-marker))
-	  (let ((org-clock-inhibit-clock-restart t))
-	    (org-clock-out t))))
+	  (org-clock-out t)))
     
     (when (equal select '(16))
       (save-excursion
@@ -229,7 +229,8 @@ the clocking selection, associated with the letter `d'."
       (org-back-to-heading t)
       (when (and selected-task (marker-buffer selected-task))
 	(set-buffer (marker-buffer selected-task))
-	(goto-char selected-task))
+	(goto-char selected-task)
+	(move-marker selected-task nil))
       (or interrupting (move-marker org-clock-interrupted-task nil))
       (org-clock-history-push)
       (when (and org-clock-in-switch-to-state