Steel Bank Common Lisp

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

Reported by Jan Moringen on 2013-09-02
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
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.

Jan Moringen (scymtym) wrote :

Updated patch (sorry).

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  Edit
Everyone can see this information.

Other bug subscribers