mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-13 09:32:47 +00:00
* Make the Evil happy (Bug#41374)
* 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.
This commit is contained in:
parent
cd4ef52c86
commit
6d850b50c5
@ -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))
|
||||
|
Loading…
Reference in New Issue
Block a user