Here's a case we have:
System uses bad old version of FiveAM.
BOV5A signals ARNESI:DEFLOOKUP-REDEFINITION because of bug in EVAL-WHEN logic.
We put our system's compilation inside Jenkins, failing on warnings.
Jenkins fails.
We see error.
We wrap call to LOAD-SYSTEM in
(handler-bind ((arnesi:deflookup-redefinition #'(lambda (e) (muffle-warning e))) (asdf:load-system "our-system"))
This does not fix the problem.
I believe that this is because ASDF is trapping *ALL* warnings, hanging onto them, and then resignaling them, wrapped in new ASDF condition objects. So our ARNESI:DEFLOOKUP-REDEFINITIONs are all gone, and can't be used for muffling.
It seems like this is going to bork any system that wants to muffle specific warnings, or handle specific errors. Not so? Or have I misunderstood somehow?
Thanks, r