1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-06 03:40:56 -08:00

Display times in a more human-readable way in list-timers

* lisp/emacs-lisp/timer-list.el (list-timers): Format the
intervals in a more human-readable way (bug#39956).
This commit is contained in:
Lars Ingebrigtsen 2020-10-28 10:07:03 +01:00
parent e6f8f68e37
commit 0cb44eed6c

View file

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