From: Ilya P. <ipe...@dw...> - 2014-10-27 23:02:01
|
Hi, If compilation of a file produces "undefined variable" warnings, the seconds and the third results of COMPILE-FILE (warnings-p, failure-p) are T, as expected. If I wrap the COMPILE-FILE call with WITH-COMPILATION-UNIT, the results are NIL. Example: ====== f.lisp ==== (defun foo () (+ a b)) ================== (compile-file "f.lisp") ;; => "f.fasl" T T (with-compilation-unit () (compile-file "f.lisp")) ;; => "f.fasl" NIL NIL I am not sure whether it is a bug in WITH-COMPILATION-UNIT, because its description is a bit vague. ASDF uses WITH-COMPILATION-UNIT in several places and, as a result, does not report "undefined variable" warnings as errors even when *COMPILE-FILE-FAILURE-BEHAVIOUR* is :ERROR (which is the default). Ilya |