]> git.eshelyaron.com Git - emacs.git/commitdiff
Make do-after-load-evaluation check whether warnings are enabled.
authorLars Ingebrigtsen <larsi@gnus.org>
Mon, 17 Jun 2019 10:36:01 +0000 (12:36 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Mon, 17 Jun 2019 10:36:01 +0000 (12:36 +0200)
* lisp/subr.el (do-after-load-evaluation): Heed
`byte-compile-warning-enabled-p', if defined.  This allows
suppressing the warning about packages being obsolete.

lisp/subr.el

index d505eb3917fefb2fdf6d97ec7ebd015c5510dd5c..66568b795def20a75c0966384caba63d7ca671b2 100644 (file)
@@ -4442,25 +4442,28 @@ This function is called directly from the C code."
   (when (string-match-p "/obsolete/\\([^/]*\\)\\'" abs-file)
     ;; Maybe we should just use display-warning?  This seems yucky...
     (let* ((file (file-name-nondirectory abs-file))
-          (msg (format "Package %s is obsolete!"
-                       (substring file 0
-                                  (string-match "\\.elc?\\>" file)))))
+           (package (intern (substring file 0
+                                      (string-match "\\.elc?\\>" file))
+                            obarray))
+          (msg (format "Package %s is obsolete" package)))
       ;; Cribbed from cl--compiling-file.
-      (if (and (boundp 'byte-compile--outbuffer)
-              (bufferp (symbol-value 'byte-compile--outbuffer))
-              (equal (buffer-name (symbol-value 'byte-compile--outbuffer))
-                     " *Compiler Output*"))
-         ;; Don't warn about obsolete files using other obsolete files.
-         (unless (and (stringp byte-compile-current-file)
-                      (string-match-p "/obsolete/[^/]*\\'"
-                                      (expand-file-name
-                                       byte-compile-current-file
-                                       byte-compile-root-dir)))
-           (byte-compile-warn "%s" msg))
-       (run-with-timer 0 nil
-                       (lambda (msg)
-                         (message "%s" msg))
-                        msg))))
+      (when (or (not (fboundp 'byte-compile-warning-enabled-p))
+                (byte-compile-warning-enabled-p 'obsolete package))
+        (if (and (boundp 'byte-compile--outbuffer)
+                (bufferp (symbol-value 'byte-compile--outbuffer))
+                (equal (buffer-name (symbol-value 'byte-compile--outbuffer))
+                       " *Compiler Output*"))
+           ;; Don't warn about obsolete files using other obsolete files.
+           (unless (and (stringp byte-compile-current-file)
+                        (string-match-p "/obsolete/[^/]*\\'"
+                                        (expand-file-name
+                                         byte-compile-current-file
+                                         byte-compile-root-dir)))
+             (byte-compile-warn "%s" msg))
+         (run-with-timer 0 nil
+                         (lambda (msg)
+                           (message "%s" msg))
+                          msg)))))
 
   ;; Finally, run any other hook.
   (run-hook-with-args 'after-load-functions abs-file))