* lisp/emacs-lisp/advice.el (ad-definition-type): Make sure we don't use
a preactivated advice from an old advice.el; they're not compatible!
This commit is contained in:
parent
47f01a8af9
commit
1232d6c2e4
2 changed files with 13 additions and 9 deletions
|
@ -1,3 +1,8 @@
|
|||
2012-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* emacs-lisp/advice.el (ad-definition-type): Make sure we don't use
|
||||
a preactivated advice from an old advice.el; they're not compatible!
|
||||
|
||||
2012-11-15 Katsumi Yamaoka <yamaoka@jpl.org>
|
||||
|
||||
* emacs-lisp/nadvice.el (advice--make-interactive-form):
|
||||
|
|
|
@ -2239,16 +2239,15 @@ definition (see the code for `documentation')."
|
|||
|
||||
(defun ad-definition-type (definition)
|
||||
"Return symbol that describes the type of DEFINITION."
|
||||
;; These symbols are only ever used to check a cache entry's validity.
|
||||
;; The suffix `2' reflects the fact that we're using version 2 of advice
|
||||
;; representations, so cache entries preactivated with version
|
||||
;; 1 can't be used.
|
||||
(cond
|
||||
((ad-macro-p definition) 'macro)
|
||||
((ad-subr-p definition)
|
||||
(if (special-form-p definition)
|
||||
'special-form
|
||||
'subr))
|
||||
((or (ad-lambda-p definition)
|
||||
(ad-compiled-p definition))
|
||||
'function)
|
||||
((ad-advice-p definition) 'advice)))
|
||||
((ad-macro-p definition) 'macro2)
|
||||
((ad-subr-p definition) 'subr2)
|
||||
((or (ad-lambda-p definition) (ad-compiled-p definition)) 'fun2)
|
||||
((ad-advice-p definition) 'advice2))) ;; FIXME: Can this ever happen?
|
||||
|
||||
(defun ad-has-proper-definition (function)
|
||||
"True if FUNCTION is a symbol with a proper definition.
|
||||
|
|
Loading…
Add table
Reference in a new issue