diff options
author | Bastien Guerry <bzg@altern.org> | 2014-01-30 11:57:43 +0100 |
---|---|---|
committer | Bastien Guerry <bzg@altern.org> | 2014-01-30 11:57:43 +0100 |
commit | 7fc6d3df3939e80b1261ed5cb8c77b389ee117af (patch) | |
tree | 212b69656772fb61f6fcfe0b15c952a78cb9ac28 | |
parent | 33a0a198e342dd49f9beb3b507dd994447443dff (diff) | |
download | org-mode-7fc6d3df3939e80b1261ed5cb8c77b389ee117af.tar.gz |
org-agenda.el (org-agenda-drag-line-forward): Call`org-agenda-mark-clocking-task' when done
* org-agenda.el (org-agenda-drag-line-forward): Call
`org-agenda-mark-clocking-task' when done.
(org-agenda-mark-clocking-task): Small refactoring.
-rw-r--r-- | lisp/org-agenda.el | 41 |
1 files changed, 21 insertions, 20 deletions
diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el index d3ee38a..a98ccba 100644 --- a/lisp/org-agenda.el +++ b/lisp/org-agenda.el @@ -3718,12 +3718,7 @@ generating a new one." (org-agenda-fontify-priorities)) (when (and org-agenda-dim-blocked-tasks org-blocker-hook) (org-agenda-dim-blocked-tasks)) - ;; We need to widen when `org-agenda-finalize' is called from - ;; `org-agenda-change-all-lines' (e.g. in `org-agenda-clock-in') - (when org-clock-current-task - (save-restriction - (widen) - (org-agenda-mark-clocking-task))) + (org-agenda-mark-clocking-task) (when org-agenda-entry-text-mode (org-agenda-entry-text-hide) (org-agenda-entry-text-show)) @@ -3760,20 +3755,25 @@ generating a new one." (defun org-agenda-mark-clocking-task () "Mark the current clock entry in the agenda if it is present." - (org-agenda-unmark-clocking-task) - (when (marker-buffer org-clock-hd-marker) - (save-excursion - (goto-char (point-min)) - (let (s ov) - (while (setq s (next-single-property-change (point) 'org-hd-marker)) - (goto-char s) - (when (equal (org-get-at-bol 'org-hd-marker) - org-clock-hd-marker) - (setq ov (make-overlay (point-at-bol) (1+ (point-at-eol)))) - (overlay-put ov 'type 'org-agenda-clocking) - (overlay-put ov 'face 'org-agenda-clocking) - (overlay-put ov 'help-echo - "The clock is running in this item"))))))) + ;; We need to widen when `org-agenda-finalize' is called from + ;; `org-agenda-change-all-lines' (e.g. in `org-agenda-clock-in') + (when org-clock-current-task + (save-restriction + (widen) + (org-agenda-unmark-clocking-task) + (when (marker-buffer org-clock-hd-marker) + (save-excursion + (goto-char (point-min)) + (let (s ov) + (while (setq s (next-single-property-change (point) 'org-hd-marker)) + (goto-char s) + (when (equal (org-get-at-bol 'org-hd-marker) + org-clock-hd-marker) + (setq ov (make-overlay (point-at-bol) (1+ (point-at-eol)))) + (overlay-put ov 'type 'org-agenda-clocking) + (overlay-put ov 'face 'org-agenda-clocking) + (overlay-put ov 'help-echo + "The clock is running in this item"))))))))) (defun org-agenda-unmark-clocking-task () "Unmark the current clocking task." @@ -9952,6 +9952,7 @@ When the optional argument `backward' is non-nil, move backward." (move-beginning-of-line (funcall (if backward '1- '1+) arg)) (insert line) (org-agenda-reapply-filters) + (org-agenda-mark-clocking-task) (move-beginning-of-line 0))))) (defun org-agenda-drag-line-backward (arg) |