]> git.eshelyaron.com Git - emacs.git/commitdiff
Make `comp-enable-subr-trampolines' effective for advices (bug#45854)
authorAndrea Corallo <akrl@sdf.org>
Sun, 17 Jan 2021 15:50:16 +0000 (16:50 +0100)
committerAndrea Corallo <akrl@sdf.org>
Sun, 17 Jan 2021 16:01:51 +0000 (17:01 +0100)
* src/comp.c: Copyright update.
(syms_of_comp): Update `comp-enable-subr-trampolines' doc.
* lisp/emacs-lisp/comp.el (comp-subr-trampoline-install): Check
for `comp-enable-subr-trampolines'.

lisp/emacs-lisp/comp.el
src/comp.c

index d127cea449e9d1100ce798720a77c39845a32628..238d86f7d515c9336df25f74e2643aefa2b86d3c 100644 (file)
@@ -3668,7 +3668,8 @@ Return the trampoline if found or nil otherwise."
 ;;;###autoload
 (defun comp-subr-trampoline-install (subr-name)
   "Make SUBR-NAME effectively advice-able when called from native code."
-  (unless (or (memq subr-name comp-never-optimize-functions)
+  (unless (or (null comp-enable-subr-trampolines)
+              (memq subr-name comp-never-optimize-functions)
               (gethash subr-name comp-installed-trampolines-h))
     (cl-assert (subr-primitive-p (symbol-function subr-name)))
     (comp--install-trampoline
index 619f5e1b65fea9370d8ce374d20631efdda6f403..b5adc3ed86429567bacd2e9f8627da71549aa2d4 100644 (file)
@@ -1,5 +1,5 @@
 /* Compile elisp into native code.
-   Copyright (C) 2019-2020 Free Software Foundation, Inc.
+   Copyright (C) 2019-2021 Free Software Foundation, Inc.
 
 Author: Andrea Corallo <akrl@sdf.org>
 
@@ -5269,8 +5269,8 @@ The last directory of this list is assumed to be the system one.  */);
   Vcomp_eln_load_path = Fcons (build_string ("../native-lisp/"), Qnil);
 
   DEFVAR_BOOL ("comp-enable-subr-trampolines", comp_enable_subr_trampolines,
-              doc: /* If non-nil, enable trampoline synthesis triggered by `fset'.
-This makes primitives redefinable effectively.  */);
+              doc: /* If non-nil enable primitive trampoline synthesis.
+This makes primitive functions redefinable or advisable effectively.  */);
 
   DEFVAR_LISP ("comp-installed-trampolines-h", Vcomp_installed_trampolines_h,
               doc: /* Hash table subr-name -> installed trampoline.