Function: ad-make-cache-id

ad-make-cache-id is a byte-compiled function defined in advice.el.gz.

Signature

(ad-make-cache-id FUNCTION)

Documentation

Generate an identifying image of the current advices of FUNCTION.

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/advice.el.gz
(defun ad-make-cache-id (function)
  "Generate an identifying image of the current advices of FUNCTION."
  (let ((original-definition (ad-real-orig-definition function))
	(cached-definition (ad-get-cache-definition function)))
    (list (mapcar #'ad-advice-name
		  (ad-get-enabled-advices function 'before))
	  (mapcar #'ad-advice-name
		  (ad-get-enabled-advices function 'around))
	  (mapcar #'ad-advice-name
		  (ad-get-enabled-advices function 'after))
	  (ad-definition-type original-definition)
	  (if (equal (ad-arglist original-definition)
		     (ad-arglist cached-definition))
	      t
	    (ad-arglist original-definition))
	  (if (eq (ad-definition-type original-definition) 'function)
	      (equal (interactive-form original-definition)
		     (interactive-form cached-definition))))))