]> git.eshelyaron.com Git - emacs.git/commitdiff
* Fix defsubst missing inline Bug#42664
authorAndrea Corallo <akrl@sdf.org>
Sun, 2 Aug 2020 15:01:42 +0000 (17:01 +0200)
committerAndrea Corallo <akrl@sdf.org>
Sun, 2 Aug 2020 15:51:44 +0000 (17:51 +0200)
* lisp/emacs-lisp/byte-run.el (defsubst): Do not native compile
defsubsts to have them always effective.

lisp/emacs-lisp/byte-run.el

index 4c1dce264a7eb8a0c003da9579dc8ad56832817a..539846683f056cee4e8d3c5eb7751902bcbbcb72 100644 (file)
@@ -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))))