]> git.eshelyaron.com Git - emacs.git/commitdiff
* Make the Evil happy (Bug#41374)
authorAndrea Corallo <akrl@sdf.org>
Mon, 18 May 2020 18:04:07 +0000 (19:04 +0100)
committerAndrea Corallo <akrl@sdf.org>
Mon, 18 May 2020 18:19:05 +0000 (19:19 +0100)
* lisp/emacs-lisp/comp.el (comp-never-optimize-functions):
Blacklist all primitives advised by evil-mode from trampoline
optimization.
(comp-call-optim-form-call): Prevent trampoline optimization for
recursive calls at speed 2 to respect elisp original semantic.

lisp/emacs-lisp/comp.el

index 662cfe2d4e8c08ccd149bae1c1d9a63a824f4a94..cd1e4dbd92e75530742a683fb69389e79828afa3 100644 (file)
@@ -103,7 +103,10 @@ Skip if any is matching."
     macroexpand scroll-down scroll-up narrow-to-region widen rename-buffer
     make-indirect-buffer delete-file top-level abort-recursive-edit
     ;; For user convenience
-    yes-or-no-p)
+    yes-or-no-p
+    ;; Make the Evil happy :/
+    read-key-sequence select-window set-window-buffer split-window-internal
+    use-global-map use-local-map)
   "Primitive functions for which we do not perform trampoline optimization.
 This is especially useful for primitives known to be advised or
 redefined when compilation is performed at `comp-speed' > 0."
@@ -1983,10 +1986,9 @@ Backward propagate array placement properties."
                          (fill-args args maxarg))))
             `(,call-type ,callee ,@args)))
          ;; Intra compilation unit procedure call optimization.
-         ;; Attention speed 3 triggers that for non self calls too!!
-         ((or (eq callee self)
-              (and (>= comp-speed 3)
-                   callee-in-unit))
+         ;; Attention speed 3 triggers this for non self calls too!!
+         ((and (>= comp-speed 3)
+               callee-in-unit)
           (let* ((func-args (comp-func-args callee-in-unit))
                  (nargs (comp-nargs-p func-args))
                  (call-type (if nargs 'direct-callref 'direct-call))