Previous: Adapting code using the old defadvice, Up: Advising Emacs Lisp Functions [Contents][Index]
13.12.5 Advice and Byte CodeNot all functions can be reliably advised. The byte compiler may choose to replace a call to a function with a sequence of instructions that doesn’t call the function you were interested in altering.
This usually happens due to one of the three following mechanisms:
byte-compile
properties
If a function’s symbol has a byte-compile
property, that property will be used instead of the symbol’s function definition. See Byte-Compilation Functions.
byte-optimize
properties
If a function’s symbol has a byte-optimize
property, the byte compiler may rewrite the function arguments, or decide to use a different function altogether.
compiler-macro
declare forms
A function can have a special compiler-macro
declare
form in its definition (see The declare
Form) that defines an expander to call when compiling the function. The expander could then cause the produced byte-code not to call the original function.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4