# HG changeset patch # User Alan Mackenzie # Date 1185265092 0 # Node ID 917d8d46f0bb7e6dff60aaaf2a1627834bb42fb2 # Parent f95f5cfbac4e885e5bb7c150584ea541cb69d145 (byte-compile-from-buffer): initialise byte-compile-unresolved-functions before rather than after a compilation. (byte-compile-unresolved-functions): Amplify doc string. diff -r f95f5cfbac4e -r 917d8d46f0bb lisp/emacs-lisp/bytecomp.el --- a/lisp/emacs-lisp/bytecomp.el Tue Jul 24 08:15:17 2007 +0000 +++ b/lisp/emacs-lisp/bytecomp.el Tue Jul 24 08:18:12 2007 +0000 @@ -480,7 +480,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 @@ -1849,6 +1850,11 @@ (and filename (byte-compile-insert-header filename inbuffer outbuffer)) (with-current-buffer inbuffer (goto-char (point-min)) + ;; 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 @@ -1865,11 +1871,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))))