Function: advice--symbol-function
advice--symbol-function is a byte-compiled function defined in
nadvice.el.gz.
Signature
(advice--symbol-function SYMBOL)
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/nadvice.el.gz
(defun advice--symbol-function (symbol)
;; The value conceptually stored in `symbol-function' is split into two
;; parts:
;; - the normal function definition.
;; - the list of advice applied to it.
;; `advice--symbol-function' is intended to return the second part (i.e. the
;; list of advice, which includes a hole at the end which typically holds the
;; first part, but this function doesn't care much which value is found
;; there).
;; In the "normal" state both parts are combined into a single value stored
;; in the "function slot" of the symbol. But the way they are combined is
;; different depending on whether the definition is a function or a macro.
;; Also if the function definition is nil (i.e. unbound) or is an autoload,
;; the second part is stashed away temporarily in the `advice--pending'
;; symbol property.
(or (get symbol 'advice--pending)
(advice--strip-macro (symbol-function symbol))))