[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master d1f3247: Make recent timer changes more backwards-compatible
From: |
Lars Ingebrigtsen |
Subject: |
master d1f3247: Make recent timer changes more backwards-compatible |
Date: |
Fri, 3 Sep 2021 04:40:29 -0400 (EDT) |
branch: master
commit d1f324766631ad15b1e893463e93000298f44480
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>
Make recent timer changes more backwards-compatible
* lisp/emacs-lisp/timer.el (timerp, timer-event-handler): Make
backwards-compatible with old .elc files that have their own
versions of `timer-create'd structures.
---
lisp/emacs-lisp/timer.el | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/lisp/emacs-lisp/timer.el b/lisp/emacs-lisp/timer.el
index f771510..5c658eb 100644
--- a/lisp/emacs-lisp/timer.el
+++ b/lisp/emacs-lisp/timer.el
@@ -57,7 +57,10 @@
(defun timerp (object)
"Return t if OBJECT is a timer."
- (and (vectorp object) (= (length object) 10)))
+ (and (vectorp object)
+ ;; Timers are now ten elements, but old .elc code may have
+ ;; shorter versions of `timer-create'.
+ (<= 9 (length object) 10)))
(defsubst timer--check (timer)
(or (timerp timer) (signal 'wrong-type-argument (list #'timerp timer))))
@@ -293,7 +296,8 @@ This function is called, by name, directly by the C code."
repeats)))))
;; If we want integral multiples, we have to recompute
;; the repetition.
- (when (and (timer--integral-multiple timer)
+ (when (and (> (length timer) 9) ; Backwards compatible.
+ (timer--integral-multiple timer)
(not (timer--idle-delay timer)))
(setf (timer--time timer)
(timer-next-integral-multiple-of-time
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master d1f3247: Make recent timer changes more backwards-compatible,
Lars Ingebrigtsen <=