[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master efb2146: Fix 'timer-next-integral-multiple-of-time'
From: |
Eli Zaretskii |
Subject: |
[Emacs-diffs] master efb2146: Fix 'timer-next-integral-multiple-of-time' |
Date: |
Sat, 20 Oct 2018 05:53:54 -0400 (EDT) |
branch: master
commit efb214622a0f4e077c09e721d134552dfe76ef70
Author: Eli Zaretskii <address@hidden>
Commit: Eli Zaretskii <address@hidden>
Fix 'timer-next-integral-multiple-of-time'
* lisp/emacs-lisp/timer.el
(timer-next-integral-multiple-of-time): Fix recent change for
fractional values of SECS. (Bug#33071)
* test/lisp/emacs-lisp/timer-tests.el
(timer-next-integral-multiple-of-time-2): New test.
---
lisp/emacs-lisp/timer.el | 2 +-
test/lisp/emacs-lisp/timer-tests.el | 8 ++++++++
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/lisp/emacs-lisp/timer.el b/lisp/emacs-lisp/timer.el
index 927e640..e140738 100644
--- a/lisp/emacs-lisp/timer.el
+++ b/lisp/emacs-lisp/timer.el
@@ -101,7 +101,7 @@ of SECS seconds since the epoch. SECS may be a fraction."
time
(encode-time time 1000000000000)))
(hz (cdr ticks-hz))
- (s-ticks (* secs hz))
+ (s-ticks (round (* secs hz)))
(more-ticks (+ (car ticks-hz) s-ticks)))
(encode-time (cons (- more-ticks (% more-ticks s-ticks)) hz))))
diff --git a/test/lisp/emacs-lisp/timer-tests.el
b/test/lisp/emacs-lisp/timer-tests.el
index c5971ee..7a5b926 100644
--- a/test/lisp/emacs-lisp/timer-tests.el
+++ b/test/lisp/emacs-lisp/timer-tests.el
@@ -44,4 +44,12 @@
(timer-next-integral-multiple-of-time '(0 0 0 1) (1+ (ash 1 53)))
(list (ash 1 (- 53 16)) 1))))
+(ert-deftest timer-next-integral-multiple-of-time-2 ()
+ "Test bug#33071."
+ (let* ((tc (current-time))
+ (tce (encode-time tc 100))
+ (nt (timer-next-integral-multiple-of-time tc 0.01))
+ (nte (encode-time nt 100)))
+ (should (= (car nte) (1+ (car tce))))))
+
;;; timer-tests.el ends here
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master efb2146: Fix 'timer-next-integral-multiple-of-time',
Eli Zaretskii <=