bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#33475: [Wish list]: Display line and column numbers in warnings with


From: Alan Mackenzie
Subject: bug#33475: [Wish list]: Display line and column numbers in warnings with `compile-defun'
Date: Fri, 23 Nov 2018 17:58:39 +0000
User-agent: Mutt/1.10.1 (2018-07-13)

Hello, Emacs.

At the moment, if a warning is displayed for a compilation started by
`compile-defun', it appears something like:

    Warning: assignment to free variable `foo'

.  This is all very well, but it lacks the line and column number of the
place of the warning, meaning one must search through the source and
guess where the warning is.

Why not output this information, much like is done in a batch
compilation?  It would then look like:

    Buffer winkler2.el:3:14:Warning: assignment to free variable `foo'

.  This would save guessing and irritation.

Here is a patch which achieves this:


diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index 0b8f8824b4..d16d0d3f22 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -1165,7 +1165,7 @@ byte-compile-log-file
        (with-current-buffer (get-buffer-create byte-compile-log-buffer)
         (goto-char (point-max))
         (let* ((inhibit-read-only t)
-               (dir (and byte-compile-current-file
+               (dir (and (stringp byte-compile-current-file)
                          (file-name-directory byte-compile-current-file)))
                (was-same (equal default-directory dir))
                pt)
@@ -1981,7 +1981,7 @@ compile-defun
   (save-excursion
     (end-of-defun)
     (beginning-of-defun)
-    (let* ((byte-compile-current-file nil)
+    (let* ((byte-compile-current-file (current-buffer))
           (byte-compile-current-buffer (current-buffer))
           (byte-compile-read-position (point))
           (byte-compile-last-position byte-compile-read-position)


-- 
Alan Mackenzie (Nuremberg, Germany).





reply via email to

[Prev in Thread] Current Thread [Next in Thread]