From c78969d31bf57a83b4700a7cca44d4baaa06e9d9 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 3 Sep 2021 19:41:23 -0400 Subject: [PATCH] * lisp/emacs-lisp/timer.el (timer-create): Don't inline it --- lisp/emacs-lisp/timer.el | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lisp/emacs-lisp/timer.el b/lisp/emacs-lisp/timer.el index 5c658eba803..44d70cde6bc 100644 --- a/lisp/emacs-lisp/timer.el +++ b/lisp/emacs-lisp/timer.el @@ -34,7 +34,7 @@ (cl-defstruct (timer (:constructor nil) (:copier nil) - (:constructor timer-create ()) + (:constructor timer--create ()) (:type vector) (:conc-name timer--)) ;; nil if the timer is active (waiting to be triggered), @@ -55,6 +55,12 @@ ;; sleep, etc). integral-multiple) +(defun timer-create () + ;; BEWARE: This is not an eta-redex, because `timer--create' is inlinable + ;; whereas `timer-create' should not be because we don't want to + ;; hardcode the shape of timers in other .elc files. + (timer--create)) + (defun timerp (object) "Return t if OBJECT is a timer." (and (vectorp object) -- 2.39.2