From 80d7f710f2fab902e46aa3fddb8e1c1795420af3 Mon Sep 17 00:00:00 2001 From: Andrea Corallo Date: Sun, 2 Aug 2020 17:01:42 +0200 Subject: [PATCH] * Fix defsubst missing inline Bug#42664 * lisp/emacs-lisp/byte-run.el (defsubst): Do not native compile defsubsts to have them always effective. --- lisp/emacs-lisp/byte-run.el | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lisp/emacs-lisp/byte-run.el b/lisp/emacs-lisp/byte-run.el index 4c1dce264a7..539846683f0 100644 --- a/lisp/emacs-lisp/byte-run.el +++ b/lisp/emacs-lisp/byte-run.el @@ -364,7 +364,12 @@ You don't need this. (See bytecomp.el commentary for more details.) '(nil byte-compile-inline-expand)) (error "`%s' is a primitive" name)) `(prog1 - (defun ,name ,arglist ,@body) + (defun ,name ,arglist + ;; Never native-compile defsubsts as we need the byte + ;; definition in `byte-compile-unfold-bcf' to perform the + ;; inlining (Bug#42664). + (declare (speed -1)) + ,@body) (eval-and-compile (put ',name 'byte-optimizer 'byte-compile-inline-expand)))) -- 2.39.5