From: Katsumi Yamaoka Date: Thu, 15 Nov 2012 03:30:25 +0000 (-0500) Subject: * lisp/emacs-lisp/advice.el (ad-make-advised-definition): Fix undefined case. X-Git-Tag: emacs-24.3.90~173^2~18^2~101 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=47f01a8af9660c018cafa3a97632c8bcb2417cec;p=emacs.git * 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. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 51efba25f97..dccdc429ebc 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,10 @@ +2012-11-15 Katsumi Yamaoka + + * 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 * emacs-lisp/nadvice.el: Add buffer-local support to add-function. diff --git a/lisp/emacs-lisp/advice.el b/lisp/emacs-lisp/advice.el index f9b4491e6e0..b99e614bec5 100644 --- a/lisp/emacs-lisp/advice.el +++ b/lisp/emacs-lisp/advice.el @@ -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)) diff --git a/lisp/emacs-lisp/nadvice.el b/lisp/emacs-lisp/nadvice.el index 0c3b267f9e1..540e0166ec2 100644 --- a/lisp/emacs-lisp/nadvice.el +++ b/lisp/emacs-lisp/nadvice.el @@ -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