Fix org-minutes-to-clocksum-string to cope with floating point arguments.
authorToby S. Cubitt <tsc25@cantab.net>
Tue, 20 Nov 2012 17:15:21 +0000 (18:15 +0100)
committerNicolas Goaziou <n.goaziou@gmail.com>
Tue, 20 Nov 2012 19:22:59 +0000 (20:22 +0100)
lisp/org.el

index dc411b8..e3354c6 100644 (file)
@@ -16773,19 +16773,19 @@ The format is determined by `org-time-clocksum-format',
          (format org-time-clocksum-fractional-format (/ m 60.0)))
         ;; choice of fractional formats for different time units
         ((and (setq fmt (plist-get org-time-clocksum-fractional-format :years))
-              (> (/ m (* 365 24 60)) 0))
+              (> (/ (truncate m) (* 365 24 60)) 0))
          (format fmt (/ m (* 365 24 60.0))))
         ((and (setq fmt (plist-get org-time-clocksum-fractional-format :months))
-              (> (/ m (* 30 24 60)) 0))
+              (> (/ (truncate m) (* 30 24 60)) 0))
          (format fmt (/ m (* 30 24 60.0))))
         ((and (setq fmt (plist-get org-time-clocksum-fractional-format :weeks))
-              (> (/ m (* 7 24 60)) 0))
+              (> (/ (truncate m) (* 7 24 60)) 0))
          (format fmt (/ m (* 7 24 60.0))))
         ((and (setq fmt (plist-get org-time-clocksum-fractional-format :days))
-              (> (/ m (* 24 60)) 0))
+              (> (/ (truncate m) (* 24 60)) 0))
          (format fmt (/ m (* 24 60.0))))
         ((and (setq fmt (plist-get org-time-clocksum-fractional-format :hours))
-              (> (/ m 60) 0))
+              (> (/ (truncate m) 60) 0))
          (format fmt (/ m 60.0)))
         ((setq fmt (plist-get org-time-clocksum-fractional-format :minutes))
          (format fmt m))
@@ -16805,27 +16805,27 @@ The format is determined by `org-time-clocksum-format',
          (format org-time-clocksum-format (setq n (/ m 60)) (- m (* 60 n)))
        ;; separate formats components
        (and (setq fmt (plist-get org-time-clocksum-format :years))
-            (or (> (setq n (/ m (* 365 24 60))) 0)
+            (or (> (setq n (/ (truncate m) (* 365 24 60))) 0)
                 (plist-get org-time-clocksum-format :require-years))
             (setq clocksum (concat clocksum (format fmt n))
                   m (- m (* n 365 24 60))))
        (and (setq fmt (plist-get org-time-clocksum-format :months))
-            (or (> (setq n (/ m (* 30 24 60))) 0)
+            (or (> (setq n (/ (truncate m) (* 30 24 60))) 0)
                 (plist-get org-time-clocksum-format :require-months))
             (setq clocksum (concat clocksum (format fmt n))
                   m (- m (* n 30 24 60))))
        (and (setq fmt (plist-get org-time-clocksum-format :weeks))
-            (or (> (setq n (/ m (* 7 24 60))) 0)
+            (or (> (setq n (/ (truncate m) (* 7 24 60))) 0)
                 (plist-get org-time-clocksum-format :require-weeks))
             (setq clocksum (concat clocksum (format fmt n))
                   m (- m (* n 7 24 60))))
        (and (setq fmt (plist-get org-time-clocksum-format :days))
-            (or (> (setq n (/ m (* 24 60))) 0)
+            (or (> (setq n (/ (truncate m) (* 24 60))) 0)
                 (plist-get org-time-clocksum-format :require-days))
             (setq clocksum (concat clocksum (format fmt n))
                   m (- m (* n 24 60))))
        (and (setq fmt (plist-get org-time-clocksum-format :hours))
-            (or (> (setq n (/ m 60)) 0)
+            (or (> (setq n (/ (truncate m) 60)) 0)
                 (plist-get org-time-clocksum-format :require-hours))
             (setq clocksum (concat clocksum (format fmt n))
                   m (- m (* n 60))))