diff options
author | Kyle Meyer <kyle@kyleam.com> | 2014-10-16 15:17:00 -0400 |
---|---|---|
committer | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2014-10-17 00:09:32 +0200 |
commit | 70e0b08e6632ec5d437dcd05db14a698bbc9489d (patch) | |
tree | a8fb3f926776f62971f837095b61cb4af55fdc30 | |
parent | 1feafbfa99b27d093db18b5423aba8e604e2a0c9 (diff) | |
download | org-mode-70e0b08e6632ec5d437dcd05db14a698bbc9489d.tar.gz |
org-clock: Fix CLOCK_INTO_DRAWER property check
* lisp/org-clock.el (org-clock-into-drawer): Fix processing of
properties so that they can override global value.
Previously, if the 'CLOCK_INTO_DRAWER' or 'LOG_INTO_DRAWER' property was
nil, the local property setting would not override the global
variable [1]. These changes make the behavior match the docstring
description ('CLOCK_INTO_DRAWER' and 'LOG_INTO_DRAWER' properties
override `org-clock-into-drawer', with 'CLOCK_INTO_DRAWER' given
precedence).
[1] http://stackoverflow.com/questions/26405415/how-to-locally-unset-org-clock-into-drawer-t
TINYCHANGE
-rw-r--r-- | lisp/org-clock.el | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/lisp/org-clock.el b/lisp/org-clock.el index 2ffcbfa..092a6aa 100644 --- a/lisp/org-clock.el +++ b/lisp/org-clock.el @@ -74,13 +74,15 @@ if the current entry has or inherits a LOG_INTO_DRAWER property, it will be used instead of the default value. The default is the value of the customizable variable `org-clock-into-drawer', which see." - (let ((p (org-entry-get nil "CLOCK_INTO_DRAWER" 'inherit)) - (q (org-entry-get nil "LOG_INTO_DRAWER" 'inherit))) - (cond - ((or (not (or p q)) (equal p "nil") (equal q "nil")) org-clock-into-drawer) - ((or (equal p "t") (equal q "t")) "LOGBOOK") - ((not p) q) - (t p)))) + (let ((p (org-entry-get nil "CLOCK_INTO_DRAWER" 'inherit t)) + (q (org-entry-get nil "LOG_INTO_DRAWER" 'inherit t))) + (cond ((equal p "nil") nil) + ((equal p "t") t) + (p) + ((equal q "nil") nil) + ((equal q "t") t) + (q) + (t org-clock-into-drawer)))) (defcustom org-clock-out-when-done t "When non-nil, clock will be stopped when the clocked entry is marked DONE. |