Commit 150f809c authored by Stefan Monnier's avatar Stefan Monnier
Browse files

* lisp/emacs-lisp/advice.el (ad-assemble-advised-definition):

Silence bogus compiler warnings for ad-do-it.
parent 372212df
2012-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
 
* emacs-lisp/advice.el (ad-assemble-advised-definition):
Silence bogus compiler warnings for ad-do-it.
* bookmark.el (bookmark-completing-read): Set the completion category
to `bookmark' (bug#11131).
 
......
......@@ -2897,8 +2897,11 @@ definition, INTERACTIVE if non-nil is the interactive form to be used,
ORIG is a form that calls the body of the original unadvised function,
and BEFORES, AROUNDS and AFTERS are the lists of advices with which ORIG
should be modified. The assembled function will be returned."
(let (before-forms around-form around-form-protected after-forms definition)
;; The ad-do-it call should always have the right number of arguments,
;; but the compiler might signal a bogus warning because it checks the call
;; against the advertised calling convention.
(let ((around-form `(setq ad-return-value (with-no-warnings ,orig)))
before-forms around-form-protected after-forms definition)
(dolist (advice befores)
(cond ((and (ad-advice-protected advice)
before-forms)
......@@ -2911,7 +2914,6 @@ should be modified. The assembled function will be returned."
(append before-forms
(ad-body-forms (ad-advice-definition advice)))))))
(setq around-form `(setq ad-return-value ,orig))
(dolist (advice (reverse arounds))
;; If any of the around advices is protected then we
;; protect the complete around advice onion:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment