Browse Source

Fix incorrect time calculation for `org-extend-today-until'

* lisp/org-clock.el (org-clock-get-sum-start): Fix bad date
  math, affecting mode line and clock tables.

Patch by Ian Kelling
Carsten Dominik 4 years ago
parent
commit
d73bde62fe
1 changed files with 6 additions and 4 deletions
  1. 6 4
      lisp/org-clock.el

+ 6 - 4
lisp/org-clock.el

@@ -1368,10 +1368,12 @@ decides which time to use."
       (current-time))
      ((equal cmt "today")
       (setq msg-extra "showing today's task time.")
-      (let* ((dt (decode-time (current-time))))
-	(setq dt (append (list 0 0 0) (nthcdr 3 dt)))
-	(if org-extend-today-until
-	    (setf (nth 2 dt) org-extend-today-until))
+      (let* ((dt (decode-time (current-time)))
+	     (hour (nth 2 dt))
+	     (day (nth 3 dt)))
+	(if (< hour org-extend-today-until) (setf (nth 3 dt) (1- day)))
+	(setf (nth 2 dt) org-extend-today-until)
+	(setq dt (append (list 0 0) (nthcdr 2 dt)))
 	(apply 'encode-time dt)))
      ((or (equal cmt "all")
 	  (and (or (not cmt) (equal cmt "auto"))