Mercurial > emacs
changeset 85320:3ba42b3f9a45
(ad-get-advice-info): Change to a function.
(ad-get-advice-info-macro): New macro, like old ad-get-advice-info.
(ad-is-advised, ad-get-advice-info-field)
(ad-set-advice-info-field): Use ad-get-advice-info-macro.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Tue, 16 Oct 2007 02:37:29 +0000 |
parents | 14749907af36 |
children | 6ad0dfc94fff |
files | lisp/emacs-lisp/advice.el |
diffstat | 1 files changed, 9 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/emacs-lisp/advice.el Mon Oct 15 19:26:25 2007 +0000 +++ b/lisp/emacs-lisp/advice.el Tue Oct 16 02:37:29 2007 +0000 @@ -2013,7 +2013,10 @@ (if (not (get 'ad-do-advised-functions 'lisp-indent-hook)) (put 'ad-do-advised-functions 'lisp-indent-hook 1)) -(defmacro ad-get-advice-info (function) +(defun ad-get-advice-info (function) + (get function 'ad-advice-info)) + +(defmacro ad-get-advice-info-macro (function) `(get ,function 'ad-advice-info)) (defmacro ad-set-advice-info (function advice-info) @@ -2025,7 +2028,7 @@ (defmacro ad-is-advised (function) "Return non-nil if FUNCTION has any advice info associated with it. This does not mean that the advice is also active." - (list 'ad-get-advice-info function)) + (list 'ad-get-advice-info-macro function)) (defun ad-initialize-advice-info (function) "Initialize the advice info for FUNCTION. @@ -2035,16 +2038,16 @@ (defmacro ad-get-advice-info-field (function field) "Retrieve the value of the advice info FIELD of FUNCTION." - `(cdr (assq ,field (ad-get-advice-info ,function)))) + `(cdr (assq ,field (ad-get-advice-info-macro ,function)))) (defun ad-set-advice-info-field (function field value) "Destructively modify VALUE of the advice info FIELD of FUNCTION." (and (ad-is-advised function) - (cond ((assq field (ad-get-advice-info function)) + (cond ((assq field (ad-get-advice-info-macro function)) ;; A field with that name is already present: - (rplacd (assq field (ad-get-advice-info function)) value)) + (rplacd (assq field (ad-get-advice-info-macro function)) value)) (t;; otherwise, create a new field with that name: - (nconc (ad-get-advice-info function) + (nconc (ad-get-advice-info-macro function) (list (cons field value))))))) ;; Don't make this a macro so we can use it as a predicate: