From: Andrea Corallo Date: Sun, 13 Sep 2020 16:15:32 +0000 (+0200) Subject: * Fix defsbust declare effectiveness introduced by 80d7f710 (Bug#43280). X-Git-Tag: emacs-28.0.90~2727^2~444 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=21021e56ad609a459ec117bcfc60b2802176a9a7;p=emacs.git * Fix defsbust declare effectiveness introduced by 80d7f710 (Bug#43280). * lisp/emacs-lisp/byte-run.el (defsubst): Do not add a speed declaration as this breaks a pre existing ones if present but rather calls directly `byte-run--set-speed'. --- diff --git a/lisp/emacs-lisp/byte-run.el b/lisp/emacs-lisp/byte-run.el index 8c16c172bed..df693ab1c83 100644 --- a/lisp/emacs-lisp/byte-run.el +++ b/lisp/emacs-lisp/byte-run.el @@ -363,13 +363,12 @@ You don't need this. (See bytecomp.el commentary for more details.) (or (memq (get name 'byte-optimizer) '(nil byte-compile-inline-expand)) (error "`%s' is a primitive" name)) + ;; Never native-compile defsubsts as we need the byte + ;; definition in `byte-compile-unfold-bcf' to perform the + ;; inlining (Bug#42664). + (byte-run--set-speed name nil -1) `(prog1 - (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) + (defun ,name ,arglist ,@body) (eval-and-compile (put ',name 'byte-optimizer 'byte-compile-inline-expand))))