From 44915370e8c39adf7c9d65c29241269c454964aa Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 11 Sep 2013 23:37:02 -0700 Subject: [PATCH] * subr.el (do-after-load-evaluation): Also give compiler warnings when obsolete files are used (except by obsolete files). --- lisp/ChangeLog | 3 +++ lisp/subr.el | 27 +++++++++++++++++++++------ 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 37005de6776..1713efc07e0 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2013-09-12 Glenn Morris + * subr.el (do-after-load-evaluation): Also give compiler warnings + when obsolete files are used (except by obsolete files). + * vc/vc-svn.el (vc-svn-parse-status): If there are multiple files in the status output, assume `filename' is the first. (Bug#15322) diff --git a/lisp/subr.el b/lisp/subr.el index de7c629b208..7df1e86b5bf 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -3907,12 +3907,27 @@ This function is called directly from the C code." (mapc #'funcall (cdr a-l-element)))) ;; Complain when the user uses obsolete files. (when (string-match-p "/obsolete/[^/]*\\'" abs-file) - (run-with-timer 0 nil - (lambda (file) - (message "Package %s is obsolete!" - (substring file 0 - (string-match "\\.elc?\\>" file)))) - (file-name-nondirectory 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))))) + ;; 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-log-warning 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)) -- 2.11.4.GIT