]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/emacs-lisp/timer.el (timer-create): Don't inline it
authorStefan Monnier <monnier@iro.umontreal.ca>
Fri, 3 Sep 2021 23:41:23 +0000 (19:41 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Sat, 4 Sep 2021 16:52:16 +0000 (12:52 -0400)
lisp/emacs-lisp/timer.el

index 5c658eba8031289476402ee78ebef7519aa38a95..44d70cde6bc84063ca822c4875c1baa98601209e 100644 (file)
@@ -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),
   ;; 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)