*compile-file-failure-behaviour* is ignored

Bug #598018 reported by Stas Boukarev
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ASDF
Fix Released
Low
Faré

Bug Description

When I set *compile-file-failure-behaviour* to :warn on SBCL (instead of the default :error)
ASDF nevertheless signals an error. That's because compile-file* doesn't return output file-name if failure-p from COMPILE-FILE is T.

Revision history for this message
Faré (fahree) wrote :

Can you create a test case in asdf/tests/ ?

I think I know a fix, though it's a bit ugly, since it involves reexporting the slot from the compile-op as the proper special variable..

Changed in asdf:
assignee: nobody → Faré (fahree)
importance: Undecided → Low
milestone: none → version2.1
status: New → Confirmed
Revision history for this message
Faré (fahree) wrote :

The problem being that IF you want to error out, you probably want to delete any temporary file. But IF you don't want to error out, you probably want to keep it, and compile-file* currently has no way of knowing that information that is hidden in the operation object's on-failure slot.

Revision history for this message
Stas Boukarev (stassats) wrote :

I attached a test case.

Revision history for this message
Faré (fahree) wrote :

Thanks. I integrated your test case, worked around a CLISP bug, and included it in 2.103.

Changed in asdf:
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.