* lisp/emacs-lisp/cl.el (dolist, dotimes, declare): Use advice-add to
authorStefan Monnier <monnier@iro.umontreal.ca>
Tue, 13 Nov 2012 03:00:09 +0000 (22:00 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Tue, 13 Nov 2012 03:00:09 +0000 (22:00 -0500)
commit413d4689c0c3f616856615ac7b8bb047c5f2febd
tree3f2ca64880fb237665d78b4d19d1fe4ab400fb6a
parentf78ee6afc094cdfd6162bfd645836e84875dcddf
* lisp/emacs-lisp/cl.el (dolist, dotimes, declare): Use advice-add to
override the default.
* lisp/emacs-lisp/cl-macs.el (cl-dolist, cl-dotimes): Rewrite without using
cl--dotimes/dolist.
* lisp/subr.el (dolist, dotimes, declare): Redefine them normally, even when
`cl' is loaded.

* lisp/emacs-lisp/nadvice.el (advice--normalize): New function, extracted
from add-advice.
(advice--strip-macro): New function.
(advice--defalias-fset): Use them to handle macros.
(advice-add): Use them.
(advice-member-p): Correctly handle macros.
lisp/ChangeLog
lisp/emacs-lisp/cl-loaddefs.el
lisp/emacs-lisp/cl-macs.el
lisp/emacs-lisp/cl.el
lisp/emacs-lisp/nadvice.el
lisp/subr.el
test/automated/advice-tests.el