* lisp/emacs-lisp/bytecomp.el: Silence obsolete warnings more reliably.
authorStefan Monnier <monnier@iro.umontreal.ca>
Sun, 20 Nov 2011 04:33:36 +0000 (23:33 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Sun, 20 Nov 2011 04:33:36 +0000 (23:33 -0500)
(byte-compile-global-not-obsolete-vars): New var.
(byte-compile-check-variable, byte-compile-make-obsolete-variable):
Use it.
(byte-compile-warn-obsolete): Align text with the one in *Help*.

lisp/ChangeLog
lisp/emacs-lisp/bytecomp.el

index 8f9038f..e79af3a 100644 (file)
@@ -1,3 +1,11 @@
+2011-11-20  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * emacs-lisp/bytecomp.el: Silence obsolete warnings more reliably.
+       (byte-compile-global-not-obsolete-vars): New var.
+       (byte-compile-check-variable, byte-compile-make-obsolete-variable):
+       Use it.
+       (byte-compile-warn-obsolete): Align text with the one in *Help*.
+
 2011-11-20  Juanma Barranquero  <lekktu@gmail.com>
 
        * progmodes/cwarn.el (cwarn-is-enabled, cwarn-font-lock-keywords):
index 2e05e93..3d59357 100644 (file)
@@ -359,10 +359,12 @@ else the global value will be modified."
   "List of commands that are not meant to be called from Lisp.")
 
 (defvar byte-compile-not-obsolete-vars nil
-  "If non-nil, a list of variables that shouldn't be reported as obsolete.")
+  "List of variables that shouldn't be reported as obsolete.")
+(defvar byte-compile-global-not-obsolete-vars nil
+  "Global list of variables that shouldn't be reported as obsolete.")
 
 (defvar byte-compile-not-obsolete-funcs nil
-  "If non-nil, a list of functions that shouldn't be reported as obsolete.")
+  "List of functions that shouldn't be reported as obsolete.")
 
 (defcustom byte-compile-generate-call-tree nil
   "Non-nil means collect call-graph information when compiling.
@@ -1113,7 +1115,7 @@ Each function's symbol gets added to `byte-compile-noruntime-functions'."
       (unless (and funcp (memq symbol byte-compile-not-obsolete-funcs))
        (byte-compile-warn "`%s' is an obsolete %s%s%s" symbol
                           (if funcp "function" "variable")
-                          (if asof (concat " (as of Emacs " asof ")") "")
+                          (if asof (concat " (as of " asof ")") "")
                           (cond ((stringp instead)
                                  (concat "; " instead))
                                 (instead
@@ -3030,6 +3032,7 @@ That command is designed for interactive use only" fn))
        ((let ((od (get var 'byte-obsolete-variable)))
            (and od
                 (not (memq var byte-compile-not-obsolete-vars))
+                (not (memq var byte-compile-global-not-obsolete-vars))
                 (or (case (nth 1 od)
                       (set (not (eq access-type 'reference)))
                       (get (eq access-type 'reference))
@@ -4116,7 +4119,7 @@ binding slots have been popped."
 (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))
+    (push (nth 1 (nth 1 form)) byte-compile-global-not-obsolete-vars))
   (byte-compile-normal-call form))
 
 (defun byte-compile-defvar (form)