Squashed commit of the following:
commit
e1ecf76585bef2eb87995f7a7f92cc12003a6f70
Author: Alan Mackenzie <acm@muc.de>
Date: Tue Nov 24 16:50:09 2015 +0000
Byte compile: minor amendments.
* lisp/emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment):
add a comment to explain the binding of variables around a subsidiary
compilation.
(byte-compile-new-defuns): Amend the doc string.
commit
c537bfed1dda1593d218956ff00c6105a3ff0316
Author: Alan Mackenzie <acm@muc.de>
Date: Sat Nov 21 18:43:57 2015 +0000
Byte compiler: fix spurious warnings "might not be defined at runtime".
Also initialize byte-compile-noruntime-functions between runs.
* lisp/emacs-lisp/bytecomp.el (byte-compile-new-defuns): New variable.
(byte-compile-initial-macro-environment): For eval-when-compile: bind
byte-compile-unresolved-functions and byte-compile-new-defuns around
byte-compile-top-level, to prevent spurious entries being made.
(byte-compile-warn-about-unresolved-functions): Check whether function is
in byte-compile-new-defuns before emitting a warning about it.
(byte-compile-from-buffer): Initialize new variable and
byte-compile-noruntime-functions to nil.
(byte-compile-file-form-require): record all new functions defined by a
`require' in byte-compile-new-defuns.
(byte-compile-file-form-defmumble): record the new alias in
byte-compile-new-defuns.