From 745dc723d967d3a880b2a560e4b87b58c94e89cc Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Tue, 16 Oct 2007 02:37:33 +0000 Subject: [PATCH] (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. --- lisp/ChangeLog | 7 +++++++ lisp/emacs-lisp/advice.el | 15 +++++++++------ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 96d6a627dcd..274d26d7d57 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,10 @@ +2007-10-16 Richard Stallman + + * emacs-lisp/advice.el (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. + 2007-10-15 Stefan Monnier * vc-hooks.el (vc-workfile-version): Compatibility alias. diff --git a/lisp/emacs-lisp/advice.el b/lisp/emacs-lisp/advice.el index cabd0dd391e..4a5c9149a43 100644 --- a/lisp/emacs-lisp/advice.el +++ b/lisp/emacs-lisp/advice.el @@ -2013,7 +2013,10 @@ On each iteration VAR will be bound to the name of an advised function (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 @@ On each iteration VAR will be bound to the name of an advised function (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 @@ Assumes that FUNCTION has not yet been advised." (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: -- 2.39.2