define a not-to-be-inlined function symbol and associated macro
Major Section:  EVENTS

See defun-inline for an analogous utility that supports inlining. The present utility is probably far less useful; it tells the compiler not to inline calls of the function being defined. Also see defund-notinline for a variant of this event that disables the newly-defined function symbol.

Under the hood, (defun-inline f ...) and (defun-notinline f ...) cause evaluation of Common Lisp forms (declaim (inline f$inline)) and (declaim (notinline f$notinline)), respectively. According to the Common Lisp spec, the compiler need not respect the first of these (for inline), but it must respect the second of these (for notinline). Fortunately, Common Lisp implementations often do respect the first of these as well.