As you know, warnings in an ASDF build cause it to fail, because they cause COMPILE-FILE to return NIL. That's fine, I suppose.
But at least on SBCL, the failure is not recoverable for me. I get an error with the following retries: restarts (invokable by number or by possibly-abbreviated name): 0: [RETRY ] Retry compiling #<CL-SOURCE-FILE "stn-quicktest" "cppstn">. 1: [ACCEPT ] Continue, treating compiling #<CL-SOURCE-FILE "stn-quicktest" "cppstn"> as having been successful. 2: Retry ASDF operation. 3: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the configuration. 4: [ABORT ] Exit debugger, returning to top level. (UIOP/LISP-BUILD:CHECK-LISP-COMPILE-RESULTS NIL T T "~/asdf-action::format-action/" ((#<ASDF/LISP-ACTION:COMPILE-OP > . #<ASDF/LISP-ACTION:CL-SOURCE-FILE "stn-quicktest" "cppstn">))) 0] 1 These seem fine, but the ACCEPT restart doesn't work because the fasl file is not moved from tmp to its proper position. See below: WARNING: compiling #<CL-SOURCE-FILE "stn-quicktest" "cppstn"> completed without its output file #P"/Users/rpg/.cache/common-lisp/sbcl-1.2.15.0.sbcl-1.2.15.0-4bc676e-macosx-x64/Users/rpg/dbm/dev/dbm-planner/stn/cppstn.fasl" debugger invoked on a SB-INT:SIMPLE-FILE-ERROR in thread #<THREAD "main thread" RUNNING {1003CAE793}>: Couldn't load #P"/Users/rpg/.cache/common-lisp/sbcl-1.2.15.0.sbcl-1.2.15.0-4bc676e-macosx-x64/Users/rpg/dbm/dev/dbm-planner/stn/cppstn.fasl": file does not exist. Shouldn't we find a better restart definition for ACCEPT, one that will proceed to write the fasl file into its proper location? The current ACCEPT restart for this condition seems useless. Cheers, r