Opened 9 years ago

Closed 8 years ago

#206 closed defect (fixed)

COMPILER-UNSUPPORTED-FEATURE-ERROR is derived from CONDITION, rather than from ERROR

Reported by: Avodonosov Owned by: ehuelsmann
Priority: minor Milestone: 1.1.0
Component: compiler Version:
Keywords: Cc:
Parent Tickets:

Description

Hello.

My coade loads some ASDF systems, and wraps the asdf:operate call
into handler-case

(handler-case (asdf:operate ...)
    (serious-condition (condition) (...                     

This should help me to handle the build errors.

But when I load the let-plus library, ABCL falls into debugger:

#<THREAD "interpreter" {53B73EA7}>: Debugger invoked on condition of type COMPILER-UNSUPPORTED-FEATURE-ERROR
  COMPILE-FORM unhandled case ((ANAPHORA:IT #:THIS-S100224))
Restarts:
  0: RETRY  Retry compiling #<ASDF:CL-SOURCE-FILE "let-plus" "let-plus">.
  1: ACCEPT Continue, treating compiling #<ASDF:CL-SOURCE-FILE "let-plus" "let-plus"> as having been successful.
  2: ABORT  Give up on "let-plus"
[1] LET-PLUS(1): 0

This happens because COMPILER-UNSUPPORTED-FEATURE-ERROR is derived from CONDITION (see src/org/armedbear/lisp/CompilerUnsupportedFeatureError.java)

CLHS says: "Conditions of type error might be signaled by the compiler in situations where the compilation cannot proceed without intervention."

http://www.lispworks.com/documentation/lw51/CLHS/Body/03_be.htm

It would be better to derive COMPILER-UNSUPPORTED-FEATURE-ERROR from ERROR (or at least from SERIOUS-CONDITION)

  • Anton Vodonosov

Change History (3)

comment:1 Changed 9 years ago by Avodonosov

Summary: COMPILER-UNSUPPORTED-FEATURE-ERROR is derived from condition, rather than from ERRORCOMPILER-UNSUPPORTED-FEATURE-ERROR is derived from CONDITION, rather than from ERROR

comment:2 Changed 8 years ago by ehuelsmann

Milestone: 1.1.0

comment:3 Changed 8 years ago by ehuelsmann

Resolution: fixed
Status: newclosed

(In [14018]) Fix #206 while moving the definition of the
condition classes to lisp.

Note: See TracTickets for help on using tickets.