Subject: Re: bug#33602: 27.0.50; Compiling no file at

From: Alan Mackenzie <[email-masked]>
Date: Sat, 8 Dec 2018 20:07:05 +0000

Hello, Eli.

On Sat, Dec 08, 2018 at 12:48:12 +0200, Eli Zaretskii wrote:
> > Date: Fri, 7 Dec 2018 20:06:59 +0000
> > Cc: [email-masked], [email-masked], [email-masked], [email-masked]
> > From: Alan Mackenzie <[email-masked]>

> > > I'd ask a different question altogether: now that we know this comes
> > > from loading generics, why is that entry in compilation log a problem?
> > > Who cares what the byte compiler says as part of its normal operation,
> > > and why should we consider that "a bug"?

> > I still think it's a problem.  It irritates people.

> They are free not to look ;-)

No comment.  ;-)

> > The actual wording of the message "Compiling no file at <time>" is
> > unclear.

> If we want to change the text, it's fine.  But removing the log
> altogether sounds like too much to me.

Why?  The log doesn't appear in Emacs-26.  It does appear in recent
versions of master.  The creation of this buffer is an unintended
consequence of the amendments I made to the byte compiler's warning
message mechanism around a week and a half ago.

In a call of byte-compile, both byte-compile-current-file and
byte-compile-last-logged-file tend to be nil.

Whereas the condition at the top of byte-compile-log-file used to be

    (not (equal byte-compile-current-file byte-compile-last-logged-file))

, now it additionally checks

    (get-buffer byte-compile-log-buffer)

, and "re"creates that buffer if it doesn't exist.

So previously, *Compile-Log* didn't get created.  Now it does.  I think
I should revert that part of the change.  What do you say?

Changing the wording is a separate issue, but I think it should also be
done.  I would suggest instead of "Compiling no file at <time>" we say
"Compiling, not from a file, at <time>".

In other words:

diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index d6986cb786..58c55f7a2e 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -1179,9 +1179,7 @@ byte-compile-warning-series
 ;; Return the position of the start of the page in the log buffer.
 ;; But do nothing in batch mode.
 (defun byte-compile-log-file ()
-  (and (not
-        (and (get-buffer byte-compile-log-buffer)
-             (equal byte-compile-current-file byte-compile-last-logged-file)))
+  (and (not (equal byte-compile-current-file byte-compile-last-logged-file))
        (not noninteractive)
        (with-current-buffer (get-buffer-create byte-compile-log-buffer)
 	 (goto-char (point-max))
@@ -1204,7 +1202,7 @@ byte-compile-log-file
 			 (concat "in buffer "
                                  (buffer-name byte-compile-current-file)))
 		       " at " (current-time-string) "\n")
-	     (insert "\f\nCompiling no file at " (current-time-string) "\n"))
+	     (insert "\f\nCompiling, not from a file, at " (current-time-string) "\n"))
 	   (when dir
 	     (setq default-directory dir)
 	     (unless was-same

-- 
Alan Mackenzie (Nuremberg, Germany).