diff options
author | Andrea Corallo <akrl@sdf.org> | 2020-09-13 18:15:32 +0200 |
---|---|---|
committer | Andrea Corallo <akrl@sdf.org> | 2020-09-13 18:53:30 +0200 |
commit | 21021e56ad609a459ec117bcfc60b2802176a9a7 (patch) | |
tree | 776eaa16d9e36d15f76cc4eac91ce35a59c8d4c7 /lisp/emacs-lisp | |
parent | 6a726c5ad711ba5224319c6ff8787127a8289c6d (diff) | |
download | emacs-21021e56ad609a459ec117bcfc60b2802176a9a7.tar.gz emacs-21021e56ad609a459ec117bcfc60b2802176a9a7.tar.bz2 emacs-21021e56ad609a459ec117bcfc60b2802176a9a7.zip |
* 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'.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/byte-run.el | 11 |
1 files changed, 5 insertions, 6 deletions
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)))) |