X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Flate-target-error.lisp;h=1f470f44a52f7c6b06449d44d5934c706273b417;hb=0a7e5d543e632bfa478fd4a96b4d1f583c922553;hp=af708febcb902b1abf3ab7e31b35c89793888e86;hpb=231721189e1e2431597dc013aaf5eee01bc41a51;p=sbcl.git diff --git a/src/code/late-target-error.lisp b/src/code/late-target-error.lisp index af708fe..1f470f4 100644 --- a/src/code/late-target-error.lisp +++ b/src/code/late-target-error.lisp @@ -77,19 +77,6 @@ ;; If ALLOCATION is :CLASS, this is a cons whose car holds the value. (cell nil :type (or cons null))) -(eval-when (#-sb-xc :compile-toplevel :load-toplevel :execute) - ;; the appropriate initialization value for the CPL slot of a - ;; CONDITION, calculated by looking at the INHERITS information in - ;; the LAYOUT of the CONDITION - (defun condition-class-cpl-from-layout (condition) - (declare (type condition condition)) - (let* ((class (sb!xc:find-class condition)) - (layout (class-layout class)) - (superset (map 'list #'identity (layout-inherits layout)))) - (delete-if (lambda (superclass) - (not (typep superclass 'condition-class))) - superset)))) - ;;; KLUDGE: It's not clear to me why CONDITION-CLASS has itself listed ;;; in its CPL, while other classes derived from CONDITION-CLASS don't ;;; have themselves listed in their CPLs. This behavior is inherited @@ -560,8 +547,6 @@ (define-condition simple-warning (simple-condition warning) ()) -;;; This is the condition type used by ERROR and CERROR when -;;; a format-control string is supplied as the first argument. (define-condition simple-error (simple-condition error) ()) (define-condition storage-condition (serious-condition) ()) @@ -576,6 +561,8 @@ (type-error-datum condition) (type-error-expected-type condition))))) +(define-condition simple-type-error (simple-condition type-error) ()) + (define-condition program-error (error) ()) (define-condition parse-error (error) ()) (define-condition control-error (error) ())