--- swank-lispworks.lisp 2010-12-03 03:39:00.000000000 +1100 +++ /home/gtod/quicklisp/dists/quicklisp/software/slime-20101207-cvs/swank-lispworks.lisp 2011-01-05 07:34:04.000000000 +1100 @@ -515,17 +515,20 @@ (defvar *undefined-functions-hash* nil "Hash table to map info about undefined functions to pathnames.") +(defun do-compile-file-and-collect-notes (pathname) + (maphash (lambda (unfun dspecs) + (dolist (dspec dspecs) + (let ((unfun-info (list unfun dspec))) + (unless (gethash unfun-info *undefined-functions-hash*) + (setf (gethash unfun-info *undefined-functions-hash*) + pathname))))) + compiler::*unknown-functions*)) + (lw:defadvice (compile-file compile-file-and-collect-notes :around) (pathname &rest rest) (multiple-value-prog1 (apply #'lw:call-next-advice pathname rest) (when *within-call-with-compilation-hooks* - (maphash (lambda (unfun dspecs) - (dolist (dspec dspecs) - (let ((unfun-info (list unfun dspec))) - (unless (gethash unfun-info *undefined-functions-hash*) - (setf (gethash unfun-info *undefined-functions-hash*) - pathname))))) - compiler::*unknown-functions*)))) + (do-compile-file-and-collect-notes pathname)))) (defimplementation call-with-compilation-hooks (function) (let ((compiler::*error-database* '())