summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/byte-run.el
diff options
context:
space:
mode:
authorAndrea Corallo <akrl@sdf.org>2020-08-02 17:01:42 +0200
committerAndrea Corallo <akrl@sdf.org>2020-08-02 17:51:44 +0200
commit80d7f710f2fab902e46aa3fddb8e1c1795420af3 (patch)
treebed3aa5d3f1460a0728d077eba0471c2178a83ff /lisp/emacs-lisp/byte-run.el
parente5095f0fd31764a729b4afebf8b5e868a09eef28 (diff)
downloademacs-80d7f710f2fab902e46aa3fddb8e1c1795420af3.tar.gz
emacs-80d7f710f2fab902e46aa3fddb8e1c1795420af3.tar.bz2
emacs-80d7f710f2fab902e46aa3fddb8e1c1795420af3.zip
* Fix defsubst missing inline Bug#42664
* lisp/emacs-lisp/byte-run.el (defsubst): Do not native compile defsubsts to have them always effective.
Diffstat (limited to 'lisp/emacs-lisp/byte-run.el')
-rw-r--r--lisp/emacs-lisp/byte-run.el7
1 files changed, 6 insertions, 1 deletions
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))))