mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
* lisp/emacs-lisp/nadvice.el: Properly test names when adding advice.
(advice--member-p): New arg `name'. (advice--add-function, advice-member-p): Use it. Fixes: debbugs:14202
This commit is contained in:
parent
85c9ab6469
commit
dabefae5be
2 changed files with 13 additions and 5 deletions
|
|
@ -1,3 +1,9 @@
|
|||
2013-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* emacs-lisp/nadvice.el: Properly test names when adding advice.
|
||||
(advice--member-p): New arg `name'.
|
||||
(advice--add-function, advice-member-p): Use it (bug#14202).
|
||||
|
||||
2013-04-15 Filipp Gunbin <fgunbin@fastmail.fm>
|
||||
|
||||
Reformulate java imenu-generic-expression.
|
||||
|
|
@ -7,7 +13,7 @@
|
|||
(cc-imenu-java-type-spec-regexp, cc-imenu-java-comment-regexp)
|
||||
(cc-imenu-java-method-arg-regexp): New defconsts.
|
||||
(cc-imenu-java-build-type-args-regex): New defun.
|
||||
(cc-imenu-java-generic-expression): Fixed, to remove "ambiguous"
|
||||
(cc-imenu-java-generic-expression): Fix, to remove "ambiguous"
|
||||
handling of spaces in the regexp.
|
||||
|
||||
2013-03-15 Agustín Martín Domingo <agustin.martin@hispalinux.es>
|
||||
|
|
|
|||
|
|
@ -158,11 +158,12 @@ WHERE is a symbol to select an entry in `advice--where-alist'."
|
|||
(advice--make-1 (nth 1 desc) (nth 2 desc)
|
||||
function main props)))
|
||||
|
||||
(defun advice--member-p (function definition)
|
||||
(defun advice--member-p (function name definition)
|
||||
(let ((found nil))
|
||||
(while (and (not found) (advice--p definition))
|
||||
(if (or (equal function (advice--car definition))
|
||||
(equal function (cdr (assq 'name (advice--props definition)))))
|
||||
(when name
|
||||
(equal name (cdr (assq 'name (advice--props definition))))))
|
||||
(setq found t)
|
||||
(setq definition (advice--cdr definition))))
|
||||
found))
|
||||
|
|
@ -255,7 +256,8 @@ is also interactive. There are 3 cases:
|
|||
|
||||
;;;###autoload
|
||||
(defun advice--add-function (where ref function props)
|
||||
(unless (advice--member-p function (gv-deref ref))
|
||||
(unless (advice--member-p function (cdr (assq 'name props))
|
||||
(gv-deref ref))
|
||||
(setf (gv-deref ref)
|
||||
(advice--make where function (gv-deref ref) props))))
|
||||
|
||||
|
|
@ -396,7 +398,7 @@ of the piece of advice."
|
|||
"Return non-nil if ADVICE has been added to FUNCTION-NAME.
|
||||
Instead of ADVICE being the actual function, it can also be the `name'
|
||||
of the piece of advice."
|
||||
(advice--member-p advice
|
||||
(advice--member-p advice advice
|
||||
(or (get function-name 'advice--pending)
|
||||
(advice--strip-macro
|
||||
(if (fboundp function-name)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue