]> git.eshelyaron.com Git - emacs.git/commitdiff
Display times in a more human-readable way in list-timers
authorLars Ingebrigtsen <larsi@gnus.org>
Wed, 28 Oct 2020 09:07:03 +0000 (10:07 +0100)
committerLars Ingebrigtsen <larsi@gnus.org>
Wed, 28 Oct 2020 09:08:09 +0000 (10:08 +0100)
* lisp/emacs-lisp/timer-list.el (list-timers): Format the
intervals in a more human-readable way (bug#39956).

lisp/emacs-lisp/timer-list.el

index 00d09696d2a31009b1b62378a1f73c9336cc4ccd..725ca312fcabf9e3c2f14570ee05391280b414b6 100644 (file)
                 (let ((time (list (aref timer 1)
                                  (aref timer 2)
                                  (aref timer 3))))
-                  (format "%10.2f"
-                         (float-time
-                          (if (aref timer 7)
-                              time
-                            (time-subtract time nil)))))
-                'help-echo "Time in sec till next invocation")
+                  (format "%12s"
+                          (format-seconds "%dd %hh %mm %z%ss"
+                                         (float-time
+                                          (if (aref timer 7)
+                                              time
+                                            (time-subtract time nil))))))
+                'help-echo "Time until next invocation")
               ;; Repeat.
-              ,(propertize
-                (let ((repeat (aref timer 4)))
-                  (cond
-                   ((numberp repeat)
-                    (format "%8.1f" repeat))
-                   ((null repeat)
-                    "       -")
-                   (t
-                    (format "%8s" repeat))))
-                'help-echo "Symbol: repeat; number: repeat interval in sec")
+              ,(let ((repeat (aref timer 4)))
+                 (cond
+                  ((numberp repeat)
+                   (propertize
+                    (format "%12s" (format-seconds "%dd %hh %mm %z%ss" repeat))
+                    'help-echo "Repeat interval"))
+                  ((null repeat)
+                   (propertize "           -" 'help-echo "Runs once"))
+                  (t
+                   (format "%12s" repeat))))
               ;; Function.
               ,(propertize
                 (let ((cl-print-compiled 'static)
@@ -93,8 +94,8 @@
   (setq-local revert-buffer-function #'list-timers)
   (setq tabulated-list-format
         '[("Idle" 6 timer-list--idle-predicate)
-          ("      Next" 12 timer-list--next-predicate)
-          ("  Repeat" 11 timer-list--repeat-predicate)
+          ("        Next" 12 timer-list--next-predicate)
+          ("      Repeat" 12 timer-list--repeat-predicate)
           ("Function" 10 timer-list--function-predicate)]))
 
 (defun timer-list--idle-predicate (A B)