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

From: martin rudalics <[email-masked]>
Date: Fri, 07 Dec 2018 18:49:54 +0100

>> FWIW the problem is in package.el.  Have a look at the fix I just posted.
 >
 > Could you perhaps be more explicit, please?  The problem with "Compiling
 > no file at ..." is one I can't even reproduce at the moment.

Sorry, I had to leave and only wanted people to wait with bisecting
until Stefan resolved the current issue.  Beware also that I haven't
followed the threads with the issue discussed here so maybe I'm not
aware of all details.  IIUC all started with Markus reporting that

 > (is that a late April Fools' Day prank?)
 > after each restart, a *Compile-log* buffer reports
 > Compiling no file at <any date>

and one of the next days Angelo reported

 > Compiling no file at Thu Dec  6 09:46:33 2018

 From Angelo's init file I traced that message back to the presence of

(require 'package)

and removing that removed the message.  Then I looked into package.el
and found that code at its end:

       (insert "
;; Local\sVariables:
;; version-control: never
;;\sno-byte-compile: t
;; no-update-autoloads: t
;; End:
"))))

Since commenting out the

;;\sno-byte-compile: t

line again avoids the message I concluded that Stefan somehow got the
grep in makefile wrong which looks for

grep '^;.*no-byte-compile: t'

and apparently finds the one in that line.  So the connection you
asked for here

 > The patch you recently posted for package.el is something to do with
 > package.el being compiled or not being compiled.  What connection does
 > this have with the irritating appearance of the message in *Compile-Log*?

should be hopefully clear now.

My patch is just a workaround (which happens to work here) for people
to test. A clean fix could use 'concat' to produce that string (I have
no idea whether no-update-autoloads might be affected as well) like

       (insert (concat "\n"
                       ";; Local Variables:\n"
                       ";; version-control: never\n"
                       ";; no-byte-compile: t\n"
                       ";; no-update-autoloads: t\n"
                       ";; End:\n"))

so the ^;.* match is avoided by the spaces and the quotation mark.

martin