From 7fc6d3df3939e80b1261ed5cb8c77b389ee117af Mon Sep 17 00:00:00 2001 From: Bastien Guerry Date: Thu, 30 Jan 2014 11:57:43 +0100 Subject: [PATCH] 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. --- lisp/org-agenda.el | 41 +++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el index d3ee38a46..a98ccba4c 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) -- 2.11.4.GIT