Variable: defun-declarations-alist
defun-declarations-alist is a variable defined in byte-run.el.gz.
Value
((tramp-suppress-trace tramp-byte-run--set-suppress-trace)
(cl-optimize cl--optimize) (gv-setter gv--setter-defun-declaration)
(gv-expander gv--expander-defun-declaration)
(advertised-calling-convention
byte-run--set-advertised-calling-convention)
(obsolete byte-run--set-obsolete)
(interactive-only byte-run--set-interactive-only)
(pure byte-run--set-pure
"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 byte-run--set-side-effect-free
"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.")
(important-return-value byte-run--set-important-return-value
"If non-nil, warn about calls not using the returned value.")
(compiler-macro byte-run--set-compiler-macro)
(doc-string byte-run--set-doc-string) (indent byte-run--set-indent)
(speed byte-run--set-speed) (safety byte-run--set-safety)
(completion byte-run--set-completion) (modes byte-run--set-modes)
(interactive-args byte-run--set-interactive-args)
(ftype byte-run--set-function-type))
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.
Probably introduced at or before Emacs version 24.3.
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/byte-run.el.gz
;; Add any new entries to info node `(elisp)Declare Form'.
(defvar defun-declarations-alist
(list
(list 'advertised-calling-convention
#'byte-run--set-advertised-calling-convention)
(list 'obsolete #'byte-run--set-obsolete)
(list 'interactive-only #'byte-run--set-interactive-only)
;; FIXME: Merge `pure' and `side-effect-free'.
(list 'pure #'byte-run--set-pure
"If non-nil, the compiler can replace calls with their return value.
This may shift errors from run-time to compile-time.")
(list 'side-effect-free #'byte-run--set-side-effect-free
"If non-nil, calls can be ignored if their value is unused.
If `error-free', drop calls even if `byte-compile-delete-errors' is nil.")
(list 'important-return-value #'byte-run--set-important-return-value
"If non-nil, warn about calls not using the returned value.")
(list 'compiler-macro #'byte-run--set-compiler-macro)
(list 'doc-string #'byte-run--set-doc-string)
(list 'indent #'byte-run--set-indent)
(list 'speed #'byte-run--set-speed)
(list 'safety #'byte-run--set-safety)
(list 'completion #'byte-run--set-completion)
(list 'modes #'byte-run--set-modes)
(list 'interactive-args #'byte-run--set-interactive-args)
(list 'ftype #'byte-run--set-function-type))
"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'.")