The CONTINUE restart established by SB-C:COMPILER-ERROR can signal an UNBOUND-VARIABLE error

Bug #1219601 reported by Jan Moringen
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Fix Released
Undecided
Unassigned

Bug Description

The CONTINUE restart established by COMPILER-ERROR calls the value of *COMPILER-ERROR-BAILOUT*. But *COMPILER-ERROR-BAILOUT* can be unbound in some cases, for example when LOAD-AS-SOURCE is invoked via the --load commandline option.

The attached patch makes COMPILER-ERROR check whether *COMPILER-ERROR-BAILOUT* is bound and only establish the restart if that is the case.

Revision history for this message
Jan Moringen (scymtym) wrote :
Revision history for this message
Jan Moringen (scymtym) wrote :

Updated patch (sorry).

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

commit cd1b14acf6f548b28b8a14e554d779f0473122ec
Author: Stas Boukarev <email address hidden>
Date: Mon Sep 2 09:44:38 2013 +0400

    Handle compiler-error in LOAD when it's not run from inside EVAL.

    When LOAD is run from the --load option or from within a new thread,
    it doesn't go though EVAL and doesn't inherit its compiler-error
    handler.

Changed in sbcl:
status: New → Fix Committed
Changed in sbcl:
status: Fix Committed → 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.