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