0.8.17.30:
[sbcl.git] / src / code / condition.lisp
index 618db15..ecd3766 100644 (file)
   "Make an instance of a condition object using the specified initargs."
   ;; Note: ANSI specifies no exceptional situations in this function.
   ;; signalling simple-type-error would not be wrong.
-  (let* ((thing (if (symbolp thing)
-                   (find-classoid thing)
+  (let* ((thing (or (and (symbolp thing) (find-classoid thing nil))
                    thing))
         (class (typecase thing
                  (condition-classoid thing)
@@ -937,6 +936,12 @@ symbol that caused the violation is accessed by the function
 SB-EXT:PACKAGE-LOCKED-ERROR-SYMBOL."))
 
 ) ; progn
+
+(define-condition undefined-alien-error (error) ()
+  (:report
+   (lambda (condition stream)
+     (declare (ignore condition))
+     (format stream "Attempt to access an undefined alien value."))))
 \f
 ;;;; various other (not specified by ANSI) CONDITIONs
 ;;;;