* lisp/emacs-lisp/bytecomp.el (byte-compile-make-obsolete-variable):

Disable obsolescence warnings in the file that declares it.
This commit is contained in:
Stefan Monnier 2011-03-11 21:59:24 -05:00
parent 7f0869bd1d
commit 3aaaa6f1c9
2 changed files with 16 additions and 0 deletions

View file

@ -3840,6 +3840,17 @@ that suppresses all warnings during execution of BODY."
,@decls
',(nth 1 form)))))
;; If foo.el declares `toto' as obsolete, it is likely that foo.el will
;; actually use `toto' in order for this obsolete variable to still work
;; correctly, so paradoxically, while byte-compiling foo.el, the presence
;; of a make-obsolete-variable call for `toto' is an indication that `toto'
;; should not trigger obsolete-warnings in foo.el.
(byte-defop-compiler-1 make-obsolete-variable)
(defun byte-compile-make-obsolete-variable (form)
(when (eq 'quote (car-safe (nth 1 form)))
(push (nth 1 (nth 1 form)) byte-compile-not-obsolete-vars))
(byte-compile-normal-call form))
(defun byte-compile-defvar (form)
;; This is not used for file-level defvar/consts with doc strings.
(when (and (symbolp (nth 1 form))