diff options
author | Bastien Guerry <bzg@altern.org> | 2013-03-02 17:39:23 +0100 |
---|---|---|
committer | Bastien Guerry <bzg@altern.org> | 2013-03-02 17:39:23 +0100 |
commit | 3b21f246d6f00671e28b82bf963f259febd41573 (patch) | |
tree | c6f74c46cdf9c932fe484c6debcc9ad2793823df | |
parent | c8d5674562e2803f6324f066396df346f464a4c7 (diff) | |
download | org-mode-3b21f246d6f00671e28b82bf963f259febd41573.tar.gz |
org-clock.el (org-clock-out): Fix bug.
* org-clock.el (org-clock-out): Fix bug: if a closing note
needs to be stored in the drawer where clocks are stored,
let's temporarily remove `org-clock-remove-empty-clock-drawer'
from `org-clock-out-hook'.
Thanks to Дядов Васил Стоянов for reporting this bug.
-rw-r--r-- | lisp/org-clock.el | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/lisp/org-clock.el b/lisp/org-clock.el index a536d02..b89e644 100644 --- a/lisp/org-clock.el +++ b/lisp/org-clock.el @@ -1524,7 +1524,15 @@ to, overriding the existing value of `org-clock-out-switch-to-state'." (force-mode-line-update) (message (concat "Clock stopped at %s after HH:MM = " org-time-clocksum-format "%s") te h m (if remove " => LINE REMOVED" "")) - (run-hooks 'org-clock-out-hook) + (let ((h org-clock-out-hook)) + ;; If a closing note needs to be stored in the drawer + ;; where clocks are stored, let's temporarily disable + ;; `org-clock-remove-empty-clock-drawer' + (if (and (equal org-clock-into-drawer org-log-into-drawer) + (eq org-log-done 'note) + org-clock-out-when-done) + (setq h (delq 'org-clock-remove-empty-clock-drawer h))) + (mapc (lambda (f) (funcall f)) h)) (unless (org-clocking-p) (org-clock-delete-current))))))) |