summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyle Meyer <kyle@kyleam.com>2014-10-16 15:17:00 -0400
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2014-10-17 00:09:32 +0200
commit70e0b08e6632ec5d437dcd05db14a698bbc9489d (patch)
treea8fb3f926776f62971f837095b61cb4af55fdc30
parent1feafbfa99b27d093db18b5423aba8e604e2a0c9 (diff)
downloadorg-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.el16
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.