- ;; The condition must be literal so the this form kicks off the
- ;; MAKE-LOAD-FORM in the file-compiler for COMPILED-PROGRAM-ERROR,
- ;; not the encapsulated condition.
- `(error ,(make-condition 'compiled-program-error
- :condition condition
- :source source)))
+ `(error 'compiled-program-error
+ :message ,(princ-to-string condition)
+ :source ,(princ-to-string source)))
+
+;;; Fatal compiler errors. We export FATAL-COMPILER-ERROR as an
+;;; interface for errors that kill the compiler dead
+;;;
+;;; These are not a COMPILER-ERRORs, since we don't try to recover
+;;; from them and keep chugging along, but instead immediately bail
+;;; out of the entire COMPILE-FILE.
+
+(define-condition fatal-compiler-error (encapsulated-condition)
+ ())