* 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'.
This commit is contained in:
Andrea Corallo 2020-09-13 18:15:32 +02:00
parent 6a726c5ad7
commit 21021e56ad

View file

@ -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))))