* lisp/emacs-lisp/advice.el (ad-make-advised-definition): Fix undefined case.

* lisp/emacs-lisp/nadvice.el (advice--make-interactive-form):
Fix string-spec case.
This commit is contained in:
Katsumi Yamaoka 2012-11-14 22:30:25 -05:00 committed by Stefan Monnier
parent a61428c42d
commit 47f01a8af9
3 changed files with 9 additions and 2 deletions

View file

@ -1,3 +1,10 @@
2012-11-15 Katsumi Yamaoka <yamaoka@jpl.org>
* emacs-lisp/nadvice.el (advice--make-interactive-form):
Fix string-spec case.
* emacs-lisp/advice.el (ad-make-advised-definition): Fix undefined case.
2012-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/nadvice.el: Add buffer-local support to add-function.

View file

@ -2597,7 +2597,7 @@ in any of these classes."
(ad-has-redefining-advice function))
(let* ((origdef (ad-real-orig-definition function))
;; Construct the individual pieces that we need for assembly:
(orig-arglist (ad-arglist origdef))
(orig-arglist (and origdef (ad-arglist origdef)))
(advised-arglist (or (ad-advised-arglist function)
orig-arglist))
(interactive-form (ad-advised-interactive-form function))

View file

@ -129,7 +129,7 @@ Each element has the form (WHERE BYTECODE STACK) where:
;; FIXME: The calls to interactive-form below load autoloaded functions
;; too eagerly.
(let ((fspec (cadr (interactive-form function))))
(when (eq 'function (car fspec)) ;; Macroexpanded lambda?
(when (eq 'function (car-safe fspec)) ;; Macroexpanded lambda?
(setq fspec (nth 1 fspec)))
(if (functionp fspec)
`(funcall ',fspec