changeset 78210:964d6961bdb6

(byte-compile-from-buffer): initialise byte-compile-unresolved-functions before rather than after a compilation. (byte-compile-unresolved-functions): Amplify doc string.
author Alan Mackenzie <acm@muc.de>
date Tue, 24 Jul 2007 07:12:18 +0000
parents 3922db9e34e7
children ce0473a5b031
files lisp/emacs-lisp/bytecomp.el
diffstat 1 files changed, 8 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/emacs-lisp/bytecomp.el	Tue Jul 24 07:07:10 2007 +0000
+++ b/lisp/emacs-lisp/bytecomp.el	Tue Jul 24 07:12:18 2007 +0000
@@ -476,7 +476,8 @@
 
 (defvar byte-compile-unresolved-functions nil
   "Alist of undefined functions to which calls have been compiled.
-Used for warnings when the function is not known to be defined or is later
+This variable is only significant whilst compiling an entire buffer.
+Used for warnings when a function is not known to be defined or is later
 defined with incorrect args.")
 
 (defvar byte-compile-noruntime-functions nil
@@ -1848,6 +1849,11 @@
       (save-excursion
 	(set-buffer inbuffer)
 	(goto-char 1)
+	;; Should we always do this?  When calling multiple files, it
+	;; would be useful to delay this warning until all have been
+	;; compiled.  A: Yes!  b-c-u-f might contain dross from a
+	;; previous byte-compile.
+	(setq byte-compile-unresolved-functions nil)
 
 	;; Compile the forms from the input buffer.
 	(while (progn
@@ -1864,11 +1870,7 @@
 	;; Make warnings about unresolved functions
 	;; give the end of the file as their position.
 	(setq byte-compile-last-position (point-max))
-	(byte-compile-warn-about-unresolved-functions)
-	;; Should we always do this?  When calling multiple files, it
-	;; would be useful to delay this warning until all have
-	;; been compiled.
-	(setq byte-compile-unresolved-functions nil))
+	(byte-compile-warn-about-unresolved-functions))
       ;; Fix up the header at the front of the output
       ;; if the buffer contains multibyte characters.
       (and filename (byte-compile-fix-header filename inbuffer outbuffer))))