defun-declarations-alist

defun-declarations-alist is a variable defined in `byte-run.el'.
Its value is shown below.

Documentation:
List associating function properties to their macro expansion.
Each element of the list takes the form (PROP FUN) where FUN is
a function. For each (PROP . VALUES) in a function's declaration,
the FUN corresponding to PROP is called with the function name,
the function's arglist, and the VALUES and should return the code to use
to set this property.

This is used by `declare'.

Value:

((gv-setter (closure (t) (&rest args) (apply 'gv--defun-declaration 'gv-setter args))) (gv-expander (closure (t) (&rest args) (apply 'gv--defun-declaration 'gv-expander args))) (advertised-calling-convention #[1028 "\300\301D\301D\301DF\207" [set-advertised-calling-convention quote] 9 "\n\n(fn F ARGS ARGLIST WHEN)"]) (obsolete #[1028 "\300\301D\301D\301DF\207" [make-obsolete quote] 9 "\n\n(fn F ARGS NEW-NAME WHEN)"]) (interactive-only #[771 "\300\301D\302\301DF\207" [function-put quote 'interactive-only] 8 "\n\n(fn F ARGS INSTEAD)"]) (pure #[771 "\300\301D\302\301DF\207" [function-put quote 'pure] 8 "\n\n(fn F ARGS VAL)"] "If non-nil, the compiler can replace calls with their return value.\nThis may shift errors from run-time to compile-time.") (side-effect-free #[771 "\300\301D\302\301DF\207" [function-put quote 'side-effect-free] 8 "\n\n(fn F ARGS VAL)"] "If non-nil, calls can be ignored if their value is unused.\nIf `error-free', drop calls even if `byte-compile-delete-errors' is nil.") (compiler-macro #[771 "\211\242\300=\204\301\302\303D\304\305DFD\207\306\307!\310P!\311\301\302\303D\312\305DFD\313\301\314\315\211A@\262\n\"\211AA\262BBBDF\207" [lambda eval-and-compile function-put quote 'compiler-macro function intern symbol-name "--anon-cmacro" progn 'compiler-macro :autoload-end defun append] 13 "\n\n(fn F ARGS COMPILER-FUNCTION)"]) (doc-string #[771 "\300\301D\302\301DF\207" [function-put quote 'doc-string-elt] 8 "\n\n(fn F ARGS POS)"]) (indent #[771 "\300\301D\302\301DF\207" [function-put quote 'lisp-indent-function] 8 "\n\n(fn F ARGS VAL)"]))